/** * Permet de changer de serveur */ public static function switchServer() { if (isset($_GET['switch']) && $_GET['switch'] != null) { $_SESSION['adminserv']['sid'] = AdminServServerConfig::getServerId($_GET['switch']); $_SESSION['adminserv']['name'] = $_GET['switch']; unset($_SESSION['adminserv']['teaminfo']); Utils::addCookieData('adminserv', array($_SESSION['adminserv']['sid'], Utils::readCookieData('adminserv', 1)), AdminServConfig::COOKIE_EXPIRE); if (USER_PAGE && USER_PAGE != 'index') { Utils::redirection(false, '?p=' . USER_PAGE); } else { Utils::redirection(); } } }
if (AdminServServerConfig::hasServer()) { // Connexion if (isset($_POST['as_server']) && isset($_POST['as_password']) && isset($_POST['as_adminlevel'])) { // Récupération des valeurs $serverName = $_POST['as_server']; $password = addslashes(htmlspecialchars(trim($_POST['as_password']))); if (AdminServConfig::MD5_PASSWORD) { $password = md5($password); } $adminLevel = addslashes(htmlspecialchars($_POST['as_adminlevel'])); // Vérification des valeurs if ($password == null) { AdminServ::error(Utils::t('Please put a password.')); } else { // Sessions & Cookies $_SESSION['adminserv']['sid'] = AdminServServerConfig::getServerId($serverName); $_SESSION['adminserv']['name'] = $serverName; $_SESSION['adminserv']['password'] = $password; $_SESSION['adminserv']['adminlevel'] = $adminLevel; Utils::addCookieData('adminserv', array($_SESSION['adminserv']['sid'], $adminLevel), AdminServConfig::COOKIE_EXPIRE); // Redirection if ($_SESSION['adminserv']['sid'] != -1 && $_SESSION['adminserv']['name'] != null && $_SESSION['adminserv']['password'] != null && $_SESSION['adminserv']['adminlevel'] != null) { Utils::redirection(); } else { AdminServ::error(Utils::t('Connection error: invalid session.')); } } } } else { if (OnlineConfig::ACTIVATE === true) { Utils::redirection(false, './config/');
<?php // EDITION if (isset($_POST['editserver'])) { $serverId = AdminServServerConfig::getServerId($_POST['server'][0]); Utils::redirection(false, '?p=config-addserver&id=' . $serverId); } // DUPLIQUER if (isset($_POST['duplicateserver'])) { // GET $getServerData = AdminServServerConfig::getServer($_POST['server'][0]); // SET $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);
/** * Récupère la liste des serveurs configurés * * @return string */ public static function getServerList() { $out = null; if (class_exists('ServerConfig') && AdminServServerConfig::hasServer()) { if (isset($_GET['server']) && $_GET['server'] != null) { $currentServerId = intval($_GET['server']); } else { $currentServerId = Utils::readCookieData('adminserv', 0); } foreach (ServerConfig::$SERVERS as $server => $values) { $selected = AdminServServerConfig::getServerId($server) == $currentServerId ? ' selected="selected"' : null; $out .= '<option value="' . $server . '"' . $selected . '>' . $server . '</option>'; } } else { $out = '<option value="null">' . Utils::t('No server available') . '</option>'; } return $out; }