* @copyright 2019 MyAAC * @link https://my-aac.org */ use MyAAC\Models\Menu; defined('MYAAC') or die('Direct access not allowed!'); $title = 'Menus'; if (!hasFlag(FLAG_CONTENT_MENUS) && !superAdmin()) { echo 'Access denied.'; return; } if (isset($_REQUEST['template'])) { $template = $_REQUEST['template']; if (isset($_REQUEST['menu'])) { $post_menu = $_REQUEST['menu']; $post_menu_link = $_REQUEST['menu_link']; $post_menu_blank = $_REQUEST['menu_blank']; $post_menu_color = $_REQUEST['menu_color']; if (count($post_menu) != count($post_menu_link)) { echo 'Menu count is not equal menu links. Something went wrong when sending form.'; return; } Menu::where('template', $template)->delete(); foreach ($post_menu as $category => $menus) { foreach ($menus as $i => $menu) { if (empty($menu)) // don't save empty menu item continue; try { Menu::create([ 'template' => $template, 'name' => $menu, 'link' => $post_menu_link[$category][$i], 'blank' => $post_menu_blank[$category][$i] == 'on' ? 1 : 0, 'color' => str_replace('#', '', $post_menu_color[$category][$i]), 'category' => $category, 'ordering' => $i ]); } catch (PDOException $error) { warning('Error while adding menu item (' . $menu . '): ' . $error->getMessage()); } } } $cache = Cache::getInstance(); if ($cache->enabled()) { $cache->delete('template_menus'); } success('Saved at ' . date('H:i')); } $file = TEMPLATES . $template . '/config.php'; if (file_exists($file)) { require_once $file; } else { echo 'Cannot find template config.php file.'; return; } if (isset($_REQUEST['reset_colors'])) { if (isset($config['menu_default_color'])) { Menu::where('template', $template)->update(['color' => str_replace('#', '', $config['menu_default_color'])]); } else { warning('There is no default color defined, cannot reset colors.'); } } if (!isset($config['menu_categories'])) { echo "No menu categories set in template config.php.
This template doesn't support dynamic menus."; return; } $title = 'Menus - ' . $template; ?>

You are editing:

Hint: You can drag menu items.
Hint: Add links to external sites using: http:// or https:// prefix.
Not all templates support blank and colorful links.


select('name', 'link', 'blank', 'color', 'category', 'ordering') ->where('enabled', 1) ->where('template', $template) ->orderBy('ordering') ->get() ->groupBy('category') ->toArray(); $last_id = array(); ?> display('admin.menus.js.html.twig', array( 'menus' => $menus, 'last_id' => $last_id, 'menu_default_color' => $config['menu_default_color'] ?? '#ffffff' )); ?> distinct()->get()->toArray(); foreach ($templates as $key => $value) { $file = TEMPLATES . $value['template'] . '/config.php'; if (!file_exists($file)) { unset($templates[$key]); } } $twig->display('admin.menus.form.html.twig', array( 'templates' => $templates )); }