Exemple #1
0
 /**
  * Loads initially the site menu into the menu_builder config.
  *
  * @param string  $hook   name of the hook
  * @param string  $type   type of the hook
  * @param unknown $return return value
  * @param unknown $params hook parameters
  *
  * @return array
  */
 public static function prepareSiteMenu($hook, $type, $return, $params)
 {
     if (elgg_get_plugin_setting('menu_builder_default_imported', 'menu_builder', false)) {
         return;
     }
     $menu = new \ColdTrick\MenuBuilder\Menu('site');
     if (!empty($menu->getMenuConfig())) {
         // found an already existing menu config... do not import
         elgg_set_plugin_setting('menu_builder_default_imported', time(), 'menu_builder');
         return;
     }
     $menu->save();
     // remove potential existing menu items
     elgg_unset_plugin_setting('menu_site_config', 'menu_builder');
     $priority = 10;
     foreach ($return as $section => $items) {
         $parent_name = null;
         if ($section !== 'default') {
             $menu->addMenuItem(['name' => $section, 'text' => elgg_echo($section), 'href' => '#', 'priority' => $priority]);
             $parent_name = $section;
             $priority += 10;
         }
         foreach ($items as $item) {
             $menu->addMenuItem(['name' => $item->getName(), 'text' => $item->getText(), 'href' => str_replace(elgg_get_site_url(), '', $item->getHref()), 'priority' => $priority, 'parent_name' => $parent_name]);
             $priority += 10;
         }
     }
     elgg_set_plugin_setting('menu_builder_default_imported', time(), 'menu_builder');
 }
Exemple #2
0
<?php

$menu_name = get_input('menu_name');
$item_name = get_input('item_name');
if (empty($menu_name)) {
    echo elgg_echo('error:missing_data');
    return;
}
$menu = new \ColdTrick\MenuBuilder\Menu($menu_name);
$menu_config = $menu->getMenuConfig();
$menu_item = elgg_extract($item_name, $menu_config, []);
$body_vars = ['menu_name' => $menu_name, 'menu_item' => $menu_item, 'parent_options' => $menu->getInputOptions($item_name)];
echo elgg_view_form('menu_builder/menu_item/edit', [], $body_vars);
Exemple #3
0
<?php

$name = get_input('item_name');
$menu_name = get_input('menu_name');
$menu = new \ColdTrick\MenuBuilder\Menu($menu_name);
$menu_items = $menu->getMenuConfig();
if (empty($menu_items)) {
    return;
}
menu_builder_delete_menu_item($name, $menu_items);
$menu->setMenuConfig($menu_items);
system_message(elgg_echo('menu_builder:actions:delete:success'));
forward("admin/appearance/menu_items?menu_name={$menu_name}");