menu_editor.module in Menu Editor 7
Same filename and directory in other branches
File
menu_editor.moduleView source
<?php
/**
* Implementation of hook_menu().
*/
function menu_editor_menu() {
$items['admin/structure/menu/manage/%menu/poweredit'] = array(
'title' => 'Power Edit',
/* @see drupal_get_form() */
'page callback' => 'drupal_get_form',
/* @see menu_editor_overview_form() */
'page arguments' => array(
'menu_editor_overview_form',
4,
),
// 'title callback' => 'menu_editor_overview_title',
// 'title arguments' => array(3),
/* @see menu_editor_form_access() */
'access callback' => 'menu_editor_form_access',
'access arguments' => array(
4,
),
'type' => MENU_LOCAL_TASK,
'file' => 'menu_editor.admin.inc',
);
return $items;
}
/**
* Implements hook_permission().
*/
function menu_editor_permission() {
$menus = menu_get_menus(TRUE);
$perm = array();
foreach ($menus as $menu_machine_name => $menu_display_name) {
$perm["menu edit {$menu_machine_name}"] = array(
'title' => t("Menu editor: Edit @menu", array(
'@menu' => $menu_display_name,
)),
);
}
return $perm;
}
/**
* @param array $menu
*
* @return bool
*/
function menu_editor_form_access($menu) {
return user_access('administer menu') || 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;
// }
/**
* Implements hook_theme().
*
* @return array[]
*/
function menu_editor_theme() {
return array(
'menu_editor_overview_form' => array(
'file' => 'menu_editor.admin.inc',
'render element' => 'form',
),
);
}
/**
* Implements hook_preprocess_THEMEHOOK
*
* @param array $variables
*
* @see theme_form()
*/
function menu_editor_preprocess_form(array &$variables) {
$form =& $variables['element'];
if (0 || !isset($form['#form_id']) || 'menu_editor_overview_form' !== $form['#form_id']) {
return;
}
$form['#children'] = '' . '<input type="hidden" name="menu_editor:max_input_vars_reached" value="1"/>' . $form['#children'] . '<input type="hidden" name="menu_editor:max_input_vars_reached" value="0"/>';
}
/**
* Title callback for the menu overview page and links.
*
* @param array $menu
*
* @return string
*/
function menu_editor_overview_title(array $menu) {
return $menu['title'];
}
/**
* @return string[]
*/
function menu_editor_get_placeholders() {
static $placeholders;
if (!isset($placeholders)) {
/* @see hook_menu_editor_placeholders() */
$placeholders = module_invoke_all('menu_editor_placeholders');
}
return $placeholders;
}
/**
* @param string $placeholder
* @param string|int $mlid
*
* @return string
*/
function menu_editor_get_path_for_placeholder($placeholder, $mlid) {
$placeholders = menu_editor_get_placeholders();
if (isset($placeholders[$placeholder])) {
return str_replace('%mlid', $mlid, $placeholders[$placeholder]);
}
return $placeholder;
}
Functions
Name![]() |
Description |
---|---|
menu_editor_form_access | |
menu_editor_get_path_for_placeholder | |
menu_editor_get_placeholders | |
menu_editor_menu | Implementation of hook_menu(). |
menu_editor_overview_title | Title callback for the menu overview page and links. |
menu_editor_permission | Implements hook_permission(). |
menu_editor_preprocess_form | Implements hook_preprocess_THEMEHOOK |
menu_editor_theme | Implements hook_theme(). |