Ejemplo n.º 1
0
 /**
  * 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');
 }
Ejemplo n.º 2
0
 /**
  * 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();
 }
Ejemplo n.º 3
0
/**
 * 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;
}