<?php

// EDITION
if (isset($_POST['editlevel'])) {
    $levelId = AdminServAdminLevel::getId($_POST['level'][0]);
    Utils::redirection(false, '?p=config-addlevel&id=' . $levelId);
}
// DUPLIQUER
if (isset($_POST['duplicatelevel'])) {
    // GET
    $getLevelData = AdminServAdminLevel::getData($_POST['level'][0]);
    // SET
    $setLevelData = array('name' => trim(htmlspecialchars(addslashes($_POST['level'][0] . ' - ' . Utils::t('copy')))), 'adminlevel' => $getLevelData['adminlevel'], 'access' => $getLevelData['access'], 'permission' => $getLevelData['permission']);
    if (AdminServAdminLevel::saveConfig($setLevelData)) {
        $action = Utils::t('This admin level has been duplicated.');
        AdminServ::info($action);
        AdminServLogs::add('action', $action);
        Utils::redirection(false, '?p=' . USER_PAGE);
    } else {
        AdminServ::error(Utils::t('Unable to duplicate admin level.'));
    }
}
// SUPPRESSION
if (isset($_POST['deletelevel'])) {
    $levels = AdminLevelConfig::$ADMINLEVELS;
    unset($levels[$_POST['level'][0]]);
    if (($result = AdminServAdminLevel::saveConfig(array(), -1, $levels)) !== true) {
        AdminServ::error(Utils::t('Unable to delete admin level.') . ' (' . $result . ')');
    } else {
        $action = Utils::t('The "!levelName" admin level has been deleted.', array('!levelName' => $_POST['level'][0]));
        AdminServ::info($action);
Beispiel #2
0
        } else {
            $action = Utils::t('This admin level has been modified.');
            AdminServ::info($action);
            AdminServLogs::add('action', $action);
            Utils::redirection(false, '?p=config-adminlevel');
        }
    } else {
        if (($result = AdminServAdminLevel::saveConfig($levelData)) !== true) {
            AdminServ::error(Utils::t('Unable to add the admin level.') . ' (' . $result . ')');
        } else {
            $action = Utils::t('This admin level has been added.');
            AdminServ::info($action);
            AdminServLogs::add('action', $action);
            Utils::redirection(false, '?p=' . USER_PAGE);
        }
    }
}
// LECTURE
$defaultAccess = AdminServAdminLevel::getDefaultAccess();
$defaultPermission = AdminServAdminLevel::getDefaultPermission();
$data = array('name' => null, 'types' => AdminServAdminLevel::getDefaultType(), 'adminlevel' => array('type' => null), 'access' => array('default' => array(), 'selected' => $defaultAccess), 'permission' => array('default' => array(), 'selected' => $defaultPermission));
if ($args['id'] !== -1) {
    define('IS_LEVEL_EDITION', true);
    $data['name'] = AdminServAdminLevel::getName($args['id']);
    if ($data['name']) {
        $levelData = AdminServAdminLevel::getData($data['name']);
        $data['adminlevel'] = array('type' => $levelData['adminlevel']['type']);
        $data['access'] = array('default' => array_diff($defaultAccess, $levelData['access']), 'selected' => $levelData['access']);
        $data['permission'] = array('default' => array_diff($defaultPermission, $levelData['permission']), 'selected' => $levelData['permission']);
    }
}