You are here

function i18n_menu_overview_menu in Menu per language - i18n menu overview 7.2

Same name and namespace in other branches
  1. 7.3 i18n_menu_overview.module \i18n_menu_overview_menu()

Implements hook_menu().

Return value

array arr menu items

File

./i18n_menu_overview.module, line 35
menu language module file displays menus per language

Code

function i18n_menu_overview_menu() {
  $menus = _i18n_menu_overview_get_enabled_menus();
  $enabled_i18n_menu_overviews = _i18n_menu_overview_get_enabled_languages();

  // Shows all the enabled menus in the enabled languages.
  foreach ($enabled_i18n_menu_overviews as $index => $enabled_mnu_language) {
    if (!empty($menus)) {
      foreach ($menus as $localized_menu_name => $menu) {
        $items['admin/structure/' . $menu . '_' . $enabled_mnu_language] = array(
          'title' => ucfirst($localized_menu_name) . ' : ' . $enabled_mnu_language,
          'description' => 'This is the ' . $localized_menu_name . ' edit page for language : ' . $enabled_mnu_language,
          'page callback' => 'drupal_get_form',
          'page arguments' => array(
            'i18n_menu_overview_menulanguage_form',
            $menu,
            $enabled_mnu_language,
          ),
          'file' => 'i18n_menu_overview_form.inc',
          'access arguments' => array(
            'administer ' . $menu . '_' . $enabled_mnu_language,
          ),
          'type' => MENU_NORMAL_ITEM,
        );

        // Shows tabs on the per language menu page to switch to other langs.
        foreach ($enabled_i18n_menu_overviews as $index => $other_i18n_menu_overviews) {
          if ($other_i18n_menu_overviews != $enabled_mnu_language) {
            $items['admin/structure/' . $menu . '_' . $enabled_mnu_language . '/tab_' . $menu . '_' . $other_i18n_menu_overviews] = array(
              'title' => ucfirst($localized_menu_name) . ' : ' . $other_i18n_menu_overviews,
              'page callback' => '_i18n_menu_overview_goto_menu',
              'page arguments' => array(
                $menu,
                $other_i18n_menu_overviews,
              ),
              'access arguments' => array(
                'administer ' . $menu . '_' . $enabled_mnu_language,
              ),
              'type' => MENU_LOCAL_TASK,
            );
          }
          else {

            // The lang where you are in.
            $items['admin/structure/' . $menu . '_' . $enabled_mnu_language . '/tab_' . $menu . '_' . $enabled_mnu_language] = array(
              'title' => ucfirst($localized_menu_name) . ' : ' . $other_i18n_menu_overviews,
              'type' => MENU_DEFAULT_LOCAL_TASK,
            );
          }
        }
      }
    }
  }

  // Admin section.
  $items['admin/config/regional/i18n_menu_overview'] = array(
    'title' => 'i18n Menu overview',
    'description' => 'Configure the i18n menu per language module.',
    'position' => 'left',
    'weight' => -20,
    'page callback' => 'system_admin_menu_block_page',
    'access arguments' => array(
      'administer site configuration',
    ),
    'file' => 'system.admin.inc',
    'file path' => drupal_get_path('module', 'system'),
  );
  $items['admin/config/regional/i18n_menu_overview/config'] = array(
    'title' => 'i18n Menu overview configuration',
    'description' => 'Configure menu per language module.',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'i18n_menu_overview_settings',
    ),
    'access arguments' => array(
      'administer site configuration',
    ),
    'file' => 'i18n_menu_overview.admin.inc',
  );
  return $items;
}