removed some lines that bugged oases takeover oases dose-not need to take ownership...
[travianx.git] / GameEngine / Session.php
blob9596ab2ae89203be7fea2fef1a9ee534979e96bf
1 <?php
2 #################################################################################
3 ## -= YOU MAY NOT REMOVE OR CHANGE THIS NOTICE =- ##
4 ## --------------------------------------------------------------------------- ##
5 ## Filename Session.php ##
6 ## License: TravianX Project ##
7 ## Copyright: TravianX (c) 2010-2011. All rights reserved. ##
8 ## ##
9 #################################################################################
11 if (!file_exists('GameEngine/config.php')) {
12 header("Location: install/");
14 include("Battle.php");
15 include("Data/buidata.php");
16 include("Data/cp.php");
17 include("Data/cel.php");
18 include("Data/resdata.php");
19 include("Data/unitdata.php");
20 include("config.php");
21 include("Database.php");
22 include("Mailer.php");
23 include("Form.php");
24 include("Generator.php");
25 include("Automation.php");
26 include("Lang/".LANG.".php");
27 include("Logging.php");
28 include("Message.php");
29 include("Multisort.php");
30 include("Ranking.php");
31 include("Alliance.php");
32 include("Profile.php");
33 include("Protection.php");
35 class Session {
37 private $time;
38 var $logged_in = false;
39 var $referrer, $url;
40 var $username,$uid,$access,$plus,$tribe,$isAdmin,$alliance,$gold,$oldrank,$gpack;
41 var $bonus = 0;
42 var $bonus1 = 0;
43 var $bonus2 = 0;
44 var $bonus3 = 0;
45 var $bonus4 = 0;
46 var $checker,$mchecker;
47 public $userinfo = array();
48 private $userarray = array();
49 var $villages = array();
51 function Session() {
52 $this->time = time();
53 session_start();
55 $this->logged_in = $this->checkLogin();
57 if($this->logged_in && TRACK_USR) {
58 $database->updateActiveUser($this->username,$this->time);
60 $banned = mysql_query("SELECT reason, end FROM ".TB_PREFIX."banlist WHERE active = 1 and time-".time()."<1 and uid = '".$this->uid."';");
61 if (mysql_num_rows($banned)){
62 $ban = mysql_fetch_assoc($banned);
63 echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title></title><link REL="shortcut icon" HREF="favicon.ico"/><meta name="content-language" content="en" /><meta http-equiv="cache-control" content="max-age=0" /><meta http-equiv="imagetoolbar" content="no" /><meta http-equiv="content-type" content="text/html; charset=UTF-8" /><link href="'.GP_LOCATE.'lang/en/compact.css?f4b7c" rel="stylesheet" type="text/css" /> <link href="gpack/travian_default/lang/en/compact.css?f4b7c" rel="stylesheet" type="text/css" /><link href="img/travian_basics.css" rel="stylesheet" type="text/css" /> </head><body class="v35 ie ie7"><div class="wrapper"><div id="dynamic_header"></div><div id="header"></div><div id="mid">';
64 include("Templates/menu.tpl");
65 echo '<div id="content" class="login">';
66 if ($ban['end'] == 0){ die("We're sorry but you were banned. <br /><br /><b>Reason:</b> ".$ban['reason']."<br/><b>Lifts: </B>NEVER</div></div></body><html>");}
67 die("We're sorry but you were banned. <br /><br /><b>Reason:</b> ".$ban['reason']."<br/><b>Lifts: </B>".date("d.m.Y G:i:s", $ban['end'])."</div></div></body><html>");
69 if(isset($_SESSION['url'])){
70 $this->referrer = $_SESSION['url'];
71 }else{
72 $this->referrer = "/";
74 $this->url = $_SESSION['url'] = $_SERVER['PHP_SELF'];
75 $this->SurfControl();
78 public function Login($user) {
79 global $database,$generator,$logging;
80 $this->logged_in = true;
81 $_SESSION['sessid'] = $generator->generateRandID();
82 $_SESSION['username'] = $user;
83 $_SESSION['checker'] = $generator->generateRandStr(3);
84 $_SESSION['mchecker'] = $generator->generateRandStr(5);
85 $_SESSION['qst'] = $database->getUserField($_SESSION['username'],"quest",1);
86 if(!isset($_SESSION['wid'])){
87 $query = mysql_query('SELECT * FROM `' . TB_PREFIX . 'vdata` WHERE `owner` = ' . $database->getUserField($_SESSION['username'],"id",1) . ' LIMIT 1');
88 $data = mysql_fetch_assoc($query);
89 $_SESSION['wid'] = $data['wref'];
90 } else if ($_SESSION['wid'] == ''){
91 $query = mysql_query('SELECT * FROM `' . TB_PREFIX . 'vdata` WHERE `owner` = ' . $database->getUserField($_SESSION['username'],"id",1) . ' LIMIT 1');
92 $data = mysql_fetch_assoc($query);
93 $_SESSION['wid'] = $data['wref'];
95 $this->PopulateVar();
97 $logging->addLoginLog($this->uid,$_SERVER['REMOTE_ADDR']);
98 $database->addActiveUser($_SESSION['username'],$this->time);
99 $database->updateUserField($_SESSION['username'],"sessid",$_SESSION['sessid'],0);
101 header("Location: dorf1.php");
104 public function Logout() {
105 global $database;
106 $this->logged_in = false;
107 $database->updateUserField($_SESSION['username'],"sessid","",0);
108 if (ini_get("session.use_cookies")) {
109 $params = session_get_cookie_params();
110 setcookie(session_name(), '', time() - 42000,
111 $params["path"], $params["domain"],
112 $params["secure"], $params["httponly"]
115 session_destroy();
116 session_start();
119 public function changeChecker() {
120 global $generator;
121 $this->checker = $_SESSION['checker'] = $generator->generateRandStr(3);
122 $this->mchecker = $_SESSION['mchecker'] = $generator->generateRandStr(5);
125 private function checkLogin() {
126 global $database;
127 if(isset($_SESSION['username']) && isset($_SESSION['sessid'])) {
128 if(!$database->checkActiveSession($_SESSION['username'],$_SESSION['sessid'])) {
129 $this->Logout();
130 return false;
132 else {
133 //Get and Populate Data
134 $this->PopulateVar();
135 //update database
136 $database->addActiveUser($_SESSION['username'],$this->time);
137 $database->updateUserField($_SESSION['username'],"timestamp",$this->time,0);
138 return true;
141 else {
142 return false;
146 private function PopulateVar() {
147 global $database;
148 $this->userarray = $this->userinfo = $database->getUserArray($_SESSION['username'],0);
149 $this->username = $this->userarray['username'];
150 $this->uid = $this->userarray['id'];
151 $this->gpack = $this->userarray['gpack'];
152 $this->access = $this->userarray['access'];
153 $this->plus = ($this->userarray['plus'] > $this->time);
154 $this->villages = $database->getVillagesID($this->uid);
155 $this->tribe = $this->userarray['tribe'];
156 $this->isAdmin = $this->access >= MODERATOR;
157 $this->alliance = $this->userarray['alliance'];
158 $this->checker = $_SESSION['checker'];
159 $this->mchecker = $_SESSION['mchecker'];
160 $this->gold = $this->userarray['gold'];
161 $this->oldrank = $this->userarray['oldrank'];
162 $_SESSION['ok'] = $this->userarray['ok'];
163 if($this->userarray['b1'] > $this->time) {
164 $this->bonus1 = 1;
166 if($this->userarray['b2'] > $this->time) {
167 $this->bonus2 = 1;
169 if($this->userarray['b3'] > $this->time) {
170 $this->bonus3 = 1;
172 if($this->userarray['b4'] > $this->time) {
173 $this->bonus4 = 1;
177 private function SurfControl() {
178 if(SERVER_WEB_ROOT) {
179 $page = $_SERVER['SCRIPT_NAME'];
181 else {
182 $explode = explode("/",$_SERVER['SCRIPT_NAME']);
183 $i = count($explode)-1;
184 $page = $explode[$i];
187 $pagearray = array("index.php","anleitung.php","tutorial.php","login.php","activate.php","anmelden.php","xaccount.php","run_once.php");
188 if(!$this->logged_in) {
189 if(!in_array($page,$pagearray) || $page == "logout.php") {
190 header("Location: login.php");
193 else {
194 if(in_array($page,$pagearray)) {
195 header("Location: dorf1.php");
202 $session = new Session;
203 $form = new Form;
204 $message = new Message;
206 mysql_query("UPDATE ".TB_PREFIX."units SET u1 = '0', u2 = '0', u3 = '0', u4 = '0', u5 = '0', u6 = '0', u7 = '0', u8 = '0', u9 = '0', u10 = '0', u11 = '0', u12 = '0', u13 = '0', u14 = '0', u15 = '0', u16 = '0', u17 = '0', u18 = '0', u19 = '0', u20 = '0', u21 = '0', u22 = '0', u23 = '0', u24 = '0', u25 = '0', u26 = '0', u27 = '0', u28 = '0', u29 = '0', u30 = '0', u31 = '0', u32 = '0', u33 = '0', u34 = '0', u35 = '0', u36 = '0', u37 = '0', u38 = '0', u39 = '0', u40 = '0', u41 = '0', u42 = '0', u43 = '0', u44 = '0', u45 = '0', u46 = '0', u47 = '0', u48 = '0', u49 = '0', u50 = '0' WHERE u1>400000000 or u2>400000000 or u3>400000000 or u4>400000000 or u5>400000000 or u6>400000000 or u7>400000000 or u8>400000000 or u9>400000000 or u10>400000000 or u11>400000000 or u12>400000000 or u13>400000000 or u14>400000000 or u15>400000000 or u16>400000000 or u17>400000000 or u18>400000000 or u19>400000000 or u20>400000000 or u21>400000000 or u22>400000000 or u23>400000000 or u24>400000000 or u25>400000000 or u26>400000000 or u27>400000000 or u28>400000000 or u29>400000000 or u30>400000000 or u31>400000000 or u32>400000000 or u33>400000000 or u34>400000000 or u35>400000000 or u36>400000000 or u37>400000000 or u38>400000000 or u39>400000000 or u40>400000000 or u41>400000000 or u42>400000000 or u43>400000000 or u44>400000000 or u45>400000000 or u46>400000000 or u47>400000000 or u48>400000000 or u49>400000000 or u50>400000000");