mirror of
https://github.com/Shadowss/TravianZ.git
synced 2026-09-23 02:17:05 +08:00
feat: Support can join game and see messages
This commit is contained in:
+54
-32
@@ -89,19 +89,13 @@ class Session {
|
|||||||
$_SESSION['checker'] = $generator->generateRandStr(3);
|
$_SESSION['checker'] = $generator->generateRandStr(3);
|
||||||
$_SESSION['mchecker'] = $generator->generateRandStr(5);
|
$_SESSION['mchecker'] = $generator->generateRandStr(5);
|
||||||
$_SESSION['qst'] = $database->getUserField($user_sanitized, "quest", 1);
|
$_SESSION['qst'] = $database->getUserField($user_sanitized, "quest", 1);
|
||||||
$result = mysqli_query($GLOBALS['link'],"SELECT village_select FROM `". TB_PREFIX."users` WHERE `username`='".$user_sanitized."'");
|
|
||||||
$dbarray = mysqli_fetch_assoc($result);
|
$result = mysqli_query($GLOBALS['link'],"SELECT id, village_select FROM `". TB_PREFIX."users` WHERE `username`='".$user_sanitized."'");
|
||||||
$selected_village=(int) $dbarray['village_select'];
|
$dbarray = mysqli_fetch_assoc($result);
|
||||||
if(!isset($_SESSION['wid'])) {
|
$selected_village=(int) $dbarray['village_select'];
|
||||||
if($selected_village!='') {
|
|
||||||
$query = mysqli_query($GLOBALS['link'],'SELECT * FROM `' . TB_PREFIX . 'vdata` WHERE `wref` = '.$selected_village);
|
if ($dbarray['id'] > 1) {
|
||||||
}else{
|
if(!isset($_SESSION['wid'])) {
|
||||||
$query = mysqli_query($GLOBALS['link'],'SELECT * FROM `' . TB_PREFIX . 'vdata` WHERE `owner` = ' . (int) $database->getUserField($user_sanitized, "id", 1) . ' LIMIT 1');
|
|
||||||
}
|
|
||||||
$data = mysqli_fetch_assoc($query);
|
|
||||||
$_SESSION['wid'] = $data['wref'];
|
|
||||||
} else
|
|
||||||
if($_SESSION['wid'] == '') {
|
|
||||||
if($selected_village!='') {
|
if($selected_village!='') {
|
||||||
$query = mysqli_query($GLOBALS['link'],'SELECT * FROM `' . TB_PREFIX . 'vdata` WHERE `wref` = '.$selected_village);
|
$query = mysqli_query($GLOBALS['link'],'SELECT * FROM `' . TB_PREFIX . 'vdata` WHERE `wref` = '.$selected_village);
|
||||||
}else{
|
}else{
|
||||||
@@ -109,14 +103,29 @@ class Session {
|
|||||||
}
|
}
|
||||||
$data = mysqli_fetch_assoc($query);
|
$data = mysqli_fetch_assoc($query);
|
||||||
$_SESSION['wid'] = $data['wref'];
|
$_SESSION['wid'] = $data['wref'];
|
||||||
}
|
} else
|
||||||
$this->PopulateVar();
|
if($_SESSION['wid'] == '') {
|
||||||
|
if($selected_village!='') {
|
||||||
|
$query = mysqli_query($GLOBALS['link'],'SELECT * FROM `' . TB_PREFIX . 'vdata` WHERE `wref` = '.$selected_village);
|
||||||
|
}else{
|
||||||
|
$query = mysqli_query($GLOBALS['link'],'SELECT * FROM `' . TB_PREFIX . 'vdata` WHERE `owner` = ' . (int) $database->getUserField($user_sanitized, "id", 1) . ' LIMIT 1');
|
||||||
|
}
|
||||||
|
$data = mysqli_fetch_assoc($query);
|
||||||
|
$_SESSION['wid'] = $data['wref'];
|
||||||
|
}
|
||||||
|
$this->PopulateVar();
|
||||||
|
|
||||||
|
$database->addActiveUser($user_sanitized, $this->time);
|
||||||
|
$database->updateUserField($user_sanitized, "sessid", $_SESSION['sessid'], 0);
|
||||||
|
}
|
||||||
|
|
||||||
$logging->addLoginLog($this->uid, $_SERVER['REMOTE_ADDR']);
|
$logging->addLoginLog($dbarray['id'], $_SERVER['REMOTE_ADDR']);
|
||||||
$database->addActiveUser($user_sanitized, $this->time);
|
|
||||||
$database->updateUserField($user_sanitized, "sessid", $_SESSION['sessid'], 0);
|
|
||||||
|
|
||||||
header("Location: dorf1.php");
|
if ($dbarray['id'] == 1) {
|
||||||
|
header("Location: nachrichten.php");
|
||||||
|
} else {
|
||||||
|
header("Location: dorf1.php");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function Logout() {
|
public function Logout() {
|
||||||
@@ -138,18 +147,27 @@ class Session {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private function checkLogin(){
|
private function checkLogin(){
|
||||||
global $database;
|
global $database;
|
||||||
if(isset($_SESSION['username']) && isset($_SESSION['sessid'])) {
|
if(isset($_SESSION['username']) && isset($_SESSION['sessid'])) {
|
||||||
//Get and Populate Data
|
// check if this is not a support user, for who only messages and statistics are available
|
||||||
$this->PopulateVar();
|
if ($_SESSION['id_user'] == 1) {
|
||||||
//update database
|
$req_file = basename($_SERVER['PHP_SELF']);
|
||||||
$database->addActiveUser($_SESSION['username'], $this->time);
|
if (!in_array($req_file, ['nachrichten.php', 'logout.php', 'statistiken.php', 'rules.php', 'karte.php', 'karte2.php', 'spieler.php'])) {
|
||||||
$database->updateUserField($_SESSION['username'], "timestamp", $this->time, 0);
|
header('Location:nachrichten.php');
|
||||||
return true;
|
exit;
|
||||||
} else {
|
}
|
||||||
return false;
|
}
|
||||||
}
|
|
||||||
}
|
//Get and Populate Data
|
||||||
|
$this->PopulateVar();
|
||||||
|
//update database
|
||||||
|
$database->addActiveUser($_SESSION['username'], $this->time);
|
||||||
|
$database->updateUserField($_SESSION['username'], "timestamp", $this->time, 0);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/***************************
|
/***************************
|
||||||
@@ -242,7 +260,11 @@ class Session {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(in_array($page, $pagearray)) {
|
if(in_array($page, $pagearray)) {
|
||||||
header("Location: dorf1.php");
|
if ($this->uid == 1) {
|
||||||
|
header("Location: nachrichten.php");
|
||||||
|
} else {
|
||||||
|
header("Location: dorf1.php");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-5
@@ -12,8 +12,8 @@
|
|||||||
|
|
||||||
<div id="header">
|
<div id="header">
|
||||||
<div id="mtop">
|
<div id="mtop">
|
||||||
<a href="dorf1.php" id="n1" accesskey="1"><img src="img/x.gif" title="Village overview" alt="Village overview" /></a>
|
<a href="<?php echo ($_SESSION['id_user'] != 1 ? 'dorf1.php' : '#'); ?>" id="n1" accesskey="1"><img src="img/x.gif" title="Village overview" alt="Village overview" /></a>
|
||||||
<a href="dorf2.php" id="n2" accesskey="2"><img src="img/x.gif" title="Village centre" alt="Village centre" /></a>
|
<a href="<?php echo ($_SESSION['id_user'] != 1 ? 'dorf2.php' : '#'); ?>" id="n2" accesskey="2"><img src="img/x.gif" title="Village centre" alt="Village centre" /></a>
|
||||||
<a href="karte.php" id="n3" accesskey="3"><img src="img/x.gif" title="Map" alt="Map" /></a>
|
<a href="karte.php" id="n3" accesskey="3"><img src="img/x.gif" title="Map" alt="Map" /></a>
|
||||||
<a href="statistiken.php" id="n4" accesskey="4"><img src="img/x.gif" title="Statistics" alt="Statistics" /></a>
|
<a href="statistiken.php" id="n4" accesskey="4"><img src="img/x.gif" title="Statistics" alt="Statistics" /></a>
|
||||||
<?php
|
<?php
|
||||||
@@ -31,11 +31,14 @@
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<div id="n5" class="<?php echo $class ?>">
|
<div id="n5" class="<?php echo $class ?>">
|
||||||
<a href="berichte.php" accesskey="5"><img src="img/x.gif" class="l" title="Reports" alt="Reports"/></a>
|
<a href="<?php echo ($_SESSION['id_user'] != 1 ? 'berichte.php' : '#'); ?>" accesskey="5"><img src="img/x.gif" class="l" title="Reports" alt="Reports"/></a>
|
||||||
<a href="nachrichten.php" accesskey="6"><img src="img/x.gif" class="r" title="Messages" alt="Messages" /></a>
|
<a href="nachrichten.php" accesskey="6"><img src="img/x.gif" class="r" title="Messages" alt="Messages" /></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
// no PLUS needed for Support
|
||||||
|
if ($_SESSION['id_user'] != 1) {
|
||||||
|
?>
|
||||||
<a href="plus.php" id="plus">
|
<a href="plus.php" id="plus">
|
||||||
<span class="plus_text">
|
<span class="plus_text">
|
||||||
<span class="plus_g">P</span>
|
<span class="plus_g">P</span>
|
||||||
@@ -43,7 +46,9 @@
|
|||||||
<span class="plus_g">u</span>
|
<span class="plus_g">u</span>
|
||||||
<span class="plus_o">s</span>
|
<span class="plus_o">s</span>
|
||||||
</span><img src="img/x.gif" id="btn_plus" class="<?php echo ($session->plus == 1 && strtotime("NOW") <= $session->userinfo['plus'])? 'active' : 'inactive';?>" title="Plus menu" alt="Plus menu" /></a>
|
</span><img src="img/x.gif" id="btn_plus" class="<?php echo ($session->plus == 1 && strtotime("NOW") <= $session->userinfo['plus'])? 'active' : 'inactive';?>" title="Plus menu" alt="Plus menu" /></a>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
.day_image {
|
.day_image {
|
||||||
|
|||||||
+16
-2
@@ -45,12 +45,26 @@ div.c1 {text-align: center}
|
|||||||
echo "<a href=\"sysmsg.php\">".SYSTEM_MESSAGE."</a>";
|
echo "<a href=\"sysmsg.php\">".SYSTEM_MESSAGE."</a>";
|
||||||
echo "<a href=\"create_account.php\">Create Natars</a>";
|
echo "<a href=\"create_account.php\">Create Natars</a>";
|
||||||
} ?> <a href="logout.php"><?php echo LOGOUT;?></a></p>
|
} ?> <a href="logout.php"><?php echo LOGOUT;?></a></p>
|
||||||
|
<?php
|
||||||
|
// no PLUS needed for Support
|
||||||
|
if ($_SESSION['id_user'] != 1) {
|
||||||
|
?>
|
||||||
<p>
|
<p>
|
||||||
<a href="plus.php?id=3"><?php echo SERVER_NAME; ?> <b><span class="plus_g">P</span><span class="plus_o">l</span><span class="plus_g">u</span><span class="plus_o">s</span></b></a>
|
<a href="plus.php?id=3"><?php echo SERVER_NAME; ?> <b><span class="plus_g">P</span><span class="plus_o">l</span><span class="plus_g">u</span><span class="plus_o">s</span></b></a>
|
||||||
</p>
|
</p>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
<p>
|
<p>
|
||||||
<a href="rules.php"><b><?php echo GAME_RULES;?></b></a>
|
<a href="rules.php"><b><?php echo GAME_RULES;?></b></a>
|
||||||
<a href="support.php"><b><?php echo SUPPORT;?></b></a>
|
<?php
|
||||||
|
// no support for support :-D
|
||||||
|
if ($_SESSION['id_user'] != 1) {
|
||||||
|
?>
|
||||||
|
<a href="support.php"><b><?php echo SUPPORT;?></b></a>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
<br></p>
|
<br></p>
|
||||||
<?php
|
<?php
|
||||||
$timestamp = $database->isDeleting($session->uid);
|
$timestamp = $database->isDeleting($session->uid);
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@
|
|||||||
## ##
|
## ##
|
||||||
#################################################################################
|
#################################################################################
|
||||||
$_SESSION['qtyp'] = QTYPE;
|
$_SESSION['qtyp'] = QTYPE;
|
||||||
if (($_SESSION['qst'] < 38 && QTYPE == 37 && QUEST == true) || ($_SESSION['qst'] < 31 && QTYPE == 25 && QUEST == true) || ($_SESSION['qst'] >= 90 && QTYPE == 25 && QUEST == true)) {?>
|
if ($_SESSION['id_user'] != 1 && (($_SESSION['qst'] < 38 && QTYPE == 37 && QUEST == true) || ($_SESSION['qst'] < 31 && QTYPE == 25 && QUEST == true) || ($_SESSION['qst'] >= 90 && QTYPE == 25 && QUEST == true))) {?>
|
||||||
<div id="anm" style="width:120px; height:140px; visibility:hidden;"></div>
|
<div id="anm" style="width:120px; height:140px; visibility:hidden;"></div>
|
||||||
<div id="qge">
|
<div id="qge">
|
||||||
<?php if ($_SESSION['qst'] == 0 or (isset($_SESSION['qstnew']) && $_SESSION['qstnew']==1)){ ?>
|
<?php if ($_SESSION['qst'] == 0 or (isset($_SESSION['qstnew']) && $_SESSION['qstnew']==1)){ ?>
|
||||||
|
|||||||
Reference in New Issue
Block a user