menu_node.install
<?php
function menu_node_schema() {
$schema['menu_node'] = array(
'fields' => array(
'nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
'mlid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)),
'primary key' => array('nid', 'mlid'),
);
return $schema;
}
function menu_node_install() {
drupal_install_schema('menu_node');
}
function menu_node_uninstall() {
drupal_uninstall_schema('menu_node');
}
function menu_node_enable() {
$items = array();
$result = db_query("SELECT ml.mlid, ml.link_path FROM {menu_links} ml INNER JOIN {menu_custom} mc ON ml.menu_name = mc.menu_name WHERE ml.link_path LIKE 'node/%' AND ml.router_path = 'node/%%'");
while ($data = db_fetch_object($result)) {
$nid = str_replace('node/', '', $data->link_path);
$check = (bool) db_result(db_query("SELECT COUNT(*) FROM {node} WHERE nid = %d", $nid));
if ($check) {
db_query("INSERT INTO {menu_node} (nid, mlid) VALUES (%d, %d)", $nid, $data->mlid);
}
}
}
function menu_node_disable() {
db_query("DELETE FROM {menu_node}");
}
function menu_node_update_6000() {
$ret = array();
if (module_exists('book')) {
$result = db_query("SELECT mlid, nid FROM {book}");
while ($data = db_fetch_object($result)) {
menu_node_delete($data->nid, $data->mlid);
}
}
return $ret;
}