/** * Standard modular run function. * * @return tempcode The result of execution. */ function run() { require_code('templates_donext'); require_code('menus'); require_all_lang(); if ((!has_specific_permission(get_member(), 'avoid_simplified_adminzone_look') || $GLOBALS['FORUM_DRIVER']->is_super_admin(get_member())) && num_staff_icons() < MIN_STAFF_ICONS_BEFORE_COLLAPSE) { return do_next_manager_admin_simplified(); } return do_next_manager_hooked('CMS_ZONE', 'DOC_CMS', 'cms', 'MODULE_TRANS_NAME_cms'); }
/** * Standard modular run function. * * @return tempcode The result of execution. */ function run() { require_code('templates_donext'); require_code('menus'); require_all_lang(); $type = get_param('type', 'misc'); if ((!has_specific_permission(get_member(), 'avoid_simplified_adminzone_look') || $GLOBALS['FORUM_DRIVER']->is_super_admin(get_member())) && num_staff_icons() < MIN_STAFF_ICONS_BEFORE_COLLAPSE) { if ($type == 'misc') { return do_next_manager_admin_simplified(); } } // Warning about whether the Setup Wizard still needs running if (get_param_integer('cancel_sw_warn', 0) == 1 || !addon_installed('setupwizard')) { set_value('setup_wizard_completed', '1'); } else { $_done_sw_once = get_value('setup_wizard_completed'); $done_sw_once = !is_null($_done_sw_once); if (!$done_sw_once && get_param('page', '') != 'admin_setupwizard' && has_actual_page_access(get_member(), 'admin_setupwizard')) { $setup_wizard_url = build_url(array('page' => 'admin_setupwizard'), get_module_zone('admin_setupwizard')); $cancel_sw_url = get_self_url(false, false, array('cancel_sw_warn' => 1)); attach_message(do_lang_tempcode('SETUP_WIZARD_NOT_RUN', escape_html($setup_wizard_url->evaluate()), escape_html($cancel_sw_url->evaluate())), 'notice'); } } switch ($type) { case 'misc': return do_next_manager_hooked('ADMIN_ZONE', 'DOC_ADMIN_ZONE', ''); case 'structure': return do_next_manager_hooked('STRUCTURE', 'DOC_STRUCTURE', 'structure'); case 'usage': return do_next_manager_hooked('USAGE', 'DOC_USAGE', 'usage'); case 'style': return do_next_manager_hooked('STYLE', 'DOC_STYLE', 'style'); case 'setup': return do_next_manager_hooked('SETUP', 'DOC_SETUP', 'setup'); case 'tools': return do_next_manager_hooked('TOOLS', 'DOC_TOOLS', 'tools'); case 'security': return do_next_manager_hooked('SECURITY', 'DOC_SECURITY', 'security'); case 'search': return $this->search(); } return new ocp_tempcode(); }
/** * Build management menu. * * @return array Faked database rows */ function build_management_menu() { if (is_guest()) { return array(); } require_lang('menus'); require_lang('security'); $sections = array('start' => array('TOOLTIP' => do_lang('MM_TOOLTIP_START'), 'CURRENT' => false, 'URL' => 'adminzone:', 'CAPTION' => do_lang('ADMIN_HOME'), 'IMG' => 'menu_items/management_navigation/start'), 'usage' => array('TOOLTIP' => do_lang('MM_TOOLTIP_USAGE'), 'CURRENT' => false, 'URL' => 'adminzone:admin:usage', 'CAPTION' => do_lang('USAGE'), 'IMG' => 'menu_items/management_navigation/usage'), 'security' => array('TOOLTIP' => do_lang('MM_TOOLTIP_SECURITY'), 'CURRENT' => false, 'URL' => 'adminzone:admin:security', 'CAPTION' => do_lang('SECURITY'), 'IMG' => 'menu_items/management_navigation/security'), 'setup' => array('TOOLTIP' => do_lang('MM_TOOLTIP_SETUP'), 'CURRENT' => false, 'URL' => 'adminzone:admin:setup', 'CAPTION' => do_lang('SETUP'), 'IMG' => 'menu_items/management_navigation/setup'), 'structure' => array('TOOLTIP' => do_lang('MM_TOOLTIP_STRUCTURE'), 'CURRENT' => false, 'URL' => 'adminzone:admin:structure', 'CAPTION' => do_lang('STRUCTURE'), 'IMG' => 'menu_items/management_navigation/structure'), 'style' => array('TOOLTIP' => do_lang('MM_TOOLTIP_STYLE'), 'CURRENT' => false, 'URL' => 'adminzone:admin:style', 'CAPTION' => do_lang('STYLE'), 'IMG' => 'menu_items/management_navigation/style'), 'tools' => array('TOOLTIP' => do_lang('MM_TOOLTIP_TOOLS'), 'CURRENT' => false, 'URL' => 'adminzone:admin:tools', 'CAPTION' => do_lang('TOOLS'), 'IMG' => 'menu_items/management_navigation/tools'), 'cms' => array('TOOLTIP' => do_lang('MM_TOOLTIP_CMS'), 'CURRENT' => false, 'URL' => 'cms:cms', 'CAPTION' => do_lang('CONTENT'), 'IMG' => 'menu_items/management_navigation/cms')); if (get_page_name() == 'admin' && array_key_exists(get_param('type', ''), $sections)) { $sections[get_param('type')]['CURRENT'] = true; } if (get_page_name() == 'cms') { $sections['cms']['CURRENT'] = true; } if (get_zone_name() == 'adminzone' && get_page_name() == 'start') { $sections['start']['CURRENT'] = true; } if ((!has_specific_permission(get_member(), 'avoid_simplified_adminzone_look') || $GLOBALS['FORUM_DRIVER']->is_super_admin(get_member())) && num_staff_icons() < MIN_STAFF_ICONS_BEFORE_COLLAPSE) { if (num_staff_icons() < MIN_STAFF_ICONS_BEFORE_COLLAPSE) { $sections = array(); $sections[''] = array('TOOLTIP' => '', 'CURRENT' => false, 'URL' => build_url(array('page' => ''), 'site'), 'CAPTION' => do_lang('SITE'), 'IMG' => 'menu_items/management_navigation/start'); if (has_zone_access(get_member(), 'adminzone')) { $sections['start'] = array('TOOLTIP' => '', 'CURRENT' => false, 'URL' => build_url(array('page' => ''), 'adminzone'), 'CAPTION' => do_lang('GUIDE'), 'IMG' => 'menu_items/management_navigation/setup'); } $sections['admin'] = array('TOOLTIP' => '', 'CURRENT' => false, 'URL' => build_url(array('page' => 'cms'), 'cms'), 'CAPTION' => do_lang('OPTIONS'), 'IMG' => 'menu_items/management_navigation/cms'); } } if (has_zone_access(get_member(), 'adminzone')) { $docs_url = get_option('show_docs') == '0' ? build_url(array('page' => 'website'), 'adminzone') : make_string_tempcode(brand_base_url() . '/docs' . strval(ocp_version()) . '/'); $sections['docs'] = array('TOOLTIP' => do_lang('MM_TOOLTIP_DOCS'), 'CURRENT' => false, 'URL' => $docs_url, 'CAPTION' => do_lang('DOCS'), 'IMG' => 'menu_items/management_navigation/docs'); } $items = array(); $hooks = find_all_hooks('systems', 'do_next_menus'); $collect = array(); foreach ($hooks as $hook => $sources_dir) { $run_function = extract_module_functions(get_file_base() . '/' . $sources_dir . '/hooks/systems/do_next_menus/' . $hook . '.php', array('run'), array(true)); if (!is_null($run_function[0])) { $collect = array_merge($collect, is_array($run_function[0]) ? call_user_func_array($run_function[0][0], $run_function[0][1]) : eval($run_function[0])); } } $i = 1; require_all_lang(); global $M_SORT_KEY; $M_SORT_KEY = 'cap'; foreach ($sections as $type => $section) { if (count($sections) > 4 || $type == 'admin') { $virtual_type = $type == 'admin' ? '' : $type; $items2 = build_stored_menu_hooked($collect, $virtual_type, -$i); usort($items2, 'multi_sort'); } else { $items2 = array(); } if (count($items2) != 0 || is_object($section['URL']) || $section['URL'] != '') { $items[] = array('id' => -$i, 'i_parent' => NULL, 'cap' => $section['CAPTION'], 'i_caption_long' => $section['TOOLTIP'], 'i_url' => $section['URL'], 'i_theme_img_code' => $section['IMG'], 'i_check_permissions' => 1, 'i_expanded' => 0, 'i_new_window' => 0, 'i_page_only' => ''); $items = array_merge($items, $items2); $i++; } } return $items; }