<?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);
} 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']); } }