Exemple #1
0
    if (!empty($parent_name) && $parent_name === $sanitised_name) {
        $parent_name_found = true;
        $parent_name = $key;
    }
}
if (!$item_name_found) {
    register_error(elgg_echo('error:missing_data'));
    return;
}
if (!empty($parent_name) && !$parent_name_found) {
    register_error(elgg_echo('error:missing_data'));
    return;
}
if ($parent_name_found) {
    $menu_config[$item_name]['parent_name'] = $parent_name;
} else {
    unset($menu_config[$item_name]['parent_name']);
}
foreach ($menu_config as $key => $value) {
    // internal menu names get sanitized as class in menus, so look up matching items in config
    $sanitised_name = strtolower($key);
    $sanitised_name = str_replace('_', '-', $sanitised_name);
    $sanitised_name = str_replace(':', '-', $sanitised_name);
    $sanitised_name = str_replace(' ', '-', $sanitised_name);
    if (!in_array($sanitised_name, $items)) {
        continue;
    }
    $menu_config[$key]['priority'] = array_search($sanitised_name, $items);
}
$menu->setMenuConfig($menu_config);
Exemple #2
0
<?php

$menu_name = get_input('menu_name');
$contents = get_uploaded_file('import');
if (empty($contents)) {
    register_error(elgg_echo('menu_builder:actions:import:error:upload'));
    forward(REFERER);
}
$config = json_decode($contents, true);
if (!is_array($config) || empty($config)) {
    register_error(elgg_echo('menu_builder:actions:import:error:invalid:content'));
    forward(REFERER);
}
// assume we're good at this point, delete current menu
$menu = new \ColdTrick\MenuBuilder\Menu($menu_name);
$menu->setMenuConfig();
// removes the current config
foreach ($config as $item) {
    // convert old export to new format
    if (isset($item['guid'])) {
        $item['name'] = $item['guid'];
        unset($item['guid']);
    }
    if (isset($item['title'])) {
        $item['text'] = $item['title'];
        unset($item['title']);
    }
    if (isset($item['url'])) {
        $item['href'] = $item['url'];
        unset($item['url']);
    }
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}");