You are here

menu_editor.module in Menu Editor 6

Same filename and directory in other branches
  1. 6.3 menu_editor.module
  2. 6.2 menu_editor.module
  3. 7 menu_editor.module

File

menu_editor.module
View source
<?php

/**
 * Implementation of hook_menu().
 */
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,
    ),
    // 'title callback' => 'menu_editor_overview_title',
    // 'title arguments' => array(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;
}

/**
 * Implemenation of hook_theme().
 */
function menu_editor_theme() {
  return array(
    'menu_editor_overview_form' => array(
      'file' => 'menu_editor.admin.inc',
      'arguments' => array(
        'form' => NULL,
      ),
    ),
  );
}

/**
 * Title callback for the menu overview page and links.
 */
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;
}