View source
<?php
function menu_editor_menu() {
$items['admin/build/menu-customize/%menu/poweredit'] = array(
'title' => 'Power Edit',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'menu_editor_overview_form',
3,
),
'access callback' => 'menu_editor_form_access',
'access arguments' => array(
3,
),
'type' => MENU_LOCAL_TASK,
'file' => 'menu_editor.admin.inc',
);
return $items;
}
function menu_editor_perm() {
$result = db_query("SELECT menu_name FROM {menu_custom} ORDER BY title");
$perm = array();
while ($menu = db_fetch_array($result)) {
$perm[] = "menu edit {$menu['menu_name']}";
}
return $perm;
}
function menu_editor_form_access($menu) {
return user_access('administer menus') || user_access("menu edit {$menu['menu_name']}");
}
function menu_editor_admin_menu() {
$result = db_query("SELECT * FROM {menu_custom} ORDER BY title");
$items = array();
while ($menu = db_fetch_array($result)) {
$items[] = array(
'title' => $menu['title'],
'path' => 'admin/build/menu-customize/' . $menu['menu_name'] . '/poweredit',
'parent_path' => 'admin/build/menu/list',
'weight' => 100,
);
}
return $items;
}
function menu_editor_theme() {
return array(
'menu_editor_overview_form' => array(
'file' => 'menu_editor.admin.inc',
'arguments' => array(
'form' => NULL,
),
),
);
}
function menu_editor_overview_title($menu) {
return $menu['title'];
}
function menu_editor_get_placeholders() {
static $placeholders;
if (!isset($placeholders)) {
$placeholders = module_invoke_all('menu_editor_placeholders');
}
return $placeholders;
}
function menu_editor_get_path_for_placeholder($placeholder, $mlid) {
static $placeholders;
if (!isset($placeholders)) {
$placeholders = module_invoke_all('menu_editor_placeholders');
}
if (isset($placeholders[$placeholder])) {
return str_replace('%mlid', $mlid, $placeholders[$placeholder]);
}
return $placeholder;
}