mirror of
https://github.com/Shadowss/TravianZ.git
synced 2026-07-10 22:56:07 +00:00
General fixes
+Moved "isWinner()" method from Automation.php to Session.php, it's now triggered when activating plus function or entering in plus1.php/build.php +General clean-up and better indentation +The tournament square bonus is now displayed correctly
This commit is contained in:
+49
-48
@@ -84,20 +84,18 @@ class Session {
|
||||
|
||||
$this->logged_in = $this->checkLogin();
|
||||
|
||||
if($this->logged_in && TRACK_USR) {
|
||||
$database->updateActiveUser($this->username, $this->time);
|
||||
}
|
||||
if(isset($_SESSION['url'])) {
|
||||
$this->referrer = $_SESSION['url'];
|
||||
} else {
|
||||
$this->referrer = "/";
|
||||
}
|
||||
if($this->logged_in && TRACK_USR) $database->updateActiveUser($this->username, $this->time);
|
||||
|
||||
if(isset($_SESSION['url'])) $this->referrer = $_SESSION['url'];
|
||||
else $this->referrer = "/";
|
||||
|
||||
$this->url = $_SESSION['url'] = $_SERVER['PHP_SELF'];
|
||||
$this->SurfControl();
|
||||
}
|
||||
|
||||
public function Login($user) {
|
||||
global $database, $generator, $logging;
|
||||
|
||||
$this->logged_in = true;
|
||||
$_SESSION['sessid'] = $generator->generateRandID();
|
||||
$_SESSION['username'] = $user;
|
||||
@@ -113,19 +111,13 @@ class Session {
|
||||
|
||||
if ($dbarray['id'] > 1) {
|
||||
if(!isset($_SESSION['wid'])) {
|
||||
if($selected_village!='') {
|
||||
$data = $database->getVillage($selected_village);
|
||||
}else{
|
||||
$data = $database->getVillage($userFields["id"]);
|
||||
}
|
||||
if(!empty($selected_village)) $data = $database->getVillage($selected_village);
|
||||
else $data = $database->getVillage($userFields["id"]);
|
||||
$_SESSION['wid'] = $data['wref'];
|
||||
} else
|
||||
if($_SESSION['wid'] == '') {
|
||||
if($selected_village!='') {
|
||||
$data = $database->getVillage($selected_village);
|
||||
}else{
|
||||
$data = $database->getVillage($userFields["id"]);
|
||||
}
|
||||
if(empty($_SESSION['wid'])) {
|
||||
if(!empty($selected_village)) $data = $database->getVillage($selected_village);
|
||||
else $data = $database->getVillage($userFields["id"]);
|
||||
$_SESSION['wid'] = $data['wref'];
|
||||
}
|
||||
$this->PopulateVar();
|
||||
@@ -159,15 +151,15 @@ class Session {
|
||||
|
||||
public function changeChecker() {
|
||||
global $generator;
|
||||
|
||||
$this->checker = $_SESSION['checker'] = $generator->generateRandStr(3);
|
||||
$this->mchecker = $_SESSION['mchecker'] = $generator->generateRandStr(5);
|
||||
}
|
||||
|
||||
private function checkLogin(){
|
||||
global $database;
|
||||
|
||||
$user = '';
|
||||
$id = '';
|
||||
|
||||
$user = $id = '';
|
||||
$admin = false;
|
||||
$inAdmin = (strpos($_SERVER['REQUEST_URI'], '/Admin') !== false);
|
||||
|
||||
@@ -181,11 +173,13 @@ class Session {
|
||||
}
|
||||
|
||||
if($user && ($admin || isset($_SESSION['sessid']))) {
|
||||
$this->isWinner();
|
||||
|
||||
// check if this is not a support user, for who only messages and statistics are available
|
||||
if ($user == 'Support') {
|
||||
$req_file = basename($_SERVER['PHP_SELF']);
|
||||
if (!in_array($req_file, ['nachrichten.php', 'logout.php', 'statistiken.php', 'rules.php', 'karte.php', 'karte2.php', 'spieler.php'])) {
|
||||
header('Location:nachrichten.php');
|
||||
header('Location: nachrichten.php');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
@@ -195,16 +189,32 @@ class Session {
|
||||
//update database
|
||||
$database->updateActiveUser($user, $this->time);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else return false;
|
||||
}
|
||||
|
||||
|
||||
/***************************
|
||||
Function to check Real Hero
|
||||
Made by: Shadow and brainiacX
|
||||
***************************/
|
||||
/**
|
||||
* Called when there's a player who built a WW to level 100
|
||||
*
|
||||
*/
|
||||
|
||||
function isWinner(){
|
||||
global $database;
|
||||
|
||||
$requiredPage = basename($_SERVER['PHP_SELF']);
|
||||
if($database->isThereAWinner() && (in_array($requiredPage, ['build.php', 'plus1.php']) ||
|
||||
(in_array($requiredPage, ['plus.php']) && isset($_GET['id']) && !empty($_GET['id'] && $_GET['id'] >= 7))))
|
||||
{
|
||||
header('Location: winner.php');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to check Real Hero
|
||||
* Made by: Shadow and brainiacX
|
||||
*
|
||||
*/
|
||||
|
||||
function CheckHeroReal () {
|
||||
global $database,$link;
|
||||
@@ -261,21 +271,13 @@ class Session {
|
||||
$this->oldrank = $this->userarray['oldrank'];
|
||||
$this->sharedForums = $database->getSharedForums($this->uid, $this->alliance);
|
||||
$_SESSION['ok'] = $this->userarray['ok'];
|
||||
if($this->userarray['b1'] > $this->time) {
|
||||
$this->bonus1 = 1;
|
||||
}
|
||||
if($this->userarray['b2'] > $this->time) {
|
||||
$this->bonus2 = 1;
|
||||
}
|
||||
if($this->userarray['b3'] > $this->time) {
|
||||
$this->bonus3 = 1;
|
||||
}
|
||||
if($this->userarray['b4'] > $this->time) {
|
||||
$this->bonus4 = 1;
|
||||
}
|
||||
if (!in_array($this->username, ['Support', 'Multihunter'])) {
|
||||
$this->CheckHeroReal();
|
||||
}
|
||||
|
||||
if($this->userarray['b1'] > $this->time) $this->bonus1 = 1;
|
||||
if($this->userarray['b2'] > $this->time) $this->bonus2 = 1;
|
||||
if($this->userarray['b3'] > $this->time) $this->bonus3 = 1;
|
||||
if($this->userarray['b4'] > $this->time) $this->bonus4 = 1;
|
||||
|
||||
if (!in_array($this->username, ['Support', 'Multihunter'])) $this->CheckHeroReal();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -286,8 +288,7 @@ class Session {
|
||||
public function populateAttacks(){
|
||||
global $database, $village;
|
||||
|
||||
$troopsMovement = $database->getMovement(3, $village->wid, 0);
|
||||
|
||||
$troopsMovement = $database->getMovement(3, $village->wid, 0);
|
||||
if(count($troopsMovement) > 0){
|
||||
foreach($troopsMovement as $movement)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user