예제 #1
0
<?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'])) {
예제 #3
0
<?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/']);
예제 #4
0
<?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;
예제 #5
0
    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>
예제 #6
0
<?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>