/** * Main */ public static function main() { // Get menu table MenuAdmin::$menu = new Table('menu'); // Get pages table $pages = new Table('pages'); // Create target array $menu_item_target_array = array('' => '', '_blank' => '_blank', '_parent' => '_parent', '_top' => '_top'); // Create order array $menu_item_order_array = range(0, 40); // Check for get actions // --------------------------------------------- if (Request::get('action')) { // Switch actions // ----------------------------------------- switch (Request::get('action')) { // Edit menu item // ----------------------------------------- case "edit": // Select item $item = MenuAdmin::$menu->select('[id="' . Request::get('item_id') . '"]', null); $menu_item_name = $item['name']; $menu_item_link = $item['link']; $menu_item_category = $item['category']; $menu_item_target = $item['target']; $menu_item_order = $item['order']; $errors = array(); // Edit current menu item if (Request::post('menu_add_item')) { if (Security::check(Request::post('csrf'))) { if (trim(Request::post('menu_item_name')) == '') { if (Request::post('menu_item_name')) { $menu_item_name = Request::post('menu_item_name'); } else { $menu_item_name = $item['name']; } if (Request::post('menu_item_link')) { $menu_item_link = Request::post('menu_item_link'); } else { $menu_item_link = $item['link']; } if (Request::post('menu_item_category')) { $menu_item_category = Request::post('menu_item_category'); } else { $menu_item_category = $item['category']; } if (Request::post('menu_item_target')) { $menu_item_target = Request::post('menu_item_target'); } else { $menu_item_target = $item['target']; } if (Request::post('menu_item_order')) { $menu_item_order = Request::post('menu_item_order'); } else { $menu_item_order = $item['order']; } $errors['menu_item_name_empty'] = __('Required field', 'menu'); } // Update menu item if (count($errors) == 0) { MenuAdmin::$menu->update(Request::get('item_id'), array('name' => Request::post('menu_item_name'), 'link' => Request::post('menu_item_link'), 'category' => Security::safeName(Request::post('menu_item_category'), '-', true), 'target' => Request::post('menu_item_target'), 'order' => Request::post('menu_item_order'))); Request::redirect('index.php?id=menu'); } } else { die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); } } // Display view View::factory('box/menu/views/backend/edit')->assign('menu_item_name', $menu_item_name)->assign('menu_item_link', $menu_item_link)->assign('menu_item_category', $menu_item_category)->assign('menu_item_target', $menu_item_target)->assign('menu_item_order', $menu_item_order)->assign('menu_item_target_array', $menu_item_target_array)->assign('menu_item_order_array', $menu_item_order_array)->assign('errors', $errors)->assign('categories', MenuAdmin::getCategories())->assign('pages_list', MenuAdmin::getPages())->assign('components_list', MenuAdmin::getComponents())->display(); break; // Add menu item // ----------------------------------------- // Add menu item // ----------------------------------------- case "add": $menu_item_name = ''; $menu_item_link = ''; $menu_item_category = ''; $menu_item_target = ''; $menu_item_order = ''; $errors = array(); // Get current category $menu_item_category = $current_category = Request::get('category') ? Request::get('category') : ''; // Add new menu item if (Request::post('menu_add_item')) { if (Security::check(Request::post('csrf'))) { if (trim(Request::post('menu_item_name')) == '') { if (Request::post('menu_item_name')) { $menu_item_name = Request::post('menu_item_name'); } else { $menu_item_name = ''; } if (Request::post('menu_item_link')) { $menu_item_link = Request::post('menu_item_link'); } else { $menu_item_link = ''; } if (Request::post('menu_item_category')) { $menu_item_category = Request::post('menu_item_category'); } else { $menu_item_category = $current_category; } if (Request::post('menu_item_target')) { $menu_item_target = Request::post('menu_item_target'); } else { $menu_item_target = ''; } if (Request::post('menu_item_order')) { $menu_item_order = Request::post('menu_item_order'); } else { $menu_item_order = ''; } $errors['menu_item_name_empty'] = __('Required field', 'menu'); } // Insert new menu item if (count($errors) == 0) { MenuAdmin::$menu->insert(array('name' => Request::post('menu_item_name'), 'link' => Request::post('menu_item_link'), 'category' => Security::safeName(Request::post('menu_item_category'), '-', true), 'target' => Request::post('menu_item_target'), 'order' => Request::post('menu_item_order'))); Request::redirect('index.php?id=menu'); } } else { die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); } } // Display view View::factory('box/menu/views/backend/add')->assign('menu_item_name', $menu_item_name)->assign('menu_item_link', $menu_item_link)->assign('menu_item_category', $menu_item_category)->assign('menu_item_target', $menu_item_target)->assign('menu_item_order', $menu_item_order)->assign('menu_item_target_array', $menu_item_target_array)->assign('menu_item_order_array', $menu_item_order_array)->assign('errors', $errors)->assign('categories', MenuAdmin::getCategories())->assign('pages_list', MenuAdmin::getPages())->assign('components_list', MenuAdmin::getComponents())->display(); break; } } else { // Delete menu item if (Request::get('delete_item')) { MenuAdmin::$menu->delete((int) Request::get('delete_item')); } // Display view View::factory('box/menu/views/backend/index')->assign('categories', MenuAdmin::getCategories())->assign('menu', MenuAdmin::$menu)->display(); } }
<?php require_once __DIR__ . '/../sys/MenuAdmin.class.php'; require_once __DIR__ . '/../sys/ModulesAdmin.class.php'; $amenu = new MenuAdmin($db, $sys_menu); $amods = new ModulesAdmin($db); //Load data for lists $opts = $amenu->make_SelectOptStr(); $menuSelect = $opts['main_menu']; $subSelect = $opts['sub_menu']; switch ($getset->header(FORM_ACTION)) { case FORM_ACTION_SAVE: $amods->set_Input("menu_id", $getset->header("menu_id")); $amods->set_Input("package_folder", $getset->header("package")); $amods->set_Input("module_folder", $getset->header("module")); $amods->set_Input("module_index", $getset->header("index")); $amods->set_Input("module_name", $getset->header("name")); //$amods->make_Module($getset->header("menu_id"), $getset->header("package"), $getset->header("module"), $getset->header("index"),$getset->header("name")); $amods->make_Module(); break; case FORM_ACTION_DELETE: $amods->delete_Module($getset->header("delete_id")); break; default: //Do nothing break; } //Include the varius option forms require_once 'create.php'; require_once 'delete.php';
<?php require_once __DIR__ . '/../sys/MenuAdmin.class.php'; $amenu = new MenuAdmin($db, $sys_menu); //Sets a standard value for sub_id if none is provided by form $getset->setStandardValue("sub_id", "0"); switch ($getset->header(FORM_ACTION)) { //Create new menu case FORM_ACTION_SAVE: $amenu->set_Input("sub_id", $getset->header("sub_id")); $amenu->set_Input("name", $getset->header("menu_name")); $amenu->set_Input("level", $getset->header("level")); $amenu->make_Menu(); break; //Delete menu //Delete menu case FORM_ACTION_DELETE: $amenu->delete($getset->header("delete_id")); break; case FORM_ACTION_UPDATE: $amenu->set_Input("name", $getset->header("menu_name")); $amenu->set_Input("level", $getset->header("level")); $amenu->update_Menu($getset->header("id")); break; default: //Do nothing break; } /////////////////////////////////// $levels = ""; //TODO
<?php // no direct access defined('PARENT_FILE') or die('Restricted access'); $menu = $this->registry->db->getResult('item_id, menu_type, item', 'menu_items', $this->registry->core . 'menu_types', array('where' => "item='" . $params['menu'] . "'"), false); if ($menu) { $params['menu_category_id'] = $menu->item_id; // Start Navibar class. $navibar = new MenuAdmin($this->registry, $params); $module = $navibar->getMenu($menu->item_id, $menu->item, $menu->menu_type); $this->module_wrap->appendChild($module); unset($navibar); }