menu_link_maintain

Versions
6 – 7
menu_link_maintain($module, $op, $link_path, $link_title)

Insert, update or delete an uncustomized menu link related to a module.

Parameters

$module The name of the module.

$op Operation to perform: insert, update or delete.

$link_path The path this link points to.

$link_title Title of the link to insert or new title to update the link to. Unused for delete.

Return value

The insert op returns the mlid of the new item. Others op return NULL.

Related topics

Code

includes/menu.inc, line 2116

<?php
function menu_link_maintain($module, $op, $link_path, $link_title) {
  switch ($op) {
    case 'insert':
      $menu_link = array(
        'link_title' => $link_title,
        'link_path' => $link_path,
        'module' => $module,
      );
      return menu_link_save($menu_link);
      break;
    case 'update':
      db_query("UPDATE {menu_links} SET link_title = '%s' WHERE link_path = '%s' AND customized = 0 AND module = '%s'", $link_title, $link_path, $module);
      $result = db_query("SELECT menu_name FROM {menu_links} WHERE link_path = '%s' AND customized = 0 AND module = '%s'", $link_path, $module);
      while ($item = db_fetch_array($result)) {
        menu_cache_clear($item['menu_name']);
      }
      break;
    case 'delete':
      menu_link_delete(NULL, $link_path);
      break;
  }
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.