View source
<?php
function custom_breadcrumbs_install() {
switch ($GLOBALS['db_type']) {
case 'mysql':
case 'mysqli':
db_query("CREATE TABLE {custom_breadcrumb} (\n bid int unsigned NOT NULL auto_increment,\n titles varchar(255) NOT NULL default '',\n paths varchar(255) NOT NULL default '',\n visibility_php text NOT NULL default '',\n node_type varchar(64) default '',\n PRIMARY KEY (bid)\n ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
break;
case 'pgsql':
db_query("CREATE TABLE {custom_breadcrumb} (\n bid serial CHECK (bid >= 0),\n titles varchar(255) NOT NULL default '',\n paths varchar(255) NOT NULL default '',\n visibility_php text NOT NULL default '',\n node_type varchar(64) default ''\n )");
db_query("CREATE INDEX {custom_breadcrumb}_bid_idx ON {custom_breadcrumb} (bid)");
break;
}
}
function custom_breadcrumbs_update_1() {
$ret = array();
$stuff = array(
'%author_id' => '[author-uid]',
'%author_name' => '[author-name]',
'%user_id' => '[user-id]',
'%user_name' => '[user-name]',
'%node_id' => '[nid]',
'%node_type' => '[type]',
'%node_type_name' => '[type-name]',
'%top_term' => '[term]',
'%top_tname' => '[term-id]',
'%created_d' => '[dd]',
'%created_D' => '[ddd]',
'%created_j' => '[d]',
'%created_l' => '[day]',
'%created_F' => '[month]',
'%created_m' => '[mm]',
'%created_M' => '[mon]',
'%created_n' => '[m]',
'%created_y' => '[yy]',
'%created_Y' => '[yyyy]',
);
$search = array_keys($stuff);
$replace = array_values($stuff);
$result = db_query("SELECT * FROM {custom_breadcrumb}");
while ($crumb = db_fetch_object($result)) {
$crumb->titles = str_replace($search, $replace, $crumb->titles);
$crumb->paths = str_replace($search, $replace, $crumb->paths);
custom_breadcrumbs_save_breadcrumb($crumb);
}
$ret[] = array(
'success' => TRUE,
'query' => 'Custom Breadcrumb replacement strings updated for use with Token module.',
);
return $ret;
}
function custom_breadcrumbs_update_2() {
$ret = array();
switch ($GLOBALS['db_type']) {
case 'mysql':
case 'mysqli':
$ret[] = update_sql("ALTER TABLE {custom_breadcrumb} ADD visibility_php text NOT NULL default ''");
break;
case 'pgsql':
db_add_column($ret, 'custom_breadcrumb', 'visibility_php', 'text', array(
'not null' => TRUE,
'default' => "''",
));
break;
}
return $ret;
}
function custom_breadcrumbs_uninstall() {
db_query('DROP TABLE {custom_breadcrumb}');
}