function i18n_menu_overview_menu in Menu per language - i18n menu overview 7.3
Same name and namespace in other branches
- 7.2 i18n_menu_overview.module \i18n_menu_overview_menu()
Implements hook_menu().
Return value
array arr menu items
File
- ./
i18n_menu_overview.module, line 54 - menu language module file displays menus per language
Code
function i18n_menu_overview_menu() {
global $language;
$menus = _i18n_menu_overview_get_enabled_menus();
$enabled_i18n_menu_overviews = i18n_language_list();
$type_of_menu_listing = variable_get('i18n_menu_overview_type_of_structure_overview', I18N_MENU_OVERVIEW_DEFAULT_NAME);
$i18n_menu_overview_type_of_detail_overview = variable_get(I18N_MENU_OVERVIEW_ADMIN_SETTING_DETAIL_MENU, I18N_MENU_OVERVIEW_DEFAULT_NAME);
// Shows all the enabled menus in the enabled languages.
foreach ($enabled_i18n_menu_overviews as $menu_language => $language_name) {
if (!empty($menus)) {
foreach ($menus as $localized_menu_name => $menu) {
$current_menu_per_language_name = 'admin/structure/' . $menu . '_' . $menu_language;
$items[$current_menu_per_language_name] = array(
'title' => ucfirst($localized_menu_name) . ' : ' . $menu_language,
'description' => 'This is the ' . $localized_menu_name . ' edit page for language : ' . $menu_language,
'page callback' => 'drupal_get_form',
'page arguments' => array(
'i18n_menu_overview_menulanguage_form',
$menu,
$menu_language,
),
'file' => 'i18n_menu_overview_form.inc',
'access callback' => '_i18n_menu_overview_menu_access',
'access arguments' => array(
'administer ' . $menu . '_' . $menu_language,
),
'type' => MENU_NORMAL_ITEM,
);
if ($type_of_menu_listing != I18N_MENU_OVERVIEW_DEFAULT_NAME) {
if ($type_of_menu_listing == I18N_MENU_OVERVIEW_LOCAL_ACTION) {
$items['admin/structure/' . $menu . '_' . $menu_language]['type'] = MENU_LOCAL_ACTION;
}
else {
$items['admin/structure/' . $menu . '_' . $menu_language]['type'] = MENU_SUGGESTED_ITEM;
// Just on menu item on the structure page.
if ($menu_language == $language->language) {
$items['admin/structure/' . $menu . '_' . $menu_language] = array(
'title' => t('i18n:') . ' ' . ucfirst($localized_menu_name),
'description' => 'This is the i18n ' . $localized_menu_name . ' edit page',
'page callback' => 'drupal_get_form',
'page arguments' => array(
'i18n_menu_overview_menulanguage_form',
$menu,
$menu_language,
),
'file' => 'i18n_menu_overview_form.inc',
'access callback' => '_i18n_menu_overview_menu_access',
'access arguments' => array(
'administer ' . $menu . '_' . $menu_language,
),
'type' => MENU_NORMAL_ITEM,
);
}
}
}
// Shows tabs on the per language menu page to switch to other langs.
foreach ($enabled_i18n_menu_overviews as $other_menu_language => $language_name) {
if ($other_menu_language != $menu_language) {
$items['admin/structure/' . $menu . '_' . $menu_language . '/tab_' . $menu . '_' . $other_menu_language] = array(
'title' => ucfirst($localized_menu_name) . ' : ' . $other_menu_language,
'page callback' => '_i18n_menu_overview_goto_menu',
'page arguments' => array(
$menu,
$other_menu_language,
),
'access callback' => '_i18n_menu_overview_menu_access',
'access arguments' => array(
'administer ' . $menu . '_' . $other_menu_language,
),
'type' => MENU_LOCAL_TASK,
);
if ($i18n_menu_overview_type_of_detail_overview == I18N_MENU_OVERVIEW_MENU_LISTING) {
$items['admin/structure/' . $menu . '_' . $menu_language . '/tab_' . $menu . '_' . $other_menu_language]['type'] = MENU_NORMAL_ITEM;
}
if ($i18n_menu_overview_type_of_detail_overview == I18N_MENU_OVERVIEW_LOCAL_ACTION) {
$items['admin/structure/' . $menu . '_' . $menu_language . '/tab_' . $menu . '_' . $other_menu_language]['type'] = MENU_LOCAL_ACTION;
}
}
else {
// The lang where you are in.
$items['admin/structure/' . $menu . '_' . $menu_language . '/tab_' . $menu . '_' . $menu_language] = array(
'title' => ucfirst($localized_menu_name) . ' : ' . $other_menu_language,
'type' => MENU_DEFAULT_LOCAL_TASK,
);
//if ($i18n_menu_overview_type_of_detail_overview == I18N_MENU_OVERVIEW_MENU_LISTING) {
// $items['admin/structure/' . $menu . '_' . $enabled_mnu_language . '/tab_' . $menu . '_' . $enabled_mnu_language]['type'] = MENU_NORMAL_ITEM;
//}
if ($i18n_menu_overview_type_of_detail_overview == I18N_MENU_OVERVIEW_LOCAL_ACTION) {
$items['admin/structure/' . $menu . '_' . $menu_language . '/tab_' . $menu . '_' . $menu_language]['type'] = MENU_LOCAL_ACTION;
}
}
}
}
}
}
// 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;
}