$setServerData = array('name' => trim(htmlspecialchars(addslashes($_POST['server'][0] . ' - ' . Utils::t('copy')))), 'address' => trim($getServerData['address']), 'port' => intval($getServerData['port']), 'matchsettings' => trim($getServerData['matchsettings']), 'adminlevel' => array('SuperAdmin' => $getServerData['adminlevel']['SuperAdmin'], 'Admin' => $getServerData['adminlevel']['Admin'], 'User' => $getServerData['adminlevel']['User'])); if (AdminServServerConfig::saveServerConfig($setServerData)) { $action = Utils::t('This server has been duplicated.'); AdminServ::info($action); AdminServLogs::add('action', $action); Utils::redirection(false, '?p=' . USER_PAGE); } else { AdminServ::error(Utils::t('Unable to duplicate server.')); } } // SUPPRESSION if (isset($_POST['deleteserver'])) { $servers = ServerConfig::$SERVERS; unset($servers[$_POST['server'][0]]); if (($result = AdminServServerConfig::saveServerConfig(array(), -1, $servers)) !== true) { AdminServ::error(Utils::t('Unable to delete server.') . ' (' . $result . ')'); } else { $action = Utils::t('The "!serverName" server has been deleted.', array('!serverName' => $_POST['server'][0])); AdminServ::info($action); AdminServLogs::add('action', $action); Utils::redirection(false, '?p=' . USER_PAGE); } } // SERVERLIST $data['servers'] = array(); if (is_array(ServerConfig::$SERVERS) && !empty(ServerConfig::$SERVERS)) { $data['servers'] = ServerConfig::$SERVERS; } $data['count'] = count($data['servers']); $data['adminLevelsType'] = AdminServAdminLevel::getDefaultType();
} 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']); } }