Beispiel #1
0
/**
 * Page setup function for Menu Builder
 *
 * @return void
 */
function menu_builder_pagesetup()
{
    if (menu_builder_is_managed_menu('site')) {
        // take control of menu setup
        elgg_unregister_plugin_hook_handler('prepare', 'menu:site', '_elgg_site_menu_setup');
    }
    $managed_menus = menu_builder_get_managed_menus();
    foreach ($managed_menus as $menu_name) {
        elgg_register_plugin_hook_handler('register', "menu:{$menu_name}", '\\ColdTrick\\MenuBuilder\\MenuHooks::registerAllMenu', 999);
        elgg_register_plugin_hook_handler('prepare', "menu:{$menu_name}", '\\ColdTrick\\MenuBuilder\\MenuHooks::prepareAllMenu', 999);
        if (!elgg_in_context('admin')) {
            // extend view for cache output
            elgg_extend_view("navigation/menu/{$menu_name}", 'menu_builder/menu_cache', 400);
            elgg_register_plugin_hook_handler('view', "navigation/menu/{$menu_name}", '\\ColdTrick\\MenuBuilder\\MenuHooks::afterViewMenu', 9999);
        }
    }
}
Beispiel #2
0
<?php

elgg_require_js('menu_builder/manage_menu_items');
$menus = menu_builder_get_managed_menus();
$selected = get_input('menu_name');
if (!empty($selected) && !menu_builder_is_managed_menu($selected)) {
    $selected = null;
}
$tabs = [];
if (!empty($menus)) {
    $menu_list = '';
    foreach ($menus as $menu) {
        if (empty($selected)) {
            $selected = $menu;
        }
        $class = 'hidden';
        if ($menu === $selected) {
            $class = '';
        }
        $menu_list .= elgg_view('menu_builder/admin/edit_menu', ['menu' => $menu, 'class' => $class, 'rel' => $menu]);
        $tabs[] = ['text' => elgg_echo('menu:' . elgg_get_friendly_title($menu) . ':header:default'), 'selected' => $menu === $selected, 'rel' => $menu, 'href' => 'javascript:void(0)'];
    }
} else {
    $menu_list = elgg_echo('notfound');
}
$tabs[] = ['text' => ' <strong>+</strong> ' . elgg_echo('menu_builder:admin:menu:add'), 'id' => 'menu-builder-add-menu', 'href' => 'javascript:void(0)'];
$menu_list = elgg_view('navigation/tabs', ['tabs' => $tabs, 'class' => 'menu-builder-admin-tabs']) . $menu_list;
echo elgg_view_module('inline', elgg_echo('menu_builder:admin:menu:list'), $menu_list);
Beispiel #3
0
<?php

/**
 * Site navigation menu
 */
if (menu_builder_is_managed_menu('site')) {
    if (!elgg_in_context('admin')) {
        elgg_load_css('menu_builder_site');
    }
    if (empty($vars['menu']['default'])) {
        return;
    }
    echo elgg_view('navigation/menu/default', $vars);
    return;
}
// revert to default behaviour
/**
 * Site navigation menu
*
* @uses $vars['menu']['default']
* @uses $vars['menu']['more']
*/
$default_items = elgg_extract('default', $vars['menu'], array());
$more_items = elgg_extract('more', $vars['menu'], array());
echo '<ul class="elgg-menu elgg-menu-site elgg-menu-site-default clearfix">';
foreach ($default_items as $menu_item) {
    echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item));
}
if ($more_items) {
    echo '<li class="elgg-more">';
    $more = elgg_echo('more');