pageLoadTimeStart(); ################################################################################# ## -= YOU MAY NOT REMOVE OR CHANGE THIS NOTICE =- ## ## --------------------------------------------------------------------------- ## ## Filename : spieler.php ## ## Type : In Game Profile Page ## ## --------------------------------------------------------------------------- ## ## Developed by : Dzoki ## ## Refactored by : Shadow ## ## Redesign by : Shadow ## ## --------------------------------------------------------------------------- ## ## Contact : cata7007@gmail.com ## ## Project : TravianZ ## ## URLs: : https://travianz.org ## ## GitHub : https://github.com/Shadowss/TravianZ ## ## --------------------------------------------------------------------------- ## ## License : TravianZ Project ## ## Copyright : TravianZ (c) 2010-2026. All rights reserved. ## ## --------------------------------------------------------------------------- ## ################################################################################# use App\Utils\AccessLogger; ob_start(); include_once("GameEngine/Village.php"); AccessLogger::logRequest(); /** * RESTRICTIE SITTER pe pagina de profil. * * Un sitter are voie DOAR la Overview (spieler.php?uid=...). Taburile * Profile / Preferences / Account / Vacation / Graphic Pack (s=1..5) sunt * interzise, inclusiv prin URL scris de mana sau POST trimis direct. * * De ce aici si nu la finalul fisierului, unde exista deja o verificare * "$_GET['s'] > 5 or $session->sit == 1": * - procProfile($_POST) ruleaza la linia urmatoare si salveaza efectiv * setarile; verificarea de la final se executa mult dupa; * - graphic.tpl si preference.tpl scriu direct in baza de date la include, * tot inainte de acea verificare. * Cu ob_start() activ, redirectul de la final ascundea doar PAGINA, nu si * efectele - un sitter putea schimba setarile proprietarului fara sa vada * vreun ecran. */ if (isset($session) && is_object($session) && method_exists($session, 'isSitterSession') && $session->isSitterSession() && isset($_GET['s'])) { header("Location: " . $_SERVER['PHP_SELF'] . "?uid=" . (int) $session->uid); exit; } $profile->procProfile($_POST); $profile->procSpecial($_GET); if(isset($_GET['newdid'])){ $_SESSION['wid'] = $_GET['newdid']; if(isset($_GET['s'])){ header("Location: ".$_SERVER['PHP_SELF']."?s=".preg_replace("/[^a-zA-Z0-9_-]/", "", $_GET['s'])); exit(); }else if(isset($_GET['uid'])){ header("Location: ".$_SERVER['PHP_SELF']."?uid=".preg_replace("/[^a-zA-Z0-9_-]/", "", $_GET['uid'])); exit(); }else{ header("Location: ".$_SERVER['PHP_SELF']); exit(); } } else $building->procBuild($_GET); ?> <?php echo SERVER_NAME ?> "; ?>
= 2) { $user = $database->getUserArray(preg_replace("/[^a-zA-Z0-9_-]/","",$_GET['uid']),1); if(isset($user['id'])){ // 🔴 SHOW VACATION ERROR (IMPORTANT) if(isset($_SESSION['vac_error'])){ echo "
".nl2br($_SESSION['vac_error'])."
"; unset($_SESSION['vac_error']); } include("Templates/Profile/overview.tpl"); } else { include("Templates/Profile/notfound.tpl"); } } else { include("Templates/Profile/special.tpl"); } } else if (isset($_GET['s'])) { if($_GET['s'] == 1) { include("Templates/Profile/profile.tpl"); } if($_GET['s'] == 2) { include("Templates/Profile/preference.tpl"); } if($_GET['s'] == 3) { include("Templates/Profile/account.tpl"); } if($_GET['s'] == 4) { include("Templates/Profile/graphic.tpl"); } if($_GET['s'] == 5) { include("Templates/Profile/vacation.tpl"); } if($_GET['s'] > 5 or $session->sit == 1) { header("Location: ".$_SERVER['PHP_SELF']."?uid=".preg_replace("/[^a-zA-Z0-9_-]/","",$session->uid)); exit; } } ?>







"; include("Templates/links.tpl"); } ?>
pageLoadTimeEnd()-$start_timer)*1000); ?> ms