refactor: last round of database values caching

#313
This commit is contained in:
Martin Ambrus
2017-11-17 19:40:34 +01:00
parent e2612efbf8
commit d17d1f9b32
9 changed files with 1761 additions and 1453 deletions
+5 -4
View File
@@ -521,10 +521,11 @@ class Alliance {
$aName = $_POST['a_name'];
$aType = (int)intval($_POST['dipl']);
if($database->aExist($aName, "tag")) {
if($database->getAllianceID($aName) != $session->alliance) {
$allianceID = $database->getAllianceID($aName);
if($allianceID != $session->alliance) {
if($aType >= 1 and $aType <= 3) {
if(!$database->diplomacyInviteCheck2($session->alliance, $database->getAllianceID($aName))) {
$database->diplomacyInviteAdd($session->alliance, $database->getAllianceID($aName), $aType);
if(!$database->diplomacyInviteCheck2($session->alliance, $allianceID)) {
$database->diplomacyInviteAdd($session->alliance, $allianceID, $aType);
if($aType == 1){
$notice = "offer a confederation to";
}else if($aType == 2){
@@ -532,7 +533,7 @@ class Alliance {
}else if($aType == 3){
$notice = "declare war on";
}
$database->insertAlliNotice($session->alliance, '<a href="allianz.php?aid=' . $session->alliance . '">' . $database->getAllianceName($session->alliance) . '</a> '. $notice .' <a href="allianz.php?aid=' . $database->getAllianceID($aName) . '">' . $aName . '</a>.');
$database->insertAlliNotice($session->alliance, '<a href="allianz.php?aid=' . $session->alliance . '">' . $database->getAllianceName($session->alliance) . '</a> '. $notice .' <a href="allianz.php?aid=' . $allianceID . '">' . $aName . '</a>.');
$form->addError("name", "Invite sended");
} else {
$form->addError("name", "You have already sended them a invite");
+286 -135
View File
@@ -470,141 +470,292 @@ class Building {
private function meetRequirement($id) {
global $village,$session,$database;
switch($id) {
case 1:
case 2:
case 3:
case 4:
case 11:
case 15:
case 16:
case 18:
case 23:
case 31:
case 32:
case 33:
return true;
break;
case 10:
case 20:
return ($this->getTypeLevel(15) >= 1)? true : false;
break;
case 5:
if($this->getTypeLevel(1) >= 10 && $this->getTypeLevel(15) >= 5) { return true; } else { return false; }
break;
case 6:
if($this->getTypeLevel(2) >= 10 && $this->getTypeLevel(15) >= 5) { return true; } else { return false; }
break;
case 7:
if($this->getTypeLevel(3) >= 10 && $this->getTypeLevel(15) >= 5) { return true; } else { return false; }
break;
case 8:
if($this->getTypeLevel(4) >= 5) { return true; } else { return false; }
break;
case 9:
if($this->getTypeLevel(15) >= 5 && $this->getTypeLevel(4) >= 10 && $this->getTypeLevel(8) >= 5) { return true; } else { return false; }
break;
case 12:
if($this->getTypeLevel(22) >= 3 && $this->getTypeLevel(15) >= 3) { return true; } else { return false; }
break;
case 13:
if($this->getTypeLevel(15) >= 3 && $this->getTypeLevel(22) >= 1) { return true; } else { return false; }
break;
case 14:
if($this->getTypeLevel(16) >= 15) { return true; } else { return false; }
break;
case 17:
if($this->getTypeLevel(15) >= 3 && $this->getTypeLevel(10) >= 1 && $this->getTypeLevel(11) >= 1) { return true; } else { return false; }
break;
case 19:
if($this->getTypeLevel(15) >= 3 && $this->getTypeLevel(16) >= 1) { return true; } else { return false; }
break;
case 20:
if($this->getTypeLevel(12) >= 3 && $this->getTypeLevel(22) >= 5) { return true; } else { return false; }
break;
case 21:
if($this->getTypeLevel(22) >= 10 && $this->getTypeLevel(15) >= 5) { return true; } else { return false; }
break;
case 22:
if($this->getTypeLevel(15) >= 3 && $this->getTypeLevel(16) >= 1) { return true; } else { return false; }
break;
case 24:
if($this->getTypeLevel(22) >= 10 && $this->getTypeLevel(15) >= 10) { return true; } else { return false; }
break;
case 25:
if($this->getTypeLevel(15) >= 5 && $this->getTypeLevel(26) == 0) { return true; } else { return false; }
break;
case 26:
if($this->getTypeLevel(18) >= 1 && $this->getTypeLevel(15) >= 5 && $this->getTypeLevel(25) == 0) { return true; } else { return false; }
break;
case 27:
if($this->getTypeLevel(15) >= 10) { return true; } else { return false; }
break;
case 28:
if($this->getTypeLevel(17) == 20 && $this->getTypeLevel(20) >= 10) { return true; } else { return false; }
break;
case 29:
if($this->getTypeLevel(19) == 20 && $village->capital == 0) { return true; } else { return false; }
break;
case 30:
if($this->getTypeLevel(20) == 20 && $village->capital == 0) { return true; } else { return false; }
break;
case 34:
if($this->getTypeLevel(26) >= 3 && $this->getTypeLevel(15) >= 5 && $this->getTypeLevel(25) == 0 && $village->capital != 0) { return true; } else { return false; }
break;
case 35:
if($this->getTypeLevel(16) >= 10 && $this->getTypeLevel(11) == 20 && $session->tribe == 2 && $village->capital != 0) { return true; } else { return false; }
break;
case 36:
if($this->getTypeLevel(16) >= 1 && $session->tribe == 3) { return true; } else { return false; }
break;
case 37:
if($this->getTypeLevel(15) >= 3 && $this->getTypeLevel(16) >= 1) { return true; } else { return false; }
break;
case 38:
if($this->getTypeLevel(15) >= 10 && $village->natar == 1) { return true; } else { return false; }
break;
case 39:
if($this->getTypeLevel(15) >= 10 && $village->natar == 1) { return true; } else { return false; }
break;
case 40:
$wwlevel = $village->resarray['f99'];
if($wwlevel > 50){
$needed_plan = 1;
}else{
$needed_plan = 0;
}
$wwbuildingplan = 0;
$villages = $database->getVillagesID($session->uid);
foreach($villages as $village1){
$plan = count($database->getOwnArtefactInfoByType2($village1,11));
if($plan > 0){
$wwbuildingplan = 1;
}
}
if($session->alliance != 0){
$alli_users = $database->getUserByAlliance($session->alliance);
foreach($alli_users as $users){
$villages = $database->getVillagesID($users['id']);
if($users['id'] != $session->uid){
foreach($villages as $village1){
$plan = count($database->getOwnArtefactInfoByType2($village1,11));
if($plan > 0){
$wwbuildingplan += 1;
}
}
}
}
}
if($village->natar == 1 && $wwbuildingplan > $needed_plan) { return true; } else { return false; }
break;
case 41:
if($this->getTypeLevel(16) >= 10 && $this->getTypeLevel(20) == 20 && $session->tribe == 1) { return true; } else { return false; }
break;
case 42:
if(GREAT_WKS && $this->getTypeLevel(21) == 20 && $village->capital == 0) { return true; } else { return false; }
break;
}
switch ( $id ) {
case 1:
case 2:
case 3:
case 4:
case 11:
case 15:
case 16:
case 18:
case 23:
case 31:
case 32:
case 33:
return true;
break;
case 10:
case 20:
return ( $this->getTypeLevel( 15 ) >= 1 ) ? true : false;
break;
case 5:
if ( $this->getTypeLevel( 1 ) >= 10 && $this->getTypeLevel( 15 ) >= 5 ) {
return true;
} else {
return false;
}
break;
case 6:
if ( $this->getTypeLevel( 2 ) >= 10 && $this->getTypeLevel( 15 ) >= 5 ) {
return true;
} else {
return false;
}
break;
case 7:
if ( $this->getTypeLevel( 3 ) >= 10 && $this->getTypeLevel( 15 ) >= 5 ) {
return true;
} else {
return false;
}
break;
case 8:
if ( $this->getTypeLevel( 4 ) >= 5 ) {
return true;
} else {
return false;
}
break;
case 9:
if ( $this->getTypeLevel( 15 ) >= 5 && $this->getTypeLevel( 4 ) >= 10 && $this->getTypeLevel( 8 ) >= 5 ) {
return true;
} else {
return false;
}
break;
case 12:
if ( $this->getTypeLevel( 22 ) >= 3 && $this->getTypeLevel( 15 ) >= 3 ) {
return true;
} else {
return false;
}
break;
case 13:
if ( $this->getTypeLevel( 15 ) >= 3 && $this->getTypeLevel( 22 ) >= 1 ) {
return true;
} else {
return false;
}
break;
case 14:
if ( $this->getTypeLevel( 16 ) >= 15 ) {
return true;
} else {
return false;
}
break;
case 17:
if ( $this->getTypeLevel( 15 ) >= 3 && $this->getTypeLevel( 10 ) >= 1 && $this->getTypeLevel( 11 ) >= 1 ) {
return true;
} else {
return false;
}
break;
case 19:
if ( $this->getTypeLevel( 15 ) >= 3 && $this->getTypeLevel( 16 ) >= 1 ) {
return true;
} else {
return false;
}
break;
case 20:
if ( $this->getTypeLevel( 12 ) >= 3 && $this->getTypeLevel( 22 ) >= 5 ) {
return true;
} else {
return false;
}
break;
case 21:
if ( $this->getTypeLevel( 22 ) >= 10 && $this->getTypeLevel( 15 ) >= 5 ) {
return true;
} else {
return false;
}
break;
case 22:
if ( $this->getTypeLevel( 15 ) >= 3 && $this->getTypeLevel( 16 ) >= 1 ) {
return true;
} else {
return false;
}
break;
case 24:
if ( $this->getTypeLevel( 22 ) >= 10 && $this->getTypeLevel( 15 ) >= 10 ) {
return true;
} else {
return false;
}
break;
case 25:
if ( $this->getTypeLevel( 15 ) >= 5 && $this->getTypeLevel( 26 ) == 0 ) {
return true;
} else {
return false;
}
break;
case 26:
if ( $this->getTypeLevel( 18 ) >= 1 && $this->getTypeLevel( 15 ) >= 5 && $this->getTypeLevel( 25 ) == 0 ) {
return true;
} else {
return false;
}
break;
case 27:
if ( $this->getTypeLevel( 15 ) >= 10 ) {
return true;
} else {
return false;
}
break;
case 28:
if ( $this->getTypeLevel( 17 ) == 20 && $this->getTypeLevel( 20 ) >= 10 ) {
return true;
} else {
return false;
}
break;
case 29:
if ( $this->getTypeLevel( 19 ) == 20 && $village->capital == 0 ) {
return true;
} else {
return false;
}
break;
case 30:
if ( $this->getTypeLevel( 20 ) == 20 && $village->capital == 0 ) {
return true;
} else {
return false;
}
break;
case 34:
if ( $this->getTypeLevel( 26 ) >= 3 && $this->getTypeLevel( 15 ) >= 5 && $this->getTypeLevel( 25 ) == 0 && $village->capital != 0 ) {
return true;
} else {
return false;
}
break;
case 35:
if ( $this->getTypeLevel( 16 ) >= 10 && $this->getTypeLevel( 11 ) == 20 && $session->tribe == 2 && $village->capital != 0 ) {
return true;
} else {
return false;
}
break;
case 36:
if ( $this->getTypeLevel( 16 ) >= 1 && $session->tribe == 3 ) {
return true;
} else {
return false;
}
break;
case 37:
if ( $this->getTypeLevel( 15 ) >= 3 && $this->getTypeLevel( 16 ) >= 1 ) {
return true;
} else {
return false;
}
break;
case 38:
if ( $this->getTypeLevel( 15 ) >= 10 && $village->natar == 1 ) {
return true;
} else {
return false;
}
break;
case 39:
if ( $this->getTypeLevel( 15 ) >= 10 && $village->natar == 1 ) {
return true;
} else {
return false;
}
break;
case 40:
$wwlevel = $village->resarray['f99'];
if ( $wwlevel > 50 ) {
$needed_plan = 1;
} else {
$needed_plan = 0;
}
$wwbuildingplan = 0;
$villages = $database->getVillagesID( $session->uid );
foreach ( $villages as $village1 ) {
$plan = count( $database->getOwnArtefactInfoByType2( $village1, 11 ) );
if ( $plan > 0 ) {
$wwbuildingplan = 1;
}
}
if ( $session->alliance != 0 ) {
$alli_users = $database->getUserByAlliance( $session->alliance );
foreach ( $alli_users as $users ) {
$villages = $database->getVillagesID( $users['id'] );
if ( $users['id'] != $session->uid ) {
foreach ( $villages as $village1 ) {
$plan = count( $database->getOwnArtefactInfoByType2( $village1, 11 ) );
if ( $plan > 0 ) {
$wwbuildingplan += 1;
}
}
}
}
}
if ( $village->natar == 1 && $wwbuildingplan > $needed_plan ) {
return true;
} else {
return false;
}
break;
case 41:
if ( $this->getTypeLevel( 16 ) >= 10 && $this->getTypeLevel( 20 ) == 20 && $session->tribe == 1 ) {
return true;
} else {
return false;
}
break;
case 42:
if ( GREAT_WKS && $this->getTypeLevel( 21 ) == 20 && $village->capital == 0 ) {
return true;
} else {
return false;
}
break;
}
}
private function checkResource($tid,$id) {
+956 -835
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -140,8 +140,8 @@
unset($type);
$alliance = $session->alliance;
if(count($database->diplomacyInviteCheck($alliance))){
foreach($database->diplomacyInviteCheck($alliance) as $key => $row){
if(($dInvites = $database->diplomacyInviteCheck($alliance)) && count($dInvites)){
foreach($dInvites as $key => $row){
if($row['type'] == 1){
$type = "Conf.";
} else if($row['type'] == 2){
@@ -171,8 +171,8 @@
unset($row);
$alliance = $session->alliance;
if(count($database->diplomacyExistingRelationships($alliance))){
foreach($database->diplomacyExistingRelationships($alliance) as $key => $row){
if(($rels = $database->diplomacyExistingRelationships($alliance)) && count($rels)){
foreach($rels as $key => $row){
if($row['type'] == 1){
$type = "Conf.";
} else if($row['type'] == 2){
@@ -182,8 +182,8 @@
}
echo '<tr><td width="18"><form method="post" action="allianz.php"><input type="hidden" name="o" value="104"><input type="hidden" name="id" value="'.$row['id'].'"><input type="hidden" name="alli2" value="'.$row['alli2'].'"><input type="image" class="cancel" src="img/x.gif" title="Cancel" /></form></td><td><a href="allianz.php?aid='.$row['alli1'].'"><center>'.$database->getAllianceName($row['alli1']).'</a></center></td><td width="80"><center>'.$type.'</center></td></tr>';
}
} elseif(count($database->diplomacyExistingRelationships2($alliance))){
foreach($database->diplomacyExistingRelationships2($alliance) as $key => $row){
} elseif(($rels = $database->diplomacyExistingRelationships2($alliance)) && count($rels)){
foreach($rels as $key => $row){
if($row['type'] == 1){
$type = "Conf.";
} else if($row['type'] == 2){
+166 -164
View File
@@ -1,175 +1,177 @@
<?php
$bid = $village->resarray['f'.$id.'t'];
$bindicate = $building->canBuild($id,$bid);
$wwlevel = $village->resarray['f99'];
if($wwlevel >= 50){
$needed_plan = 1;
}else{
$needed_plan = 0;
$bid = $village->resarray[ 'f' . $id . 't' ];
$bindicate = $building->canBuild( $id, $bid );
$wwlevel = $village->resarray['f99'];
if ( $wwlevel >= 50 ) {
$needed_plan = 1;
} else {
$needed_plan = 0;
}
$wwbuildingplan = 0;
$villages = $database->getVillagesID($session->uid);
foreach($villages as $village1){
$plan = count($database->getOwnArtefactInfoByType2($village1,11));
if($plan > 0){
$wwbuildingplan = 1;
}
}
if($session->alliance != 0){
$alli_users = $database->getUserByAlliance($session->alliance);
foreach($alli_users as $users){
$villages = $database->getVillagesID($users['id']);
if($users['id'] != $session->uid){
foreach($villages as $village1){
$plan = count($database->getOwnArtefactInfoByType2($village1,11));
if($plan > 0){
$wwbuildingplan += 1;
}
}
}
}
$villages = $database->getVillagesID( $session->uid );
foreach ( $villages as $village1 ) {
$plan = count( $database->getOwnArtefactInfoByType2( $village1, 11 ) );
if ( $plan > 0 ) {
$wwbuildingplan = 1;
}
}
if($wwbuildingplan > $needed_plan){
if($bindicate == 1) {
echo "<p><span class=\"none\">".MAX_LEVEL."</span></p>";
} else if($bindicate == 10) {
echo "<p><span class=\"none\">".BUILDING_MAX_LEVEL_UNDER."</span></p>";
} else if($bindicate == 11) {
echo "<p><span class=\"none\">".BUILDING_BEING_DEMOLISHED."</span></p>";
} else {
$loopsame = ($building->isCurrent($id) || $building->isLoop($id))?1:0;
$doublebuild = ($building->isCurrent($id) && $building->isLoop($id))?1:0;
$master = count($database->getMasterJobsByField($village->wid,$id));
$uprequire = $building->resourceRequired($id,$village->resarray['f'.$id.'t'],1+$loopsame+$doublebuild+$master);
$mastertime = $uprequire['time'];
?>
<p id="contract"><b><?php echo COSTS_UPGRADING_LEVEL;?> <?php echo $village->resarray['f'.$id]+1+$loopsame+$doublebuild+$master; ?>:<br />
<img class="r1" src="img/x.gif" alt="Lumber" title="Lumber" /><span class="little_res"><?php echo $uprequire['wood']; ?></span> | <img class="r2" src="img/x.gif" alt="Clay" title="Clay" /><span class="little_res"><?php echo $uprequire['clay']; ?></span> | <img class="r3" src="img/x.gif" alt="Iron" title="Iron" /><span class="little_res"><?php echo $uprequire['iron']; ?></span> | <img class="r4" src="img/x.gif" alt="Crop" title="Crop" /><span class="little_res"><?php echo $uprequire['crop']; ?></span> | <img class="r5" src="img/x.gif" alt="Crop consumption" title="Crop consumption" /><?php echo $uprequire['pop']; ?> | <img class="clock" src="img/x.gif" alt="duration" title="duration" /><?php echo $generator->getTimeFormat($uprequire['time']);
if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) {
echo "|<a href=\"build.php?gid=17&t=3&r1=".$uprequire['wood']."&r2=".$uprequire['clay']."&r3=".$uprequire['iron']."&r4=".$uprequire['crop']."\" title=\"NPC trade\"><img class=\"npc\" src=\"img/x.gif\" alt=\"NPC trade\" title=\"NPC trade\" /></a>";
} ?><br />
<?php
if($bindicate == 2) {
echo "<span class=\"none\">".WORKERS_ALREADY_WORK."</span>";
if($session->goldclub == 1){
?> </br>
<?php
if($id <= 18) {
if($session->gold >= 1 && $village->master == 0){
echo "<a class=\"build\" href=\"dorf1.php?master=$bid&id=$id&time=$mastertime\">".CONSTRUCTING_MASTER_BUILDER." </a>";
echo '<font color="#B3B3B3">('.COSTS.': <img src="'.GP_LOCATE.'img/a/gold_g.gif" alt="Gold" title="'.GOLD.'"/>1)</font>';
}else{
echo "<span class=\"none\">".CONSTRUCTING_MASTER_BUILDER."</span>";
echo '<font color="#B3B3B3">('.COSTS.': <img src="'.GP_LOCATE.'img/a/gold_g.gif" alt="Gold" title="'.GOLD.'"/>1)</font>';
}
}else{
if($session->gold >= 1 && $village->master == 0){
echo "<a class=\"build\" href=\"dorf2.php?master=$bid&id=$id&time=$mastertime\">".CONSTRUCTING_MASTER_BUILDER." </a>";
echo '<font color="#B3B3B3">('.COSTS.': <img src="'.GP_LOCATE.'img/a/gold_g.gif" alt="Gold" title="'.GOLD.'"/>1)</font>';
}else{
echo "<span class=\"none\">".CONSTRUCTING_MASTER_BUILDER."</span>";
echo '<font color="#B3B3B3">('.COSTS.': <img src="'.GP_LOCATE.'img/a/gold_g.gif" alt="Gold" title="'.GOLD.'"/>1)</font>';
}
}
}
}
else if($bindicate == 3) {
echo "<span class=\"none\">".WORKERS_ALREADY_WORK_WAITING."</span>";
if($session->goldclub == 1){
?> </br>
<?php
if($id <= 18) {
if($session->gold >= 1 && $village->master == 0){
echo "<a class=\"build\" href=\"dorf1.php?master=$bid&id=$id&time=$mastertime\">".CONSTRUCTING_MASTER_BUILDER." </a>";
echo '<font color="#B3B3B3">('.COSTS.': <img src="'.GP_LOCATE.'img/a/gold_g.gif" alt="Gold" title="'.GOLD.'"/>1)</font>';
}else{
echo "<span class=\"none\">".CONSTRUCTING_MASTER_BUILDER."</span>";
echo '<font color="#B3B3B3">('.COSTS.': <img src="'.GP_LOCATE.'img/a/gold_g.gif" alt="Gold" title="'.GOLD.'"/>1)</font>';
}
}else{
if($session->gold >= 1 && $village->master == 0){
echo "<a class=\"build\" href=\"dorf2.php?master=$bid&id=$id&time=$mastertime\">".CONSTRUCTING_MASTER_BUILDER." </a>";
echo '<font color="#B3B3B3">('.COSTS.': <img src="'.GP_LOCATE.'img/a/gold_g.gif" alt="Gold" title="'.GOLD.'"/>1)</font>';
}else{
echo "<span class=\"none\">".CONSTRUCTING_MASTER_BUILDER."</span>";
echo '<font color="#B3B3B3">('.COSTS.': <img src="'.GP_LOCATE.'img/a/gold_g.gif" alt="Gold" title="'.GOLD.'"/>1)</font>';
}
}
}
}
else if($bindicate == 4) {
echo "<span class=\"none\">".ENOUGH_FOOD_EXPAND_CROPLAND."</span>";
}
else if($bindicate == 5) {
echo "<span class=\"none\">".UPGRADE_WAREHOUSE.".</span>";
}
else if($bindicate == 6) {
echo "<span class=\"none\">".UPGRADE_GRANARY.".</span>";
}
else if($bindicate == 7) {
if($village->allcrop > 0){
$neededtime = $building->calculateAvaliable($id,$village->resarray['f'.$id.'t'],1+$loopsame+$doublebuild+$master);
echo "<span class=\"none\">".ENOUGH_RESOURCES." ".$neededtime[0]." at ".$neededtime[1]."</span>";
}else{
echo "<span class=\"none\">".YOUR_CROP_NEGATIVE."</span>";
}
if($session->goldclub == 1){
?> </br>
<?php
if($id <= 18) {
if($session->gold >= 1 && $village->master == 0){
echo "<a class=\"build\" href=\"dorf1.php?master=$bid&id=$id&time=$mastertime\">".CONSTRUCTING_MASTER_BUILDER." </a>";
echo '<font color="#B3B3B3">('.COSTS.': <img src="'.GP_LOCATE.'img/a/gold_g.gif" alt="Gold" title="'.GOLD.'"/>1)</font>';
}else{
echo "<span class=\"none\">".CONSTRUCTING_MASTER_BUILDER."</span>";
echo '<font color="#B3B3B3">('.COSTS.': <img src="'.GP_LOCATE.'img/a/gold_g.gif" alt="Gold" title="'.GOLD.'"/>1)</font>';
}
}else{
if($session->gold >= 1 && $village->master == 0){
echo "<a class=\"build\" href=\"dorf2.php?master=$bid&id=$id&time=$mastertime\">".CONSTRUCTING_MASTER_BUILDER." </a>";
echo '<font color="#B3B3B3">('.COSTS.': <img src="'.GP_LOCATE.'img/a/gold_g.gif" alt="Gold" title="'.GOLD.'"/>1)</font>';
}else{
echo "<span class=\"none\">".CONSTRUCTING_MASTER_BUILDER."</span>";
echo '<font color="#B3B3B3">('.COSTS.': <img src="'.GP_LOCATE.'img/a/gold_g.gif" alt="Gold" title="'.GOLD.'"/>1)</font>';
}
}
}
}
else if($bindicate == 8) {
if($session->access==BANNED){
echo "<a class=\"build\" href=\"banned.php\">".UPGRADE_LEVEL." ";
}
else if($id <= 18) {
echo "<a class=\"build\" href=\"dorf1.php?a=$id&c=$session->checker\">".UPGRADE_LEVEL." ";
if ( $session->alliance != 0 ) {
$alli_users = $database->getUserByAlliance( $session->alliance );
foreach ( $alli_users as $users ) {
$villages = $database->getVillagesID( $users['id'] );
if ( $users['id'] != $session->uid ) {
foreach ( $villages as $village1 ) {
$plan = count( $database->getOwnArtefactInfoByType2( $village1, 11 ) );
if ( $plan > 0 ) {
$wwbuildingplan += 1;
}
}
}
else {
echo "<a class=\"build\" href=\"dorf2.php?a=$id&c=$session->checker\">".UPGRADE_LEVEL." ";
}
echo $village->resarray['f'.$id]+1;
echo ".</a>";
}
else if($bindicate == 9) {
if($session->access==BANNED){
echo "<a class=\"build\" href=\"banned.php\">".UPGRADE_LEVEL." ";
}
else if($id <= 18) {
echo "<a class=\"build\" href=\"dorf1.php?a=$id&c=$session->checker\">".UPGRADE_LEVEL." ";
}
else {
echo "<a class=\"build\" href=\"dorf2.php?a=$id&c=$session->checker\">".UPGRADE_LEVEL." ";
}
echo $village->resarray['f'.$id]+($loopsame > 0 ? 2:1);
echo ".</a> <span class=\"none\">".WAITING."</span> ";
}
}
}else{
if($needed_plan == 0){
echo "<span class=\"none\">".NEED_WWCONSTRUCTION_PLAN.".</span>";
}else{
echo "<span class=\"none\">".NEED_MORE_WWCONSTRUCTION_PLAN.".</span>";
}
}
if ( $wwbuildingplan > $needed_plan ) {
if ( $bindicate == 1 ) {
echo "<p><span class=\"none\">" . MAX_LEVEL . "</span></p>";
} else if ( $bindicate == 10 ) {
echo "<p><span class=\"none\">" . BUILDING_MAX_LEVEL_UNDER . "</span></p>";
} else if ( $bindicate == 11 ) {
echo "<p><span class=\"none\">" . BUILDING_BEING_DEMOLISHED . "</span></p>";
} else {
$loopsame = ( $building->isCurrent( $id ) || $building->isLoop( $id ) ) ? 1 : 0;
$doublebuild = ( $building->isCurrent( $id ) && $building->isLoop( $id ) ) ? 1 : 0;
$master = count( $database->getMasterJobsByField( $village->wid, $id ) );
$uprequire = $building->resourceRequired( $id, $village->resarray[ 'f' . $id . 't' ], 1 + $loopsame + $doublebuild + $master );
$mastertime = $uprequire['time'];
?>
<p id="contract">
<b><?php echo COSTS_UPGRADING_LEVEL; ?> <?php echo $village->resarray[ 'f' . $id ] + 1 + $loopsame + $doublebuild + $master; ?>
:<br/>
<img class="r1" src="img/x.gif" alt="Lumber" title="Lumber"/><span
class="little_res"><?php echo $uprequire['wood']; ?></span> | <img class="r2" src="img/x.gif" alt="Clay"
title="Clay"/><span
class="little_res"><?php echo $uprequire['clay']; ?></span> | <img class="r3" src="img/x.gif" alt="Iron"
title="Iron"/><span
class="little_res"><?php echo $uprequire['iron']; ?></span> | <img class="r4" src="img/x.gif" alt="Crop"
title="Crop"/><span
class="little_res"><?php echo $uprequire['crop']; ?></span> | <img class="r5" src="img/x.gif"
alt="Crop consumption"
title="Crop consumption"/><?php echo $uprequire['pop']; ?>
| <img class="clock" src="img/x.gif" alt="duration"
title="duration"/><?php echo $generator->getTimeFormat( $uprequire['time'] );
if ( $session->userinfo['gold'] >= 3 && $building->getTypeLevel( 17 ) >= 1 ) {
echo "|<a href=\"build.php?gid=17&t=3&r1=" . $uprequire['wood'] . "&r2=" . $uprequire['clay'] . "&r3=" . $uprequire['iron'] . "&r4=" . $uprequire['crop'] . "\" title=\"NPC trade\"><img class=\"npc\" src=\"img/x.gif\" alt=\"NPC trade\" title=\"NPC trade\" /></a>";
} ?><br/>
<?php
if ( $bindicate == 2 ) {
echo "<span class=\"none\">" . WORKERS_ALREADY_WORK . "</span>";
if ( $session->goldclub == 1 ) {
?> </br>
<?php
if ( $id <= 18 ) {
if ( $session->gold >= 1 && $village->master == 0 ) {
echo "<a class=\"build\" href=\"dorf1.php?master=$bid&id=$id&time=$mastertime\">" . CONSTRUCTING_MASTER_BUILDER . " </a>";
echo '<font color="#B3B3B3">(' . COSTS . ': <img src="' . GP_LOCATE . 'img/a/gold_g.gif" alt="Gold" title="' . GOLD . '"/>1)</font>';
} else {
echo "<span class=\"none\">" . CONSTRUCTING_MASTER_BUILDER . "</span>";
echo '<font color="#B3B3B3">(' . COSTS . ': <img src="' . GP_LOCATE . 'img/a/gold_g.gif" alt="Gold" title="' . GOLD . '"/>1)</font>';
}
} else {
if ( $session->gold >= 1 && $village->master == 0 ) {
echo "<a class=\"build\" href=\"dorf2.php?master=$bid&id=$id&time=$mastertime\">" . CONSTRUCTING_MASTER_BUILDER . " </a>";
echo '<font color="#B3B3B3">(' . COSTS . ': <img src="' . GP_LOCATE . 'img/a/gold_g.gif" alt="Gold" title="' . GOLD . '"/>1)</font>';
} else {
echo "<span class=\"none\">" . CONSTRUCTING_MASTER_BUILDER . "</span>";
echo '<font color="#B3B3B3">(' . COSTS . ': <img src="' . GP_LOCATE . 'img/a/gold_g.gif" alt="Gold" title="' . GOLD . '"/>1)</font>';
}
}
}
} else if ( $bindicate == 3 ) {
echo "<span class=\"none\">" . WORKERS_ALREADY_WORK_WAITING . "</span>";
if ( $session->goldclub == 1 ) {
?> </br>
<?php
if ( $id <= 18 ) {
if ( $session->gold >= 1 && $village->master == 0 ) {
echo "<a class=\"build\" href=\"dorf1.php?master=$bid&id=$id&time=$mastertime\">" . CONSTRUCTING_MASTER_BUILDER . " </a>";
echo '<font color="#B3B3B3">(' . COSTS . ': <img src="' . GP_LOCATE . 'img/a/gold_g.gif" alt="Gold" title="' . GOLD . '"/>1)</font>';
} else {
echo "<span class=\"none\">" . CONSTRUCTING_MASTER_BUILDER . "</span>";
echo '<font color="#B3B3B3">(' . COSTS . ': <img src="' . GP_LOCATE . 'img/a/gold_g.gif" alt="Gold" title="' . GOLD . '"/>1)</font>';
}
} else {
if ( $session->gold >= 1 && $village->master == 0 ) {
echo "<a class=\"build\" href=\"dorf2.php?master=$bid&id=$id&time=$mastertime\">" . CONSTRUCTING_MASTER_BUILDER . " </a>";
echo '<font color="#B3B3B3">(' . COSTS . ': <img src="' . GP_LOCATE . 'img/a/gold_g.gif" alt="Gold" title="' . GOLD . '"/>1)</font>';
} else {
echo "<span class=\"none\">" . CONSTRUCTING_MASTER_BUILDER . "</span>";
echo '<font color="#B3B3B3">(' . COSTS . ': <img src="' . GP_LOCATE . 'img/a/gold_g.gif" alt="Gold" title="' . GOLD . '"/>1)</font>';
}
}
}
} else if ( $bindicate == 4 ) {
echo "<span class=\"none\">" . ENOUGH_FOOD_EXPAND_CROPLAND . "</span>";
} else if ( $bindicate == 5 ) {
echo "<span class=\"none\">" . UPGRADE_WAREHOUSE . ".</span>";
} else if ( $bindicate == 6 ) {
echo "<span class=\"none\">" . UPGRADE_GRANARY . ".</span>";
} else if ( $bindicate == 7 ) {
if ( $village->allcrop > 0 ) {
$neededtime = $building->calculateAvaliable( $id, $village->resarray[ 'f' . $id . 't' ], 1 + $loopsame + $doublebuild + $master );
echo "<span class=\"none\">" . ENOUGH_RESOURCES . " " . $neededtime[0] . " at " . $neededtime[1] . "</span>";
} else {
echo "<span class=\"none\">" . YOUR_CROP_NEGATIVE . "</span>";
}
if ( $session->goldclub == 1 ) {
?> </br>
<?php
if ( $id <= 18 ) {
if ( $session->gold >= 1 && $village->master == 0 ) {
echo "<a class=\"build\" href=\"dorf1.php?master=$bid&id=$id&time=$mastertime\">" . CONSTRUCTING_MASTER_BUILDER . " </a>";
echo '<font color="#B3B3B3">(' . COSTS . ': <img src="' . GP_LOCATE . 'img/a/gold_g.gif" alt="Gold" title="' . GOLD . '"/>1)</font>';
} else {
echo "<span class=\"none\">" . CONSTRUCTING_MASTER_BUILDER . "</span>";
echo '<font color="#B3B3B3">(' . COSTS . ': <img src="' . GP_LOCATE . 'img/a/gold_g.gif" alt="Gold" title="' . GOLD . '"/>1)</font>';
}
} else {
if ( $session->gold >= 1 && $village->master == 0 ) {
echo "<a class=\"build\" href=\"dorf2.php?master=$bid&id=$id&time=$mastertime\">" . CONSTRUCTING_MASTER_BUILDER . " </a>";
echo '<font color="#B3B3B3">(' . COSTS . ': <img src="' . GP_LOCATE . 'img/a/gold_g.gif" alt="Gold" title="' . GOLD . '"/>1)</font>';
} else {
echo "<span class=\"none\">" . CONSTRUCTING_MASTER_BUILDER . "</span>";
echo '<font color="#B3B3B3">(' . COSTS . ': <img src="' . GP_LOCATE . 'img/a/gold_g.gif" alt="Gold" title="' . GOLD . '"/>1)</font>';
}
}
}
} else if ( $bindicate == 8 ) {
if ( $session->access == BANNED ) {
echo "<a class=\"build\" href=\"banned.php\">" . UPGRADE_LEVEL . " ";
} else if ( $id <= 18 ) {
echo "<a class=\"build\" href=\"dorf1.php?a=$id&c=$session->checker\">" . UPGRADE_LEVEL . " ";
} else {
echo "<a class=\"build\" href=\"dorf2.php?a=$id&c=$session->checker\">" . UPGRADE_LEVEL . " ";
}
echo $village->resarray[ 'f' . $id ] + 1;
echo ".</a>";
} else if ( $bindicate == 9 ) {
if ( $session->access == BANNED ) {
echo "<a class=\"build\" href=\"banned.php\">" . UPGRADE_LEVEL . " ";
} else if ( $id <= 18 ) {
echo "<a class=\"build\" href=\"dorf1.php?a=$id&c=$session->checker\">" . UPGRADE_LEVEL . " ";
} else {
echo "<a class=\"build\" href=\"dorf2.php?a=$id&c=$session->checker\">" . UPGRADE_LEVEL . " ";
}
echo $village->resarray[ 'f' . $id ] + ( $loopsame > 0 ? 2 : 1 );
echo ".</a> <span class=\"none\">" . WAITING . "</span> ";
}
}
} else {
if ( $needed_plan == 0 ) {
echo "<span class=\"none\">" . NEED_WWCONSTRUCTION_PLAN . ".</span>";
} else {
echo "<span class=\"none\">" . NEED_MORE_WWCONSTRUCTION_PLAN . ".</span>";
}
}
?>
+285 -259
View File
@@ -13,282 +13,308 @@
use App\Utils\AccessLogger;
ob_start();
include_once("GameEngine/Village.php");
include_once("GameEngine/Units.php");
include_once( "GameEngine/Village.php" );
include_once( "GameEngine/Units.php" );
AccessLogger::logRequest();
if(isset($_GET['newdid'])) {
$_SESSION['wid'] = $_GET['newdid'];
header("Location: ".$_SERVER['PHP_SELF'].(isset($_GET['id'])?'?id='.$_GET['id']:(isset($_GET['gid'])?'?gid='.$_GET['gid']:'')));
exit;
if ( isset( $_GET['newdid'] ) ) {
$_SESSION['wid'] = $_GET['newdid'];
header( "Location: " . $_SERVER['PHP_SELF'] . ( isset( $_GET['id'] ) ? '?id=' . $_GET['id'] : ( isset( $_GET['gid'] ) ? '?gid=' . $_GET['gid'] : '' ) ) );
exit;
}
if(isset($_GET['id']) && $_GET['id'] == 99 && $village->natar == 0){
header("Location: dorf2.php");
exit;
if ( isset( $_GET['id'] ) && $_GET['id'] == 99 && $village->natar == 0 ) {
header( "Location: dorf2.php" );
exit;
}
$pagestart = $generator->pageLoadTimeStart();
$alliance->procAlliForm($_POST);
$technology->procTech($_POST);
$market->procMarket($_POST);
if(isset($_GET['gid'])) {
$_GET['id'] = strval($building->getTypeField(preg_replace("/[^a-zA-Z0-9_-]/","",$_GET['gid'])));
} else if(isset($_POST['id'])) {
$_GET['id'] = preg_replace("/[^a-zA-Z0-9_-]/","",$_POST['id']); // WTF is this?
}
if(isset($_POST['t'])){
$_GET['t'] = preg_replace("/[^a-zA-Z0-9_-]/","",$_POST['t']);
}
if(isset($_GET['id'])) {
if (!ctype_digit(preg_replace("/[^a-zA-Z0-9_-]/","",$_GET['id']))){
$_GET['id'] = "1";
}
$checkBuildings = array(0,16,17,25,26,27);
if($_GET['id'] < 19 || (isset($_GET['gid']) && !in_array($_GET['gid'], $checkBuildings))){
$_GET['t'] = "";
$_GET['s'] = "";
}
if($village->resarray['f'.$_GET['id'].'t'] == 17) {
$market->procRemove($_GET);
}
if($village->resarray['f'.$_GET['id'].'t'] == 18) {
$alliance->procAlliance($_GET);
}
if($village->resarray['f'.$_GET['id'].'t'] == 12 || $village->resarray['f'.$_GET['id'].'t'] == 13 || $village->resarray['f'.$_GET['id'].'t'] == 22) {
$technology->procTechno($_GET);
}
}
if($session->goldclub == 1 && count($session->villages) > 1){
if(isset($_GET['routeid'])){
$routeid = $_GET['routeid'];
}
if(isset($_POST['action']) && $_POST['action'] == 'addRoute') {
if($session->access != BANNED){
if($session->gold >= 2) {
for($i=1;$i<=4;$i++){
if($_POST['r'.$i] == ""){
$_POST['r'.$i] = 0;
}
}
$totalres = preg_replace("/[^0-9]/","",$_POST['r1'])+preg_replace("/[^0-9]/","",$_POST['r2'])+preg_replace("/[^0-9]/","",$_POST['r3'])+preg_replace("/[^0-9]/","",$_POST['r4']);
$reqMerc = ceil(($totalres-0.1)/$market->maxcarry);
$second = date("s");
$minute = date("i");
$hour = date("G")-$_POST['start'];
if(date("G") > $_POST['start']){
$day = 1;
}else{
$day = 0;
}
$timestamp = strtotime("-$hour hours -$second second -$minute minutes +$day day");
if($totalres > 0){
$database->createTradeRoute($session->uid,$_POST['tvillage'],$village->wid,$_POST['r1'],$_POST['r2'],$_POST['r3'],$_POST['r4'],$_POST['start'],$_POST['deliveries'],$reqMerc,$timestamp);
header("Location: build.php?gid=17&t=4");
exit;
$route = 1;
}else{
header("Location: build.php?gid=17&t=4&create");
exit;
$route = 1;
}
}
}else{
$route = 0;
header("Location: banned.php");
exit;
}
}
if(isset($_GET['action']) && $_GET['action'] == 'extendRoute') {
if($session->access != BANNED){
if($session->gold >= 2) {
$traderoute = $database->getTradeRouteUid($_GET['routeid']);
if($traderoute == $session->uid){
$database->editTradeRoute($_GET['routeid'],"timeleft",604800,1);
$newgold = $session->gold-2;
$database->updateUserField($session->uid,'gold',$newgold,1);
header("Location: build.php?gid=17&t=4");
exit;
$route = 1;
unset($routeid);
}else{
header("Location: build.php?gid=17&t=4");
exit;
$route = 1;
unset($routeid);
}
}else{
header("Location: build.php?gid=17&t=4");
exit;
$route = 1;
}
}else{
$route = 0;
header("Location: banned.php");
exit;
}
}
if(isset($_POST['action']) && $_POST['action'] == 'editRoute') {
if($session->access != BANNED){
$totalres = $_POST['r1']+$_POST['r2']+$_POST['r3']+$_POST['r4'];
$reqMerc = ceil(($totalres-0.1)/$market->maxcarry);
if($totalres > 0){
$database->editTradeRoute($_POST['routeid'],"wood",$_POST['r1'],0);
$database->editTradeRoute($_POST['routeid'],"clay",$_POST['r2'],0);
$database->editTradeRoute($_POST['routeid'],"iron",$_POST['r3'],0);
$database->editTradeRoute($_POST['routeid'],"crop",$_POST['r4'],0);
$database->editTradeRoute($_POST['routeid'],"start",$_POST['start'],0);
$database->editTradeRoute($_POST['routeid'],"deliveries",$_POST['deliveries'],0);
$database->editTradeRoute($_POST['routeid'],"merchant",$reqMerc,0);
$second = date("s");
$minute = date("i");
$hour = date("G")-$_POST['start'];
if(date("G") > $_POST['start']){
$day = 1;
}else{
$day = 0;
}
$timestamp = strtotime("-$hour hours -$second seconds -$minute minutes +$day day");
$database->editTradeRoute($_POST['routeid'],"timestamp",$timestamp,0);
}
header("Location: build.php?gid=17&t=4");
exit;
$route = 1;
unset($routeid);
}else{
$route = 0;
header("Location: banned.php");
exit;
}
}
if(isset($_GET['action']) && $_GET['action'] == 'delRoute') {
if($session->access != BANNED){
$traderoute = $database->getTradeRouteUid($_GET['routeid']);
if($traderoute == $session->uid){
$database->deleteTradeRoute($_GET['routeid']);
header("Location: build.php?gid=17&t=4");
exit;
$route = 1;
unset($routeid);
}else{
header("Location: build.php?gid=17&t=4");
exit;
$route = 1;
unset($routeid);
}
}else{
$route = 0;
header("Location: banned.php");
exit;
}
}
}
if($session->goldclub == 1){
if(isset($_GET['t'])==99) {
$alliance->procAlliForm( $_POST );
$technology->procTech( $_POST );
$market->procMarket( $_POST );
if(isset($_GET['action']) && $_GET['action'] == 'addList') {
$create = 1;
}else if(isset($_GET['action']) && $_GET['action'] == 'addraid') {
$create = 2;
}else if(isset($_GET['action']) && $_GET['action'] == 'showSlot' && $_GET['eid']) {
$create = 3;
}else{
$create = 0;
}
if(isset($_GET['slid']) && $_GET['slid']) {
$FLData = $database->getFLData($_GET['slid']);
if($FLData['owner'] == $session->uid){
$checked[$_GET['slid']] = 1;
}
}
if(isset($_GET['action']) && $_GET['action'] == 'deleteList') {
$database->delFarmList($_GET['lid'], $session->uid);
header("Location: build.php?id=39&t=99");
exit;
}elseif(isset($_GET['action']) && $_GET['action'] == 'deleteSlot') {
$database->delSlotFarm($_GET['eid']);
header("Location: build.php?id=39&t=99");
exit;
}
if(isset($_POST['action']) && $_POST['action'] == 'startRaid'){
if($session->access != BANNED){
include ("Templates/a2b/startRaid.tpl");
}else{
header("Location: banned.php");
exit;
}
}
if(isset($_GET['slid']) && is_numeric($_GET['slid'])) {
$FLData = $database->getFLData($_GET['slid']);
if($FLData['owner'] == $session->uid){
$checked[$_GET['slid']] = 1;
}
}
if(isset($_GET['evasion']) && is_numeric($_GET['evasion'])) {
$evasionvillage = $database->getVillage($_GET['evasion']);
if($evasionvillage['owner'] == $session->uid){
$database->setVillageEvasion($_GET['evasion']);
}
header("Location: build.php?id=39&t=99");
exit;
}
if(isset($_POST['maxevasion']) && is_numeric($_POST['maxevasion'])) {
$database->updateUserField($session->uid, "maxevasion", $_POST['maxevasion'], 1);
header("Location: build.php?id=39&t=99");
exit;
}
}
}else{
$create = 0;
if ( isset( $_GET['gid'] ) ) {
$_GET['id'] = strval( $building->getTypeField( preg_replace( "/[^a-zA-Z0-9_-]/", "", $_GET['gid'] ) ) );
} else if ( isset( $_POST['id'] ) ) {
$_GET['id'] = preg_replace( "/[^a-zA-Z0-9_-]/", "", $_POST['id'] ); // WTF is this?
}
if (isset($_POST['a']) == 533374 && isset($_POST['id']) == 39){
if($session->access != BANNED){
$units->Settlers($_POST);
}else{
header("Location: banned.php");
exit;
if ( isset( $_POST['t'] ) ) {
$_GET['t'] = preg_replace( "/[^a-zA-Z0-9_-]/", "", $_POST['t'] );
}
if ( isset( $_GET['id'] ) ) {
if ( ! ctype_digit( preg_replace( "/[^a-zA-Z0-9_-]/", "", $_GET['id'] ) ) ) {
$_GET['id'] = "1";
}
$checkBuildings = array( 0, 16, 17, 25, 26, 27 );
if ( $_GET['id'] < 19 || ( isset( $_GET['gid'] ) && ! in_array( $_GET['gid'], $checkBuildings ) ) ) {
$_GET['t'] = "";
$_GET['s'] = "";
}
if ( $village->resarray[ 'f' . $_GET['id'] . 't' ] == 17 ) {
$market->procRemove( $_GET );
}
if ( $village->resarray[ 'f' . $_GET['id'] . 't' ] == 18 ) {
$alliance->procAlliance( $_GET );
}
if ( $village->resarray[ 'f' . $_GET['id'] . 't' ] == 12 || $village->resarray[ 'f' . $_GET['id'] . 't' ] == 13 || $village->resarray[ 'f' . $_GET['id'] . 't' ] == 22 ) {
$technology->procTechno( $_GET );
}
}
if(isset($_GET['mode']) && $_GET['mode']=='troops' && isset($_GET['cancel']) && $_GET['cancel']==1){
if($session->access != BANNED){
$oldmovement=$database->getMovementById($_GET['moveid']);
$now=time();
if(($now-$oldmovement[0]['starttime'])<90 && $oldmovement[0]['from'] == $village->wid){
$qc="SELECT Count(*) as Total FROM " . TB_PREFIX . "movement where proc = 0 and moveid = ".$database->escape((int) $_GET['moveid']);
$resultc=mysqli_fetch_array(mysqli_query($database->dblink, $qc), MYSQLI_ASSOC);
if ( $session->goldclub == 1 && count( $session->villages ) > 1 ) {
if ( isset( $_GET['routeid'] ) ) {
$routeid = $_GET['routeid'];
}
if ($resultc['Total']==1){
if ( isset( $_POST['action'] ) && $_POST['action'] == 'addRoute' ) {
if ( $session->access != BANNED ) {
if ( $session->gold >= 2 ) {
for ( $i = 1; $i <= 4; $i ++ ) {
if ( $_POST[ 'r' . $i ] == "" ) {
$_POST[ 'r' . $i ] = 0;
}
}
$q = "UPDATE " . TB_PREFIX . "movement set proc = 1 where proc = 0 and moveid = ".$database->escape((int) $_GET['moveid']);
$database->query($q);
$end=$now+($now-$oldmovement[0]['starttime']);
//echo "6,".$oldmovement[0]['to'].",".$oldmovement[0]['from'].",0,".$now.",".$end;
$q2 = "SELECT id FROM " . TB_PREFIX . "send ORDER BY id DESC";
$lastid=mysqli_fetch_array(mysqli_query($GLOBALS['link'],$q2));
$newid=$lastid['id']+1;
$q2 = "INSERT INTO " . TB_PREFIX . "send values ($newid,0,0,0,0,0)";
$database->query($q2);
$database->addMovement(4,$oldmovement[0]['to'],$oldmovement[0]['from'],$oldmovement[0]['ref'],$now,$end);
$totalres = preg_replace( "/[^0-9]/", "", $_POST['r1'] ) + preg_replace( "/[^0-9]/", "", $_POST['r2'] ) + preg_replace( "/[^0-9]/", "", $_POST['r3'] ) + preg_replace( "/[^0-9]/", "", $_POST['r4'] );
$reqMerc = ceil( ( $totalres - 0.1 ) / $market->maxcarry );
$second = date( "s" );
$minute = date( "i" );
$hour = date( "G" ) - $_POST['start'];
if ( date( "G" ) > $_POST['start'] ) {
$day = 1;
} else {
$day = 0;
}
$timestamp = strtotime( "-$hour hours -$second second -$minute minutes +$day day" );
if ( $totalres > 0 ) {
$database->createTradeRoute( $session->uid, $_POST['tvillage'], $village->wid, $_POST['r1'], $_POST['r2'], $_POST['r3'], $_POST['r4'], $_POST['start'], $_POST['deliveries'], $reqMerc, $timestamp );
header( "Location: build.php?gid=17&t=4" );
exit;
$route = 1;
} else {
header( "Location: build.php?gid=17&t=4&create" );
exit;
$route = 1;
}
}
} else {
$route = 0;
header( "Location: banned.php" );
exit;
}
}
if ( isset( $_GET['action'] ) && $_GET['action'] == 'extendRoute' ) {
if ( $session->access != BANNED ) {
if ( $session->gold >= 2 ) {
$traderoute = $database->getTradeRouteUid( $_GET['routeid'] );
if ( $traderoute == $session->uid ) {
$database->editTradeRoute( $_GET['routeid'], "timeleft", 604800, 1 );
$newgold = $session->gold - 2;
$database->updateUserField( $session->uid, 'gold', $newgold, 1 );
header( "Location: build.php?gid=17&t=4" );
exit;
$route = 1;
unset( $routeid );
} else {
header( "Location: build.php?gid=17&t=4" );
exit;
$route = 1;
unset( $routeid );
}
} else {
header( "Location: build.php?gid=17&t=4" );
exit;
$route = 1;
}
} else {
$route = 0;
header( "Location: banned.php" );
exit;
}
}
if ( isset( $_POST['action'] ) && $_POST['action'] == 'editRoute' ) {
if ( $session->access != BANNED ) {
$totalres = $_POST['r1'] + $_POST['r2'] + $_POST['r3'] + $_POST['r4'];
$reqMerc = ceil( ( $totalres - 0.1 ) / $market->maxcarry );
if ( $totalres > 0 ) {
$database->editTradeRoute( $_POST['routeid'], "wood", $_POST['r1'], 0 );
$database->editTradeRoute( $_POST['routeid'], "clay", $_POST['r2'], 0 );
$database->editTradeRoute( $_POST['routeid'], "iron", $_POST['r3'], 0 );
$database->editTradeRoute( $_POST['routeid'], "crop", $_POST['r4'], 0 );
$database->editTradeRoute( $_POST['routeid'], "start", $_POST['start'], 0 );
$database->editTradeRoute( $_POST['routeid'], "deliveries", $_POST['deliveries'], 0 );
$database->editTradeRoute( $_POST['routeid'], "merchant", $reqMerc, 0 );
$second = date( "s" );
$minute = date( "i" );
$hour = date( "G" ) - $_POST['start'];
if ( date( "G" ) > $_POST['start'] ) {
$day = 1;
} else {
$day = 0;
}
$timestamp = strtotime( "-$hour hours -$second seconds -$minute minutes +$day day" );
$database->editTradeRoute( $_POST['routeid'], "timestamp", $timestamp, 0 );
}
header( "Location: build.php?gid=17&t=4" );
exit;
$route = 1;
unset( $routeid );
} else {
$route = 0;
header( "Location: banned.php" );
exit;
}
}
if ( isset( $_GET['action'] ) && $_GET['action'] == 'delRoute' ) {
if ( $session->access != BANNED ) {
$traderoute = $database->getTradeRouteUid( $_GET['routeid'] );
if ( $traderoute == $session->uid ) {
$database->deleteTradeRoute( $_GET['routeid'] );
header( "Location: build.php?gid=17&t=4" );
exit;
$route = 1;
unset( $routeid );
} else {
header( "Location: build.php?gid=17&t=4" );
exit;
$route = 1;
unset( $routeid );
}
} else {
$route = 0;
header( "Location: banned.php" );
exit;
}
}
}
if ( $session->goldclub == 1 ) {
if ( isset( $_GET['t'] ) == 99 ) {
if ( isset( $_GET['action'] ) && $_GET['action'] == 'addList' ) {
$create = 1;
} else if ( isset( $_GET['action'] ) && $_GET['action'] == 'addraid' ) {
$create = 2;
} else if ( isset( $_GET['action'] ) && $_GET['action'] == 'showSlot' && $_GET['eid'] ) {
$create = 3;
} else {
$create = 0;
}
if ( isset( $_GET['slid'] ) && $_GET['slid'] ) {
$FLData = $database->getFLData( $_GET['slid'] );
if ( $FLData['owner'] == $session->uid ) {
$checked[ $_GET['slid'] ] = 1;
}
}
if ( isset( $_GET['action'] ) && $_GET['action'] == 'deleteList' ) {
$database->delFarmList( $_GET['lid'], $session->uid );
header( "Location: build.php?id=39&t=99" );
exit;
} elseif ( isset( $_GET['action'] ) && $_GET['action'] == 'deleteSlot' ) {
$database->delSlotFarm( $_GET['eid'] );
header( "Location: build.php?id=39&t=99" );
exit;
}
if ( isset( $_POST['action'] ) && $_POST['action'] == 'startRaid' ) {
if ( $session->access != BANNED ) {
include( "Templates/a2b/startRaid.tpl" );
} else {
header( "Location: banned.php" );
exit;
}
}
if ( isset( $_GET['slid'] ) && is_numeric( $_GET['slid'] ) ) {
$FLData = $database->getFLData( $_GET['slid'] );
if ( $FLData['owner'] == $session->uid ) {
$checked[ $_GET['slid'] ] = 1;
}
}
if ( isset( $_GET['evasion'] ) && is_numeric( $_GET['evasion'] ) ) {
$evasionvillage = $database->getVillage( $_GET['evasion'] );
if ( $evasionvillage['owner'] == $session->uid ) {
$database->setVillageEvasion( $_GET['evasion'] );
}
header( "Location: build.php?id=39&t=99" );
exit;
}
if ( isset( $_POST['maxevasion'] ) && is_numeric( $_POST['maxevasion'] ) ) {
$database->updateUserField( $session->uid, "maxevasion", $_POST['maxevasion'], 1 );
header( "Location: build.php?id=39&t=99" );
exit;
}
}
} else {
$create = 0;
}
if ( isset( $_POST['a'] ) == 533374 && isset( $_POST['id'] ) == 39 ) {
if ( $session->access != BANNED ) {
$units->Settlers( $_POST );
} else {
header( "Location: banned.php" );
exit;
}
}
if ( isset( $_GET['mode'] ) && $_GET['mode'] == 'troops' && isset( $_GET['cancel'] ) && $_GET['cancel'] == 1 ) {
if ( $session->access != BANNED ) {
$oldmovement = $database->getMovementById( $_GET['moveid'] );
$now = time();
if ( ( $now - $oldmovement[0]['starttime'] ) < 90 && $oldmovement[0]['from'] == $village->wid ) {
$qc = "SELECT Count(*) as Total FROM " . TB_PREFIX . "movement where proc = 0 and moveid = " . $database->escape( (int) $_GET['moveid'] );
$resultc = mysqli_fetch_array( mysqli_query( $database->dblink, $qc ), MYSQLI_ASSOC );
if ( $resultc['Total'] == 1 ) {
$q = "UPDATE " . TB_PREFIX . "movement set proc = 1 where proc = 0 and moveid = " . $database->escape( (int) $_GET['moveid'] );
$database->query( $q );
$end = $now + ( $now - $oldmovement[0]['starttime'] );
//echo "6,".$oldmovement[0]['to'].",".$oldmovement[0]['from'].",0,".$now.",".$end;
$q2 = "SELECT id FROM " . TB_PREFIX . "send ORDER BY id DESC";
$lastid = mysqli_fetch_array( mysqli_query( $GLOBALS['link'], $q2 ) );
$newid = $lastid['id'] + 1;
$q2 = "INSERT INTO " . TB_PREFIX . "send values ($newid,0,0,0,0,0)";
$database->query( $q2 );
$database->addMovement( 4, $oldmovement[0]['to'], $oldmovement[0]['from'], $oldmovement[0]['ref'], $now, $end );
$database->addMovement(6,$oldmovement[0]['to'],$oldmovement[0]['from'],$newid,$now,$end);
}
$database->addMovement( 6, $oldmovement[0]['to'], $oldmovement[0]['from'], $newid, $now, $end );
}
}
header( "Location: " . $_SERVER['PHP_SELF'] . "?id=" . $_GET['id'] );
exit;
} else {
header( "Location: banned.php" );
exit;
}
}
header("Location: ".$_SERVER['PHP_SELF']."?id=".$_GET['id']);
exit;
}else{
header("Location: banned.php");
exit;
}
}
if(isset($_GET['id'])){
$automation->isWinner();
if ( isset( $_GET['id'] ) ) {
$automation->isWinner();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+55 -49
View File
@@ -13,61 +13,67 @@
use App\Utils\AccessLogger;
include_once("GameEngine/Village.php");
include_once( "GameEngine/Village.php" );
AccessLogger::logRequest();
$start_timer = $generator->pageLoadTimeStart();
$message->procMessage($_POST);
if(isset($_GET['t']) && $_GET['t'] == 1){
$automation->isWinner();
$message->procMessage( $_POST );
if ( isset( $_GET['t'] ) && $_GET['t'] == 1 ) {
$automation->isWinner();
}
if(isset($_GET['newdid'])) {
$_SESSION['wid'] = $_GET['newdid'];
if(isset($_GET['t'])) {
header("Location: ".$_SERVER['PHP_SELF']."?t=".$_GET['t']);
exit;
}else if($_GET['id']!=0) {
header("Location: ".$_SERVER['PHP_SELF']."?id=".$_GET['id']);
exit;
}else{
header("Location: ".$_SERVER['PHP_SELF']);
exit;
if ( isset( $_GET['newdid'] ) ) {
$_SESSION['wid'] = $_GET['newdid'];
if ( isset( $_GET['t'] ) ) {
header( "Location: " . $_SERVER['PHP_SELF'] . "?t=" . $_GET['t'] );
exit;
} else if ( $_GET['id'] != 0 ) {
header( "Location: " . $_SERVER['PHP_SELF'] . "?id=" . $_GET['id'] );
exit;
} else {
header( "Location: " . $_SERVER['PHP_SELF'] );
exit;
}
}
if ( isset( $_GET['delfriend'] ) && is_numeric( $_GET['delfriend'] ) ) {
$friend = $database->getUserField( $session->uid, "friend" . $_GET['delfriend'], 0 );
for ( $i = 0; $i <= 19; $i ++ ) {
$friend1 = $database->getUserField( $friend, "friend" . $i, 0 );
if ( $friend1 == $session->uid ) {
$database->deleteFriend( $friend, "friend" . $i );
}
$friendwait1 = $database->getUserField( $friend, "friend" . $i . "wait", 0 );
if ( $friendwait1 == $session->uid ) {
$database->deleteFriend( $friend, "friend" . $i . "wait" );
}
$database->checkFriends( $friend );
}
$database->deleteFriend( $session->uid, "friend" . $_GET['delfriend'] );
$database->deleteFriend( $session->uid, "friend" . $_GET['delfriend'] . "wait" );
$database->checkFriends( $session->uid );
header( "Location: " . $_SERVER['PHP_SELF'] . "?t=1" );
exit;
}
if(isset($_GET['delfriend']) && is_numeric($_GET['delfriend'])){
$friend = $database->getUserField($session->uid, "friend".$_GET['delfriend'], 0);
for($i=0;$i<=19;$i++) {
$friend1 = $database->getUserField($friend, "friend".$i, 0);
if($friend1 == $session->uid){
$database->deleteFriend($friend,"friend".$i);
}
$friendwait1 = $database->getUserField($friend, "friend".$i."wait", 0);
if($friendwait1 == $session->uid){
$database->deleteFriend($friend,"friend".$i."wait");
}
$database->checkFriends($friend);
}
$database->deleteFriend($session->uid,"friend".$_GET['delfriend']);
$database->deleteFriend($session->uid,"friend".$_GET['delfriend']."wait");
$database->checkFriends($session->uid);
header("Location: ".$_SERVER['PHP_SELF']."?t=1");
exit;
}
if(isset($_GET['confirm']) && is_numeric($_GET['confirm'])){
$myid = $database->getUserArray($session->uid, 1);
$wait = $database->getUserArray($myid['friend'.$_GET['confirm'].'wait'], 1);
$added = 0;
for($i=0;$i<20;$i++) {
$user = $database->getUserField($wait['id'], "friend".$i, 0);
if($user == $session->uid && $added == 0){
$database->addFriend($wait['id'],"friend".$i."wait",0);
$added = 1;
}
}
$database->addFriend($session->uid,"friend".$_GET['confirm'],$wait['id']);
$database->addFriend($session->uid,"friend".$_GET['confirm']."wait",0);
header("Location: ".$_SERVER['PHP_SELF']."?t=1");
exit;
if ( isset( $_GET['confirm'] ) && is_numeric( $_GET['confirm'] ) ) {
$myid = $database->getUserArray( $session->uid, 1 );
$wait = $database->getUserArray( $myid[ 'friend' . $_GET['confirm'] . 'wait' ], 1 );
$added = 0;
for ( $i = 0; $i < 20; $i ++ ) {
$user = $database->getUserField( $wait['id'], "friend" . $i, 0 );
if ( $user == $session->uid && $added == 0 ) {
$database->addFriend( $wait['id'], "friend" . $i . "wait", 0 );
$added = 1;
}
}
$database->addFriend( $session->uid, "friend" . $_GET['confirm'], $wait['id'] );
$database->addFriend( $session->uid, "friend" . $_GET['confirm'] . "wait", 0 );
header( "Location: " . $_SERVER['PHP_SELF'] . "?t=1" );
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+1
View File
@@ -2,6 +2,7 @@
ALTER TABLE `s1_prisoners` DROP INDEX `from`, ADD INDEX `from-t11` (`from`, `t11`);
ALTER TABLE `s1_enforcement` DROP INDEX `from`, ADD INDEX `from` (`from`, `hero`) USING BTREE;
ALTER TABLE `s1_forum_post` CHANGE `date` `date` INT NULL DEFAULT NULL;
ALTER TABLE `s1_market` DROP INDEX `vref-accept`, ADD INDEX `vref-accept-merchant` (`vref`, `accept`, `merchant`) USING BTREE;
-- 8.11.2017 -> query optimizations and cleanups
+1 -1
View File
@@ -982,7 +982,7 @@ CREATE TABLE IF NOT EXISTS `%PREFIX%market` (
`alliance` int(11) NULL,
`merchant` tinyint(2) NULL,
PRIMARY KEY (`id`),
KEY `vref-accept` (`vref`,`accept`)
KEY `vref-accept-merchant` (`vref`,`accept`,`merchant`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
--