mirror of
https://github.com/Shadowss/TravianZ.git
synced 2026-09-01 16:17:13 +00:00
Update database.php
This commit is contained in:
+182
-79
@@ -17,11 +17,14 @@
|
|||||||
## ##
|
## ##
|
||||||
#################################################################################
|
#################################################################################
|
||||||
if($gameinstall == 1){
|
if($gameinstall == 1){
|
||||||
include("../../GameEngine/config.php");
|
include_once("../../GameEngine/config.php");
|
||||||
include("../../GameEngine/Data/buidata.php");
|
include_once("../../GameEngine/Data/buidata.php");
|
||||||
}else{
|
}else{
|
||||||
include("../GameEngine/config.php");
|
include_once("../GameEngine/config.php");
|
||||||
include("../GameEngine/Data/buidata.php");
|
include_once("../GameEngine/Data/buidata.php");
|
||||||
|
include_once("../GameEngine/Data/unitdata.php");
|
||||||
|
include_once("../GameEngine/Technology.php");
|
||||||
|
include_once("../GameEngine/Units.php");
|
||||||
}
|
}
|
||||||
class adm_DB {
|
class adm_DB {
|
||||||
var $connection;
|
var $connection;
|
||||||
@@ -52,7 +55,6 @@ class adm_DB {
|
|||||||
for ($i = 0; $i <= count($villages)-1; $i++) {
|
for ($i = 0; $i <= count($villages)-1; $i++) {
|
||||||
$vid = $villages[$i]['wref'];
|
$vid = $villages[$i]['wref'];
|
||||||
$this->recountPop($vid);
|
$this->recountPop($vid);
|
||||||
$this->recountCP($vid);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,31 +63,16 @@ class adm_DB {
|
|||||||
$fdata = $database->getResourceLevel($vid);
|
$fdata = $database->getResourceLevel($vid);
|
||||||
$popTot = 0;
|
$popTot = 0;
|
||||||
for ($i = 1; $i <= 40; $i++) {
|
for ($i = 1; $i <= 40; $i++) {
|
||||||
$lvl = $fdata["f".$i];
|
$lvl = $fdata["f".$i];
|
||||||
$building = $fdata["f".$i."t"];
|
$building = $fdata["f".$i."t"];
|
||||||
if($building){
|
if($building){
|
||||||
$popTot += $this->buildingPOP($building,$lvl);
|
$popTot += $this->buildingPOP($building,$lvl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$q = "UPDATE ".TB_PREFIX."vdata set pop = $popTot where wref = $vid";
|
$q = "UPDATE ".TB_PREFIX."vdata set pop = $popTot where wref = $vid";
|
||||||
mysql_query($q, $this->connection);
|
mysql_query($q, $this->connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
function recountCP($vid){
|
|
||||||
global $database;
|
|
||||||
$fdata = $database->getResourceLevel($vid);
|
|
||||||
$popTot = 0;
|
|
||||||
for ($i = 1; $i <= 40; $i++) {
|
|
||||||
$lvl = $fdata["f".$i];
|
|
||||||
$building = $fdata["f".$i."t"];
|
|
||||||
if($building){
|
|
||||||
$popTot += $this->buildingCP($building,$lvl);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$q = "UPDATE ".TB_PREFIX."vdata set cp = $popTot where wref = $vid";
|
|
||||||
mysql_query($q, $this->connection);
|
|
||||||
}
|
|
||||||
|
|
||||||
function buildingPOP($f,$lvl){
|
function buildingPOP($f,$lvl){
|
||||||
$name = "bid".$f;
|
$name = "bid".$f;
|
||||||
global $$name;
|
global $$name;
|
||||||
@@ -97,18 +84,6 @@ class adm_DB {
|
|||||||
return $popT;
|
return $popT;
|
||||||
}
|
}
|
||||||
|
|
||||||
function buildingCP($f,$lvl){
|
|
||||||
$name = "bid".$f;
|
|
||||||
global $$name;
|
|
||||||
$popT = 0;
|
|
||||||
$dataarray = $$name;
|
|
||||||
|
|
||||||
for ($i = 0; $i <= $lvl; $i++) {
|
|
||||||
$popT += $dataarray[$i]['cp'];
|
|
||||||
}
|
|
||||||
return $popT;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getWref($x,$y) {
|
function getWref($x,$y) {
|
||||||
$q = "SELECT id FROM ".TB_PREFIX."wdata where x = $x and y = $y";
|
$q = "SELECT id FROM ".TB_PREFIX."wdata where x = $x and y = $y";
|
||||||
$result = mysql_query($q, $this->connection);
|
$result = mysql_query($q, $this->connection);
|
||||||
@@ -193,19 +168,22 @@ class adm_DB {
|
|||||||
mysql_query($q, $this->connection);
|
mysql_query($q, $this->connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
function DelPlayer($uid,$pass){
|
function DelPlayer($uid,$pass){
|
||||||
global $database;
|
global $database;
|
||||||
$ID = $_SESSION['id'];//$database->getUserField($_SESSION['username'],'id',1);
|
$ID = $_SESSION['id'];
|
||||||
if($this->CheckPass($pass,$ID)){
|
if($this->CheckPass($pass,$ID)){
|
||||||
$villages = $database->getProfileVillages($uid);
|
$villages = $database->getProfileVillages($uid);
|
||||||
for ($i = 0; $i <= count($villages)-1; $i++) {
|
for ($i = 0; $i <= count($villages)-1; $i++) {
|
||||||
$this->DelVillage($villages[$i]['wref'], 1);
|
$this->DelVillage($villages[$i]['wref'], 1);
|
||||||
}
|
}
|
||||||
$name = $database->getUserField($uid,"username",0);
|
$q = "DELETE FROM ".TB_PREFIX."hero where uid = $uid";
|
||||||
mysql_query("Insert into ".TB_PREFIX."admin_log values (0,$ID,'Deleted user <a>$name</a>',".time().")");
|
mysql_query($q, $this->connection);
|
||||||
$q = "DELETE FROM ".TB_PREFIX."users WHERE `id` = $uid;";
|
|
||||||
mysql_query($q, $this->connection);
|
$name = $database->getUserField($uid,"username",0);
|
||||||
}
|
mysql_query("Insert into ".TB_PREFIX."admin_log values (0,$ID,'Deleted user <a>$name</a>',".time().")");
|
||||||
|
$q = "DELETE FROM ".TB_PREFIX."users WHERE `id` = $uid;";
|
||||||
|
mysql_query($q, $this->connection);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getUserActive() {
|
function getUserActive() {
|
||||||
@@ -226,37 +204,162 @@ class adm_DB {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function DelVillage($wref, $mode=0){
|
function DelVillage($wref, $mode=0){
|
||||||
if($mode==0){
|
global $database, $units;
|
||||||
$q = "SELECT * FROM ".TB_PREFIX."vdata WHERE `wref` = $wref and capital = 0";
|
if($mode==0){
|
||||||
}else{
|
$q = "SELECT * FROM ".TB_PREFIX."vdata WHERE `wref` = $wref and capital = 0";
|
||||||
$q = "SELECT * FROM ".TB_PREFIX."vdata WHERE `wref` = $wref";
|
}else{
|
||||||
}
|
$q = "SELECT * FROM ".TB_PREFIX."vdata WHERE `wref` = $wref";
|
||||||
$result = mysql_query($q, $this->connection);
|
}
|
||||||
if(mysql_num_rows($result) > 0){
|
$result = mysql_query($q, $this->connection);
|
||||||
mysql_query("Insert into ".TB_PREFIX."admin_log values (0,".$_SESSION['id'].",'Deleted village <b>$wref</b>',".time().")");
|
if(mysql_num_rows($result) > 0){
|
||||||
$q = "DELETE FROM ".TB_PREFIX."vdata WHERE `wref` = $wref";
|
mysql_query("Insert into ".TB_PREFIX."admin_log values (0,".$_SESSION['id'].",'Deleted village <b>$wref</b>',".time().")");
|
||||||
mysql_query($q, $this->connection);
|
|
||||||
$q = "DELETE FROM ".TB_PREFIX."units WHERE `vref` = $wref";
|
$database->clearExpansionSlot($wref);
|
||||||
mysql_query($q, $this->connection);
|
$q = "DELETE FROM ".TB_PREFIX."abdata where vref = $wref";
|
||||||
$q = "DELETE FROM ".TB_PREFIX."bdata WHERE `wid` = $wref";
|
mysql_query($q, $this->connection);
|
||||||
mysql_query($q, $this->connection);
|
$q = "DELETE FROM ".TB_PREFIX."bdata where wid = $wref";
|
||||||
$q = "DELETE FROM ".TB_PREFIX."abdata WHERE `wid` = $wref";
|
mysql_query($q, $this->connection);
|
||||||
mysql_query($q, $this->connection);
|
$q = "DELETE FROM ".TB_PREFIX."market where vref = $wref";
|
||||||
$q = "DELETE FROM ".TB_PREFIX."fdata WHERE `vref` = $wref";
|
mysql_query($q, $this->connection);
|
||||||
mysql_query($q, $this->connection);
|
$q = "DELETE FROM ".TB_PREFIX."odata where wref = $wref";
|
||||||
$q = "DELETE FROM ".TB_PREFIX."training WHERE `vref` = $wref";
|
mysql_query($q, $this->connection);
|
||||||
mysql_query($q, $this->connection);
|
$q = "DELETE FROM ".TB_PREFIX."research where vref = $wref";
|
||||||
$q = "DELETE FROM ".TB_PREFIX."movement WHERE `from` = $wref";
|
mysql_query($q, $this->connection);
|
||||||
mysql_query($q, $this->connection);
|
$q = "DELETE FROM ".TB_PREFIX."tdata where vref = $wref";
|
||||||
$q = "UPDATE ".TB_PREFIX."wdata SET `occupied` = '0' WHERE `id` = $wref";
|
mysql_query($q, $this->connection);
|
||||||
mysql_query($q, $this->connection);
|
$q = "DELETE FROM ".TB_PREFIX."fdata where vref = $wref";
|
||||||
}
|
mysql_query($q, $this->connection);
|
||||||
}
|
$q = "DELETE FROM ".TB_PREFIX."training where vref = $wref";
|
||||||
|
mysql_query($q, $this->connection);
|
||||||
|
$q = "DELETE FROM ".TB_PREFIX."units where vref = $wref";
|
||||||
|
mysql_query($q, $this->connection);
|
||||||
|
$q = "DELETE FROM ".TB_PREFIX."farmlist where wref = $wref";
|
||||||
|
mysql_query($q, $this->connection);
|
||||||
|
$q = "DELETE FROM ".TB_PREFIX."raidlist where towref = $wref";
|
||||||
|
mysql_query($q, $this->connection);
|
||||||
|
|
||||||
|
$q = "DELETE FROM ".TB_PREFIX."movement where `from` = $wref and proc=0";
|
||||||
|
mysql_query($q, $this->connection);
|
||||||
|
|
||||||
|
$getmovement = $database->getMovement(3,$wref,1);
|
||||||
|
foreach($getmovement as $movedata) {
|
||||||
|
$time = microtime(true);
|
||||||
|
$time2 = $time - $movedata['starttime'];
|
||||||
|
$database->setMovementProc($movedata['moveid']);
|
||||||
|
$database->addMovement(4,$movedata['to'],$movedata['from'],$movedata['ref'],$time,$time+$time2);
|
||||||
|
//$database->setMovementProc($movedata['moveid']);
|
||||||
|
}
|
||||||
|
|
||||||
|
//check return enforcement from del village
|
||||||
|
$units->returnTroops($wref);
|
||||||
|
|
||||||
|
$q = "DELETE FROM ".TB_PREFIX."vdata WHERE `wref` = $wref";
|
||||||
|
mysql_query($q, $this->connection);
|
||||||
|
|
||||||
|
if (mysql_affected_rows()>0) {
|
||||||
|
$q = "UPDATE ".TB_PREFIX."wdata set occupied = 0 where id = $wref";
|
||||||
|
mysql_query($q, $this->connection);
|
||||||
|
|
||||||
|
$getprisoners = $database->getPrisoners($wref);
|
||||||
|
foreach($getprisoners as $pris) {
|
||||||
|
$troops = 0;
|
||||||
|
for($i=1;$i<12;$i++){
|
||||||
|
$troops += $pris['t'.$i];
|
||||||
|
}
|
||||||
|
$database->modifyUnit($pris['wref'],array("99o"),array($troops),array(0));
|
||||||
|
$database->deletePrisoners($pris['id']);
|
||||||
|
}
|
||||||
|
$getprisoners = $database->getPrisoners3($wref);
|
||||||
|
foreach($getprisoners as $pris) {
|
||||||
|
$troops = 0;
|
||||||
|
for($i=1;$i<12;$i++){
|
||||||
|
$troops += $pris['t'.$i];
|
||||||
|
}
|
||||||
|
$database->modifyUnit($pris['wref'],array("99o"),array($troops),array(0));
|
||||||
|
$database->deletePrisoners($pris['id']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTypeLevel($tid,$vid) {
|
||||||
|
global $village,$database;
|
||||||
|
$keyholder = array();
|
||||||
|
|
||||||
|
if($vid == 0) {
|
||||||
|
$resourcearray = $village->resarray;
|
||||||
|
} else {
|
||||||
|
$resourcearray = $database->getResourceLevel($vid);
|
||||||
|
}
|
||||||
|
foreach(array_keys($resourcearray,$tid) as $key) {
|
||||||
|
if(strpos($key,'t')) {
|
||||||
|
$key = preg_replace("/[^0-9]/", '', $key);
|
||||||
|
array_push($keyholder, $key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$element = count($keyholder);
|
||||||
|
if($element >= 2) {
|
||||||
|
if($tid <= 4) {
|
||||||
|
$temparray = array();
|
||||||
|
for($i=0;$i<=$element-1;$i++) {
|
||||||
|
array_push($temparray,$resourcearray['f'.$keyholder[$i]]);
|
||||||
|
}
|
||||||
|
foreach ($temparray as $key => $val) {
|
||||||
|
if ($val == max($temparray))
|
||||||
|
$target = $key;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$target = 0;
|
||||||
|
for($i=1;$i<=$element-1;$i++) {
|
||||||
|
if($resourcearray['f'.$keyholder[$i]] > $resourcearray['f'.$keyholder[$target]]) {
|
||||||
|
$target = $i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if($element == 1) {
|
||||||
|
$target = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if($keyholder[$target] != "") {
|
||||||
|
return $resourcearray['f'.$keyholder[$target]];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function procDistanceTime($coor,$thiscoor,$ref,$vid) {
|
||||||
|
global $bid28,$bid14;
|
||||||
|
|
||||||
|
$xdistance = ABS($thiscoor['x'] - $coor['x']);
|
||||||
|
if($xdistance > WORLD_MAX) {
|
||||||
|
$xdistance = (2 * WORLD_MAX + 1) - $xdistance;
|
||||||
|
}
|
||||||
|
$ydistance = ABS($thiscoor['y'] - $coor['y']);
|
||||||
|
if($ydistance > WORLD_MAX) {
|
||||||
|
$ydistance = (2 * WORLD_MAX + 1) - $ydistance;
|
||||||
|
}
|
||||||
|
$distance = SQRT(POW($xdistance,2)+POW($ydistance,2));
|
||||||
|
$speed = $ref;
|
||||||
|
if($this->getTypeLevel(14,$vid) != 0 && $distance >= TS_THRESHOLD) {
|
||||||
|
$speed = $speed * ($bid14[$this->getTypeLevel(14,$vid)]['attri']/100) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($speed!=0){
|
||||||
|
return round(($distance/$speed) * 3600 / INCREASE_SPEED);
|
||||||
|
}else{
|
||||||
|
return round($distance * 3600 / INCREASE_SPEED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function DelBan($uid,$id){
|
function DelBan($uid,$id){
|
||||||
global $database;
|
global $database;
|
||||||
$name = addslashes($database->getUserField($uid,"username",0));
|
$name = $database->getUserField($uid,"username",0);
|
||||||
mysql_query("Insert into ".TB_PREFIX."admin_log values (0,".$_SESSION['id'].",'Unbanned user <a href=\'admin.php?p=player&uid=$uid\'>$name</a>',".time().")");
|
mysql_query("Insert into ".TB_PREFIX."admin_log values (0,".$_SESSION['id'].",'Unbanned user <a href=\'admin.php?p=player&uid=$uid\'>$name</a>',".time().")");
|
||||||
$q = "UPDATE ".TB_PREFIX."users SET `access` = '".USER."' WHERE `id` = $uid;";
|
$q = "UPDATE ".TB_PREFIX."users SET `access` = '".USER."' WHERE `id` = $uid;";
|
||||||
mysql_query($q, $this->connection);
|
mysql_query($q, $this->connection);
|
||||||
@@ -266,13 +369,13 @@ class adm_DB {
|
|||||||
|
|
||||||
function AddBan($uid,$end,$reason){
|
function AddBan($uid,$end,$reason){
|
||||||
global $database;
|
global $database;
|
||||||
$name = addslashes($database->getUserField($uid,"username",0));
|
$name = $database->getUserField($uid,"username",0);
|
||||||
mysql_query("Insert into ".TB_PREFIX."admin_log values (0,".$_SESSION['id'].",'Banned user <a href=\'admin.php?p=player&uid=$uid\'>$name</a>',".time().")");
|
mysql_query("Insert into ".TB_PREFIX."admin_log values (0,".$_SESSION['id'].",'Banned user <a href=\'admin.php?p=player&uid=$uid\'>$name</a>',".time().")");
|
||||||
$q = "UPDATE ".TB_PREFIX."users SET `access` = '0' WHERE `id` = $uid;";
|
$q = "UPDATE ".TB_PREFIX."users SET `access` = '0' WHERE `id` = $uid;";
|
||||||
mysql_query($q, $this->connection);
|
mysql_query($q, $this->connection);
|
||||||
$time = time();
|
$time = time();
|
||||||
$admin = $_SESSION['id']; //$database->getUserField($_SESSION['username'],'id',1);
|
$admin = $_SESSION['id']; //$database->getUserField($_SESSION['username'],'id',1);
|
||||||
$name = addslashes($database->getUserField($uid,'username',0));
|
$name = $database->getUserField($uid,'username',0);
|
||||||
$q = "INSERT INTO ".TB_PREFIX."banlist (`uid`, `name`, `reason`, `time`, `end`, `admin`, `active`) VALUES ($uid, '$name' , '$reason', '$time', '$end', '$admin', '1');";
|
$q = "INSERT INTO ".TB_PREFIX."banlist (`uid`, `name`, `reason`, `time`, `end`, `admin`, `active`) VALUES ($uid, '$name' , '$reason', '$time', '$end', '$admin', '1');";
|
||||||
mysql_query($q, $this->connection);
|
mysql_query($q, $this->connection);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user