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']; $aName = $_POST['a_name'];
$aType = (int)intval($_POST['dipl']); $aType = (int)intval($_POST['dipl']);
if($database->aExist($aName, "tag")) { 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($aType >= 1 and $aType <= 3) {
if(!$database->diplomacyInviteCheck2($session->alliance, $database->getAllianceID($aName))) { if(!$database->diplomacyInviteCheck2($session->alliance, $allianceID)) {
$database->diplomacyInviteAdd($session->alliance, $database->getAllianceID($aName), $aType); $database->diplomacyInviteAdd($session->alliance, $allianceID, $aType);
if($aType == 1){ if($aType == 1){
$notice = "offer a confederation to"; $notice = "offer a confederation to";
}else if($aType == 2){ }else if($aType == 2){
@@ -532,7 +533,7 @@ class Alliance {
}else if($aType == 3){ }else if($aType == 3){
$notice = "declare war on"; $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"); $form->addError("name", "Invite sended");
} else { } else {
$form->addError("name", "You have already sended them a invite"); $form->addError("name", "You have already sended them a invite");
+180 -29
View File
@@ -470,6 +470,7 @@ class Building {
private function meetRequirement($id) { private function meetRequirement($id) {
global $village,$session,$database; global $village,$session,$database;
switch ( $id ) { switch ( $id ) {
case 1: case 1:
case 2: case 2:
@@ -485,95 +486,229 @@ class Building {
case 33: case 33:
return true; return true;
break; break;
case 10: case 10:
case 20: case 20:
return ( $this->getTypeLevel( 15 ) >= 1 ) ? true : false; return ( $this->getTypeLevel( 15 ) >= 1 ) ? true : false;
break; break;
case 5: case 5:
if($this->getTypeLevel(1) >= 10 && $this->getTypeLevel(15) >= 5) { return true; } else { return false; } if ( $this->getTypeLevel( 1 ) >= 10 && $this->getTypeLevel( 15 ) >= 5 ) {
return true;
} else {
return false;
}
break; break;
case 6: case 6:
if($this->getTypeLevel(2) >= 10 && $this->getTypeLevel(15) >= 5) { return true; } else { return false; } if ( $this->getTypeLevel( 2 ) >= 10 && $this->getTypeLevel( 15 ) >= 5 ) {
return true;
} else {
return false;
}
break; break;
case 7: case 7:
if($this->getTypeLevel(3) >= 10 && $this->getTypeLevel(15) >= 5) { return true; } else { return false; } if ( $this->getTypeLevel( 3 ) >= 10 && $this->getTypeLevel( 15 ) >= 5 ) {
return true;
} else {
return false;
}
break; break;
case 8: case 8:
if($this->getTypeLevel(4) >= 5) { return true; } else { return false; } if ( $this->getTypeLevel( 4 ) >= 5 ) {
return true;
} else {
return false;
}
break; break;
case 9: case 9:
if($this->getTypeLevel(15) >= 5 && $this->getTypeLevel(4) >= 10 && $this->getTypeLevel(8) >= 5) { return true; } else { return false; } if ( $this->getTypeLevel( 15 ) >= 5 && $this->getTypeLevel( 4 ) >= 10 && $this->getTypeLevel( 8 ) >= 5 ) {
return true;
} else {
return false;
}
break; break;
case 12: case 12:
if($this->getTypeLevel(22) >= 3 && $this->getTypeLevel(15) >= 3) { return true; } else { return false; } if ( $this->getTypeLevel( 22 ) >= 3 && $this->getTypeLevel( 15 ) >= 3 ) {
return true;
} else {
return false;
}
break; break;
case 13: case 13:
if($this->getTypeLevel(15) >= 3 && $this->getTypeLevel(22) >= 1) { return true; } else { return false; } if ( $this->getTypeLevel( 15 ) >= 3 && $this->getTypeLevel( 22 ) >= 1 ) {
return true;
} else {
return false;
}
break; break;
case 14: case 14:
if($this->getTypeLevel(16) >= 15) { return true; } else { return false; } if ( $this->getTypeLevel( 16 ) >= 15 ) {
return true;
} else {
return false;
}
break; break;
case 17: case 17:
if($this->getTypeLevel(15) >= 3 && $this->getTypeLevel(10) >= 1 && $this->getTypeLevel(11) >= 1) { return true; } else { return false; } if ( $this->getTypeLevel( 15 ) >= 3 && $this->getTypeLevel( 10 ) >= 1 && $this->getTypeLevel( 11 ) >= 1 ) {
return true;
} else {
return false;
}
break; break;
case 19: case 19:
if($this->getTypeLevel(15) >= 3 && $this->getTypeLevel(16) >= 1) { return true; } else { return false; } if ( $this->getTypeLevel( 15 ) >= 3 && $this->getTypeLevel( 16 ) >= 1 ) {
return true;
} else {
return false;
}
break; break;
case 20: case 20:
if($this->getTypeLevel(12) >= 3 && $this->getTypeLevel(22) >= 5) { return true; } else { return false; } if ( $this->getTypeLevel( 12 ) >= 3 && $this->getTypeLevel( 22 ) >= 5 ) {
return true;
} else {
return false;
}
break; break;
case 21: case 21:
if($this->getTypeLevel(22) >= 10 && $this->getTypeLevel(15) >= 5) { return true; } else { return false; } if ( $this->getTypeLevel( 22 ) >= 10 && $this->getTypeLevel( 15 ) >= 5 ) {
return true;
} else {
return false;
}
break; break;
case 22: case 22:
if($this->getTypeLevel(15) >= 3 && $this->getTypeLevel(16) >= 1) { return true; } else { return false; } if ( $this->getTypeLevel( 15 ) >= 3 && $this->getTypeLevel( 16 ) >= 1 ) {
return true;
} else {
return false;
}
break; break;
case 24: case 24:
if($this->getTypeLevel(22) >= 10 && $this->getTypeLevel(15) >= 10) { return true; } else { return false; } if ( $this->getTypeLevel( 22 ) >= 10 && $this->getTypeLevel( 15 ) >= 10 ) {
return true;
} else {
return false;
}
break; break;
case 25: case 25:
if($this->getTypeLevel(15) >= 5 && $this->getTypeLevel(26) == 0) { return true; } else { return false; } if ( $this->getTypeLevel( 15 ) >= 5 && $this->getTypeLevel( 26 ) == 0 ) {
return true;
} else {
return false;
}
break; break;
case 26: case 26:
if($this->getTypeLevel(18) >= 1 && $this->getTypeLevel(15) >= 5 && $this->getTypeLevel(25) == 0) { return true; } else { return false; } if ( $this->getTypeLevel( 18 ) >= 1 && $this->getTypeLevel( 15 ) >= 5 && $this->getTypeLevel( 25 ) == 0 ) {
return true;
} else {
return false;
}
break; break;
case 27: case 27:
if($this->getTypeLevel(15) >= 10) { return true; } else { return false; } if ( $this->getTypeLevel( 15 ) >= 10 ) {
return true;
} else {
return false;
}
break; break;
case 28: case 28:
if($this->getTypeLevel(17) == 20 && $this->getTypeLevel(20) >= 10) { return true; } else { return false; } if ( $this->getTypeLevel( 17 ) == 20 && $this->getTypeLevel( 20 ) >= 10 ) {
return true;
} else {
return false;
}
break; break;
case 29: case 29:
if($this->getTypeLevel(19) == 20 && $village->capital == 0) { return true; } else { return false; } if ( $this->getTypeLevel( 19 ) == 20 && $village->capital == 0 ) {
return true;
} else {
return false;
}
break; break;
case 30: case 30:
if($this->getTypeLevel(20) == 20 && $village->capital == 0) { return true; } else { return false; } if ( $this->getTypeLevel( 20 ) == 20 && $village->capital == 0 ) {
return true;
} else {
return false;
}
break; break;
case 34: case 34:
if($this->getTypeLevel(26) >= 3 && $this->getTypeLevel(15) >= 5 && $this->getTypeLevel(25) == 0 && $village->capital != 0) { return true; } else { return false; } if ( $this->getTypeLevel( 26 ) >= 3 && $this->getTypeLevel( 15 ) >= 5 && $this->getTypeLevel( 25 ) == 0 && $village->capital != 0 ) {
return true;
} else {
return false;
}
break; break;
case 35: case 35:
if($this->getTypeLevel(16) >= 10 && $this->getTypeLevel(11) == 20 && $session->tribe == 2 && $village->capital != 0) { return true; } else { return false; } if ( $this->getTypeLevel( 16 ) >= 10 && $this->getTypeLevel( 11 ) == 20 && $session->tribe == 2 && $village->capital != 0 ) {
return true;
} else {
return false;
}
break; break;
case 36: case 36:
if($this->getTypeLevel(16) >= 1 && $session->tribe == 3) { return true; } else { return false; } if ( $this->getTypeLevel( 16 ) >= 1 && $session->tribe == 3 ) {
return true;
} else {
return false;
}
break; break;
case 37: case 37:
if($this->getTypeLevel(15) >= 3 && $this->getTypeLevel(16) >= 1) { return true; } else { return false; } if ( $this->getTypeLevel( 15 ) >= 3 && $this->getTypeLevel( 16 ) >= 1 ) {
return true;
} else {
return false;
}
break; break;
case 38: case 38:
if($this->getTypeLevel(15) >= 10 && $village->natar == 1) { return true; } else { return false; } if ( $this->getTypeLevel( 15 ) >= 10 && $village->natar == 1 ) {
return true;
} else {
return false;
}
break; break;
case 39: case 39:
if($this->getTypeLevel(15) >= 10 && $village->natar == 1) { return true; } else { return false; } if ( $this->getTypeLevel( 15 ) >= 10 && $village->natar == 1 ) {
return true;
} else {
return false;
}
break; break;
case 40: case 40:
$wwlevel = $village->resarray['f99']; $wwlevel = $village->resarray['f99'];
if ( $wwlevel > 50 ) { if ( $wwlevel > 50 ) {
$needed_plan = 1; $needed_plan = 1;
} else { } else {
$needed_plan = 0; $needed_plan = 0;
} }
$wwbuildingplan = 0; $wwbuildingplan = 0;
$villages = $database->getVillagesID( $session->uid ); $villages = $database->getVillagesID( $session->uid );
foreach ( $villages as $village1 ) { foreach ( $villages as $village1 ) {
@@ -582,6 +717,7 @@ class Building {
$wwbuildingplan = 1; $wwbuildingplan = 1;
} }
} }
if ( $session->alliance != 0 ) { if ( $session->alliance != 0 ) {
$alli_users = $database->getUserByAlliance( $session->alliance ); $alli_users = $database->getUserByAlliance( $session->alliance );
foreach ( $alli_users as $users ) { foreach ( $alli_users as $users ) {
@@ -596,13 +732,28 @@ class Building {
} }
} }
} }
if($village->natar == 1 && $wwbuildingplan > $needed_plan) { return true; } else { return false; }
if ( $village->natar == 1 && $wwbuildingplan > $needed_plan ) {
return true;
} else {
return false;
}
break; break;
case 41: case 41:
if($this->getTypeLevel(16) >= 10 && $this->getTypeLevel(20) == 20 && $session->tribe == 1) { return true; } else { return false; } if ( $this->getTypeLevel( 16 ) >= 10 && $this->getTypeLevel( 20 ) == 20 && $session->tribe == 1 ) {
return true;
} else {
return false;
}
break; break;
case 42: case 42:
if(GREAT_WKS && $this->getTypeLevel(21) == 20 && $village->capital == 0) { return true; } else { return false; } if ( GREAT_WKS && $this->getTypeLevel( 21 ) == 20 && $village->capital == 0 ) {
return true;
} else {
return false;
}
break; break;
} }
} }
+701 -580
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -140,8 +140,8 @@
unset($type); unset($type);
$alliance = $session->alliance; $alliance = $session->alliance;
if(count($database->diplomacyInviteCheck($alliance))){ if(($dInvites = $database->diplomacyInviteCheck($alliance)) && count($dInvites)){
foreach($database->diplomacyInviteCheck($alliance) as $key => $row){ foreach($dInvites as $key => $row){
if($row['type'] == 1){ if($row['type'] == 1){
$type = "Conf."; $type = "Conf.";
} else if($row['type'] == 2){ } else if($row['type'] == 2){
@@ -171,8 +171,8 @@
unset($row); unset($row);
$alliance = $session->alliance; $alliance = $session->alliance;
if(count($database->diplomacyExistingRelationships($alliance))){ if(($rels = $database->diplomacyExistingRelationships($alliance)) && count($rels)){
foreach($database->diplomacyExistingRelationships($alliance) as $key => $row){ foreach($rels as $key => $row){
if($row['type'] == 1){ if($row['type'] == 1){
$type = "Conf."; $type = "Conf.";
} else if($row['type'] == 2){ } 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>'; 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))){ } elseif(($rels = $database->diplomacyExistingRelationships2($alliance)) && count($rels)){
foreach($database->diplomacyExistingRelationships2($alliance) as $key => $row){ foreach($rels as $key => $row){
if($row['type'] == 1){ if($row['type'] == 1){
$type = "Conf."; $type = "Conf.";
} else if($row['type'] == 2){ } else if($row['type'] == 2){
+27 -25
View File
@@ -16,6 +16,7 @@ if($plan > 0){
$wwbuildingplan = 1; $wwbuildingplan = 1;
} }
} }
if ( $session->alliance != 0 ) { if ( $session->alliance != 0 ) {
$alli_users = $database->getUserByAlliance( $session->alliance ); $alli_users = $database->getUserByAlliance( $session->alliance );
foreach ( $alli_users as $users ) { foreach ( $alli_users as $users ) {
@@ -45,8 +46,21 @@ if($bindicate == 1) {
$uprequire = $building->resourceRequired( $id, $village->resarray[ 'f' . $id . 't' ], 1 + $loopsame + $doublebuild + $master ); $uprequire = $building->resourceRequired( $id, $village->resarray[ 'f' . $id . 't' ], 1 + $loopsame + $doublebuild + $master );
$mastertime = $uprequire['time']; $mastertime = $uprequire['time'];
?> ?>
<p id="contract"><b><?php echo COSTS_UPGRADING_LEVEL;?> <?php echo $village->resarray['f'.$id]+1+$loopsame+$doublebuild+$master; ?>:<br /> <p id="contract">
<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']); <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 ) { 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>"; 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/> } ?><br/>
@@ -74,8 +88,7 @@ if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) {
} }
} }
} }
} } else if ( $bindicate == 3 ) {
else if($bindicate == 3) {
echo "<span class=\"none\">" . WORKERS_ALREADY_WORK_WAITING . "</span>"; echo "<span class=\"none\">" . WORKERS_ALREADY_WORK_WAITING . "</span>";
if ( $session->goldclub == 1 ) { if ( $session->goldclub == 1 ) {
?> </br> ?> </br>
@@ -98,17 +111,13 @@ if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) {
} }
} }
} }
} } else if ( $bindicate == 4 ) {
else if($bindicate == 4) {
echo "<span class=\"none\">" . ENOUGH_FOOD_EXPAND_CROPLAND . "</span>"; echo "<span class=\"none\">" . ENOUGH_FOOD_EXPAND_CROPLAND . "</span>";
} } else if ( $bindicate == 5 ) {
else if($bindicate == 5) {
echo "<span class=\"none\">" . UPGRADE_WAREHOUSE . ".</span>"; echo "<span class=\"none\">" . UPGRADE_WAREHOUSE . ".</span>";
} } else if ( $bindicate == 6 ) {
else if($bindicate == 6) {
echo "<span class=\"none\">" . UPGRADE_GRANARY . ".</span>"; echo "<span class=\"none\">" . UPGRADE_GRANARY . ".</span>";
} } else if ( $bindicate == 7 ) {
else if($bindicate == 7) {
if ( $village->allcrop > 0 ) { if ( $village->allcrop > 0 ) {
$neededtime = $building->calculateAvaliable( $id, $village->resarray[ 'f' . $id . 't' ], 1 + $loopsame + $doublebuild + $master ); $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>"; echo "<span class=\"none\">" . ENOUGH_RESOURCES . " " . $neededtime[0] . " at " . $neededtime[1] . "</span>";
@@ -136,28 +145,22 @@ if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) {
} }
} }
} }
} } else if ( $bindicate == 8 ) {
else if($bindicate == 8) {
if ( $session->access == BANNED ) { if ( $session->access == BANNED ) {
echo "<a class=\"build\" href=\"banned.php\">" . UPGRADE_LEVEL . " "; echo "<a class=\"build\" href=\"banned.php\">" . UPGRADE_LEVEL . " ";
} } else if ( $id <= 18 ) {
else if($id <= 18) {
echo "<a class=\"build\" href=\"dorf1.php?a=$id&c=$session->checker\">" . UPGRADE_LEVEL . " "; echo "<a class=\"build\" href=\"dorf1.php?a=$id&c=$session->checker\">" . UPGRADE_LEVEL . " ";
} } else {
else {
echo "<a class=\"build\" href=\"dorf2.php?a=$id&c=$session->checker\">" . UPGRADE_LEVEL . " "; echo "<a class=\"build\" href=\"dorf2.php?a=$id&c=$session->checker\">" . UPGRADE_LEVEL . " ";
} }
echo $village->resarray[ 'f' . $id ] + 1; echo $village->resarray[ 'f' . $id ] + 1;
echo ".</a>"; echo ".</a>";
} } else if ( $bindicate == 9 ) {
else if($bindicate == 9) {
if ( $session->access == BANNED ) { if ( $session->access == BANNED ) {
echo "<a class=\"build\" href=\"banned.php\">" . UPGRADE_LEVEL . " "; echo "<a class=\"build\" href=\"banned.php\">" . UPGRADE_LEVEL . " ";
} } else if ( $id <= 18 ) {
else if($id <= 18) {
echo "<a class=\"build\" href=\"dorf1.php?a=$id&c=$session->checker\">" . UPGRADE_LEVEL . " "; echo "<a class=\"build\" href=\"dorf1.php?a=$id&c=$session->checker\">" . UPGRADE_LEVEL . " ";
} } else {
else {
echo "<a class=\"build\" href=\"dorf2.php?a=$id&c=$session->checker\">" . UPGRADE_LEVEL . " "; echo "<a class=\"build\" href=\"dorf2.php?a=$id&c=$session->checker\">" . UPGRADE_LEVEL . " ";
} }
echo $village->resarray[ 'f' . $id ] + ( $loopsame > 0 ? 2 : 1 ); echo $village->resarray[ 'f' . $id ] + ( $loopsame > 0 ? 2 : 1 );
@@ -171,5 +174,4 @@ if($session->userinfo['gold'] >= 3 && $building->getTypeLevel(17) >= 1) {
echo "<span class=\"none\">" . NEED_MORE_WWCONSTRUCTION_PLAN . ".</span>"; echo "<span class=\"none\">" . NEED_MORE_WWCONSTRUCTION_PLAN . ".</span>";
} }
} }
?> ?>
+26
View File
@@ -31,37 +31,47 @@ $pagestart = $generator->pageLoadTimeStart();
$alliance->procAlliForm( $_POST ); $alliance->procAlliForm( $_POST );
$technology->procTech( $_POST ); $technology->procTech( $_POST );
$market->procMarket( $_POST ); $market->procMarket( $_POST );
if ( isset( $_GET['gid'] ) ) { if ( isset( $_GET['gid'] ) ) {
$_GET['id'] = strval( $building->getTypeField( preg_replace( "/[^a-zA-Z0-9_-]/", "", $_GET['gid'] ) ) ); $_GET['id'] = strval( $building->getTypeField( preg_replace( "/[^a-zA-Z0-9_-]/", "", $_GET['gid'] ) ) );
} else if ( isset( $_POST['id'] ) ) { } else if ( isset( $_POST['id'] ) ) {
$_GET['id'] = preg_replace( "/[^a-zA-Z0-9_-]/", "", $_POST['id'] ); // WTF is this? $_GET['id'] = preg_replace( "/[^a-zA-Z0-9_-]/", "", $_POST['id'] ); // WTF is this?
} }
if ( isset( $_POST['t'] ) ) { if ( isset( $_POST['t'] ) ) {
$_GET['t'] = preg_replace( "/[^a-zA-Z0-9_-]/", "", $_POST['t'] ); $_GET['t'] = preg_replace( "/[^a-zA-Z0-9_-]/", "", $_POST['t'] );
} }
if ( isset( $_GET['id'] ) ) { if ( isset( $_GET['id'] ) ) {
if ( ! ctype_digit( preg_replace( "/[^a-zA-Z0-9_-]/", "", $_GET['id'] ) ) ) { if ( ! ctype_digit( preg_replace( "/[^a-zA-Z0-9_-]/", "", $_GET['id'] ) ) ) {
$_GET['id'] = "1"; $_GET['id'] = "1";
} }
$checkBuildings = array( 0, 16, 17, 25, 26, 27 ); $checkBuildings = array( 0, 16, 17, 25, 26, 27 );
if ( $_GET['id'] < 19 || ( isset( $_GET['gid'] ) && ! in_array( $_GET['gid'], $checkBuildings ) ) ) { if ( $_GET['id'] < 19 || ( isset( $_GET['gid'] ) && ! in_array( $_GET['gid'], $checkBuildings ) ) ) {
$_GET['t'] = ""; $_GET['t'] = "";
$_GET['s'] = ""; $_GET['s'] = "";
} }
if ( $village->resarray[ 'f' . $_GET['id'] . 't' ] == 17 ) { if ( $village->resarray[ 'f' . $_GET['id'] . 't' ] == 17 ) {
$market->procRemove( $_GET ); $market->procRemove( $_GET );
} }
if ( $village->resarray[ 'f' . $_GET['id'] . 't' ] == 18 ) { if ( $village->resarray[ 'f' . $_GET['id'] . 't' ] == 18 ) {
$alliance->procAlliance( $_GET ); $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 ) { 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 ); $technology->procTechno( $_GET );
} }
} }
if ( $session->goldclub == 1 && count( $session->villages ) > 1 ) { if ( $session->goldclub == 1 && count( $session->villages ) > 1 ) {
if ( isset( $_GET['routeid'] ) ) { if ( isset( $_GET['routeid'] ) ) {
$routeid = $_GET['routeid']; $routeid = $_GET['routeid'];
} }
if ( isset( $_POST['action'] ) && $_POST['action'] == 'addRoute' ) { if ( isset( $_POST['action'] ) && $_POST['action'] == 'addRoute' ) {
if ( $session->access != BANNED ) { if ( $session->access != BANNED ) {
if ( $session->gold >= 2 ) { if ( $session->gold >= 2 ) {
@@ -70,17 +80,21 @@ if($session->goldclub == 1 && count($session->villages) > 1){
$_POST[ 'r' . $i ] = 0; $_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'] ); $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 ); $reqMerc = ceil( ( $totalres - 0.1 ) / $market->maxcarry );
$second = date( "s" ); $second = date( "s" );
$minute = date( "i" ); $minute = date( "i" );
$hour = date( "G" ) - $_POST['start']; $hour = date( "G" ) - $_POST['start'];
if ( date( "G" ) > $_POST['start'] ) { if ( date( "G" ) > $_POST['start'] ) {
$day = 1; $day = 1;
} else { } else {
$day = 0; $day = 0;
} }
$timestamp = strtotime( "-$hour hours -$second second -$minute minutes +$day day" ); $timestamp = strtotime( "-$hour hours -$second second -$minute minutes +$day day" );
if ( $totalres > 0 ) { 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 ); $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" ); header( "Location: build.php?gid=17&t=4" );
@@ -98,10 +112,12 @@ if($session->goldclub == 1 && count($session->villages) > 1){
exit; exit;
} }
} }
if ( isset( $_GET['action'] ) && $_GET['action'] == 'extendRoute' ) { if ( isset( $_GET['action'] ) && $_GET['action'] == 'extendRoute' ) {
if ( $session->access != BANNED ) { if ( $session->access != BANNED ) {
if ( $session->gold >= 2 ) { if ( $session->gold >= 2 ) {
$traderoute = $database->getTradeRouteUid( $_GET['routeid'] ); $traderoute = $database->getTradeRouteUid( $_GET['routeid'] );
if ( $traderoute == $session->uid ) { if ( $traderoute == $session->uid ) {
$database->editTradeRoute( $_GET['routeid'], "timeleft", 604800, 1 ); $database->editTradeRoute( $_GET['routeid'], "timeleft", 604800, 1 );
$newgold = $session->gold - 2; $newgold = $session->gold - 2;
@@ -116,6 +132,7 @@ if($session->goldclub == 1 && count($session->villages) > 1){
$route = 1; $route = 1;
unset( $routeid ); unset( $routeid );
} }
} else { } else {
header( "Location: build.php?gid=17&t=4" ); header( "Location: build.php?gid=17&t=4" );
exit; exit;
@@ -127,10 +144,12 @@ if($session->goldclub == 1 && count($session->villages) > 1){
exit; exit;
} }
} }
if ( isset( $_POST['action'] ) && $_POST['action'] == 'editRoute' ) { if ( isset( $_POST['action'] ) && $_POST['action'] == 'editRoute' ) {
if ( $session->access != BANNED ) { if ( $session->access != BANNED ) {
$totalres = $_POST['r1'] + $_POST['r2'] + $_POST['r3'] + $_POST['r4']; $totalres = $_POST['r1'] + $_POST['r2'] + $_POST['r3'] + $_POST['r4'];
$reqMerc = ceil( ( $totalres - 0.1 ) / $market->maxcarry ); $reqMerc = ceil( ( $totalres - 0.1 ) / $market->maxcarry );
if ( $totalres > 0 ) { if ( $totalres > 0 ) {
$database->editTradeRoute( $_POST['routeid'], "wood", $_POST['r1'], 0 ); $database->editTradeRoute( $_POST['routeid'], "wood", $_POST['r1'], 0 );
$database->editTradeRoute( $_POST['routeid'], "clay", $_POST['r2'], 0 ); $database->editTradeRoute( $_POST['routeid'], "clay", $_POST['r2'], 0 );
@@ -150,6 +169,7 @@ if($session->goldclub == 1 && count($session->villages) > 1){
$timestamp = strtotime( "-$hour hours -$second seconds -$minute minutes +$day day" ); $timestamp = strtotime( "-$hour hours -$second seconds -$minute minutes +$day day" );
$database->editTradeRoute( $_POST['routeid'], "timestamp", $timestamp, 0 ); $database->editTradeRoute( $_POST['routeid'], "timestamp", $timestamp, 0 );
} }
header( "Location: build.php?gid=17&t=4" ); header( "Location: build.php?gid=17&t=4" );
exit; exit;
$route = 1; $route = 1;
@@ -160,9 +180,11 @@ if($session->goldclub == 1 && count($session->villages) > 1){
exit; exit;
} }
} }
if ( isset( $_GET['action'] ) && $_GET['action'] == 'delRoute' ) { if ( isset( $_GET['action'] ) && $_GET['action'] == 'delRoute' ) {
if ( $session->access != BANNED ) { if ( $session->access != BANNED ) {
$traderoute = $database->getTradeRouteUid( $_GET['routeid'] ); $traderoute = $database->getTradeRouteUid( $_GET['routeid'] );
if ( $traderoute == $session->uid ) { if ( $traderoute == $session->uid ) {
$database->deleteTradeRoute( $_GET['routeid'] ); $database->deleteTradeRoute( $_GET['routeid'] );
header( "Location: build.php?gid=17&t=4" ); header( "Location: build.php?gid=17&t=4" );
@@ -182,6 +204,7 @@ if($session->goldclub == 1 && count($session->villages) > 1){
} }
} }
} }
if ( $session->goldclub == 1 ) { if ( $session->goldclub == 1 ) {
if ( isset( $_GET['t'] ) == 99 ) { if ( isset( $_GET['t'] ) == 99 ) {
@@ -211,6 +234,7 @@ if($session->goldclub == 1){
header( "Location: build.php?id=39&t=99" ); header( "Location: build.php?id=39&t=99" );
exit; exit;
} }
if ( isset( $_POST['action'] ) && $_POST['action'] == 'startRaid' ) { if ( isset( $_POST['action'] ) && $_POST['action'] == 'startRaid' ) {
if ( $session->access != BANNED ) { if ( $session->access != BANNED ) {
include( "Templates/a2b/startRaid.tpl" ); include( "Templates/a2b/startRaid.tpl" );
@@ -254,10 +278,12 @@ header("Location: banned.php");
exit; exit;
} }
} }
if ( isset( $_GET['mode'] ) && $_GET['mode'] == 'troops' && isset( $_GET['cancel'] ) && $_GET['cancel'] == 1 ) { if ( isset( $_GET['mode'] ) && $_GET['mode'] == 'troops' && isset( $_GET['cancel'] ) && $_GET['cancel'] == 1 ) {
if ( $session->access != BANNED ) { if ( $session->access != BANNED ) {
$oldmovement = $database->getMovementById( $_GET['moveid'] ); $oldmovement = $database->getMovementById( $_GET['moveid'] );
$now = time(); $now = time();
if ( ( $now - $oldmovement[0]['starttime'] ) < 90 && $oldmovement[0]['from'] == $village->wid ) { 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'] ); $qc = "SELECT Count(*) as Total FROM " . TB_PREFIX . "movement where proc = 0 and moveid = " . $database->escape( (int) $_GET['moveid'] );
+6
View File
@@ -34,8 +34,10 @@ if(isset($_GET['t'])) {
exit; exit;
} }
} }
if ( isset( $_GET['delfriend'] ) && is_numeric( $_GET['delfriend'] ) ) { if ( isset( $_GET['delfriend'] ) && is_numeric( $_GET['delfriend'] ) ) {
$friend = $database->getUserField( $session->uid, "friend" . $_GET['delfriend'], 0 ); $friend = $database->getUserField( $session->uid, "friend" . $_GET['delfriend'], 0 );
for ( $i = 0; $i <= 19; $i ++ ) { for ( $i = 0; $i <= 19; $i ++ ) {
$friend1 = $database->getUserField( $friend, "friend" . $i, 0 ); $friend1 = $database->getUserField( $friend, "friend" . $i, 0 );
if ( $friend1 == $session->uid ) { if ( $friend1 == $session->uid ) {
@@ -47,16 +49,19 @@ $database->deleteFriend($friend,"friend".$i."wait");
} }
$database->checkFriends( $friend ); $database->checkFriends( $friend );
} }
$database->deleteFriend( $session->uid, "friend" . $_GET['delfriend'] ); $database->deleteFriend( $session->uid, "friend" . $_GET['delfriend'] );
$database->deleteFriend( $session->uid, "friend" . $_GET['delfriend'] . "wait" ); $database->deleteFriend( $session->uid, "friend" . $_GET['delfriend'] . "wait" );
$database->checkFriends( $session->uid ); $database->checkFriends( $session->uid );
header( "Location: " . $_SERVER['PHP_SELF'] . "?t=1" ); header( "Location: " . $_SERVER['PHP_SELF'] . "?t=1" );
exit; exit;
} }
if ( isset( $_GET['confirm'] ) && is_numeric( $_GET['confirm'] ) ) { if ( isset( $_GET['confirm'] ) && is_numeric( $_GET['confirm'] ) ) {
$myid = $database->getUserArray( $session->uid, 1 ); $myid = $database->getUserArray( $session->uid, 1 );
$wait = $database->getUserArray( $myid[ 'friend' . $_GET['confirm'] . 'wait' ], 1 ); $wait = $database->getUserArray( $myid[ 'friend' . $_GET['confirm'] . 'wait' ], 1 );
$added = 0; $added = 0;
for ( $i = 0; $i < 20; $i ++ ) { for ( $i = 0; $i < 20; $i ++ ) {
$user = $database->getUserField( $wait['id'], "friend" . $i, 0 ); $user = $database->getUserField( $wait['id'], "friend" . $i, 0 );
if ( $user == $session->uid && $added == 0 ) { if ( $user == $session->uid && $added == 0 ) {
@@ -64,6 +69,7 @@ $database->addFriend($wait['id'],"friend".$i."wait",0);
$added = 1; $added = 1;
} }
} }
$database->addFriend( $session->uid, "friend" . $_GET['confirm'], $wait['id'] ); $database->addFriend( $session->uid, "friend" . $_GET['confirm'], $wait['id'] );
$database->addFriend( $session->uid, "friend" . $_GET['confirm'] . "wait", 0 ); $database->addFriend( $session->uid, "friend" . $_GET['confirm'] . "wait", 0 );
header( "Location: " . $_SERVER['PHP_SELF'] . "?t=1" ); header( "Location: " . $_SERVER['PHP_SELF'] . "?t=1" );
+1
View File
@@ -2,6 +2,7 @@
ALTER TABLE `s1_prisoners` DROP INDEX `from`, ADD INDEX `from-t11` (`from`, `t11`); 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_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_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 -- 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, `alliance` int(11) NULL,
`merchant` tinyint(2) NULL, `merchant` tinyint(2) NULL,
PRIMARY KEY (`id`), 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 ; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --