* @copyright 2017 MyAAC * @link http://my-aac.org */ 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']; if(count($post_menu) != count($post_menu_link)) { echo 'Menu count is not equal menu links. Something went wrong when sending form.'; return; } $db->query('DELETE FROM `' . TABLE_PREFIX . 'menu` WHERE `template` = ' . $db->quote($template)); foreach($post_menu as $category => $menus) { foreach($menus as $i => $menu) { if(empty($menu)) // don't save empty menu item continue; try { $db->insert(TABLE_PREFIX . 'menu', array('template' => $template, 'name' => $menu, 'link' => $post_menu_link[$category][$i], 'category' => $category, 'ordering' => $i)); } catch(PDOException $error) { warning('Error while adding menu item (' . $menu . '): ' . $error->getMessage()); } } } 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($config['menu_categories'])) { echo "No menu categories set in template config.php.
This template doesn't support dynamic menus."; return; } echo 'Hint: You can drag menu items.
Editing: ' . $template . ' template.'; $menus = array(); $menus_db = $db->query('SELECT `name`, `link`, `category`, `ordering` FROM `' . TABLE_PREFIX . 'menu` WHERE `enabled` = 1 AND `template` = ' . $db->quote($template) . ' ORDER BY `ordering` ASC;')->fetchAll(); foreach($menus_db as $menu) { $menus[$menu['category']][] = array('name' => $menu['name'], 'link' => $menu['link'], 'ordering' => $menu['ordering']); } $last_id = array(); echo '
'; echo ''; foreach($config['menu_categories'] as $id => $cat) { echo '

' . $cat['name'] . '

'; echo ''; } echo ''; echo ''; echo '
'; echo $twig->render('admin.menus.js.html.twig', array( 'menus' => $menus, 'last_id' => $last_id )); } else { $templates = $db->query('SELECT `template` FROM `' . TABLE_PREFIX . 'menu` GROUP BY `template`;')->fetchAll(); foreach($templates as $key => $value) { $file = TEMPLATES . $value['template'] . '/config.php'; if(!file_exists($file)) { unset($templates[$key]); } } echo $twig->render('admin.menus.form.html.twig', array( 'templates' => $templates )); } ?>