<?php use PermissionsManager\PermissionsManager; $toReturn = []; if (isset($_GET['id'])) { require '../../vendor/autoload.php'; require '../tools.php'; $menu_id = $_GET['id']; if (!hasOnlyDigits($menu_id)) { die('Wrong menu id format, only digits are allowed.'); } $pm = new PermissionsManager(include '../../src/PermissionsManager/config.php'); $menu = $pm->getMenus()->getMenuById($menu_id); if (count($menu) < 1) { $toReturn = ['error' => 'There was an error, the requested menu id was not found.']; } else { $toReturn = ['menuDetails' => $menu]; } } else { $toReturn = ['error' => 'No menu id was provided. Please check the request URL.']; } header('Content-Type: application/json'); echo json_encode($toReturn);
<?php use PermissionsManager\PermissionsManager; use PermissionsManager\Models\Menus; require '../../vendor/autoload.php'; require '../tools.php'; if (!isset($_GET['id'])) { die('Menu id is missing from request URL.'); } $menu_id_to_edit_for_relations = $_GET['id']; if (!hasOnlyDigits($menu_id_to_edit_for_relations)) { die('Wrong menu id format, only digits are allowed.'); } $pm = new PermissionsManager(include '../../src/PermissionsManager/config.php'); $menu_to_edit_for_relations = $pm->getMenus()->getMenuById($menu_id_to_edit_for_relations); if (count($menu_to_edit_for_relations) < 1) { die('No menu exists having the requested menu id.'); } if ($menu_to_edit_for_relations['id'] == $pm->getMenus()->getRootMenuId()) { die('Cannot relate root menu (RootMenu) to any group.'); } $menu_parent = $pm->getMenus()->getMenuById($menu_to_edit_for_relations['parent_id']); $menu_parent_name = isset($menu_parent['name']) ? $menu_parent['name'] : 'unknown'; $menu_parent_name .= ' (' . (isset($menu_parent['id']) ? $menu_parent['id'] : '?') . ')'; $assigned_groups = $pm->getMenus()->getAssignedGroups($menu_to_edit_for_relations['id']); $method = isset($_SERVER['REQUEST_METHOD']) ? mb_strtolower($_SERVER['REQUEST_METHOD']) : ''; $errors = []; $is_post = false; if ($method == 'post') { $is_post = true; if (!isset($_POST['groups'])) {
<?php $method = isset($_SERVER['REQUEST_METHOD']) ? mb_strtolower($_SERVER['REQUEST_METHOD']) : ''; if ($method !== 'post') { header('Content-Type: application/json'); echo json_encode(['messages' => ['Error: Request method is not supported.']]); die; } if (!isset($_POST['menusToDelete'])) { header('Content-Type: application/json'); echo json_encode(['messages' => ['Error: No menus to delete.']]); die; } if (!is_array($_POST['menusToDelete'])) { header('Content-Type: application/json'); echo json_encode(['messages' => ['Error: No menus to delete.']]); die; } require '../../vendor/autoload.php'; require '../tools.php'; use PermissionsManager\PermissionsManager; $pm = new PermissionsManager(include '../../src/PermissionsManager/config.php'); $m = $pm->getMenus(); foreach ($_POST['menusToDelete'] as $menu_id) { $m->deleteMenuById($menu_id); } header('Content-Type: application/json'); echo json_encode(['redirect' => BASE_URL . '/menus/']);
<?php use PermissionsManager\PermissionsManager; use PermissionsManager\Models\Menus; require '../../vendor/autoload.php'; require '../tools.php'; if (!isset($_GET['id'])) { die('Menu id to edit is missing from request URL.'); } $menu_id_to_edit = $_GET['id']; if (!hasOnlyDigits($menu_id_to_edit)) { die('Wrong menu id format, only digits are allowed.'); } $pm = new PermissionsManager(include '../../src/PermissionsManager/config.php'); $menu_to_edit = $pm->getMenus()->getMenuById($menu_id_to_edit); if (count($menu_to_edit) < 1) { die('No menu exists having the requested menu id.'); } if ($menu_to_edit['id'] == $pm->getMenus()->getRootMenuId()) { die('Cannot edit root menu (RootMenu)'); } $method = isset($_SERVER['REQUEST_METHOD']) ? mb_strtolower($_SERVER['REQUEST_METHOD']) : ''; $errors = []; $is_post = false; if ($method == 'post') { $is_post = true; $name = isset($_POST['menu_name']) ? $_POST['menu_name'] : ''; $href = isset($_POST['menu_href']) ? $_POST['menu_href'] : ''; $display_order = isset($_POST['menu_display_order']) ? (int) $_POST['menu_display_order'] : 0; $class = isset($_POST['menu_class']) ? $_POST['menu_class'] : NULL; $image = isset($_POST['menu_image']) ? $_POST['menu_image'] : NULL;
if (strlen($name) < 1 || strlen($name) > 255) { $errors[] = 'Name length must be 1..255.'; } if (strlen($href) < 1 || strlen($href) > 2047) { $errors[] = 'Href length must be 1..2047.'; } // $href = filter_var($href, FILTER_VALIDATE_URL); // // if ($href === false) { // $errors[] = 'Href must be a valid URL.'; // } if ($status !== 'active' && $status !== 'inactive') { $errors[] = 'You must select status.'; } if (count($errors) < 1) { $re = $pm->getMenus()->addMenu(['parent_id' => $menu_parent, 'name' => $name, 'href' => $href, 'display_order' => $display_order, 'class' => $class, 'image' => $image, 'description' => $description, 'status' => $status == 'active' ? Menus::MENU_STATUS_ACTIVE : Menus::MENU_STATUS_INACTIVE]); if ($re == Menus::MENU_PARENT_DOESNOT_EXISTS) { $errors[] = 'Wrong parent id.'; } if (count($errors) < 1) { redirect(BASE_URL . '/menus/'); } } } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="add.css" type="text/css"> <script src="../jquery-1.11.3.min.js"></script>
<?php require '../../vendor/autoload.php'; require '../tools.php'; use PermissionsManager\PermissionsManager; $pm = new PermissionsManager(include '../../src/PermissionsManager/config.php'); $menus = turnResources2ATree_V2($pm->getMenus()->getAllMenus()); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="index.css" type="text/css"> <script src="../jquery-1.11.3.min.js"></script> <script src="index.js"></script> <title>Menus</title> </head> <body> <p><a href="<?php echo BASE_URL; ?> /">Home</a></p> <div id="messages"></div> <div id="menus"> <h2>Menus</h2> <div id="menubar"> <a href="add.php" id="add">Add</a> <a href="edit.php" id="edit">Edit</a> <a href="#" id="delete">Delete</a> | <a href="groupRelations.php" id="groupRelations">Add/Remove to/from groups</a>