diff --git a/GameEngine/Automation.php b/GameEngine/Automation.php
index c7c0903a..679ae102 100755
--- a/GameEngine/Automation.php
+++ b/GameEngine/Automation.php
@@ -4733,7 +4733,7 @@ $wallimg = "
regenerateOasisUnits($ids, true);
}
}
@@ -5306,37 +5306,39 @@ $wallimg = "
query_return($q);
- foreach($array as $artefact) {
- $kind = rand(1,7);
- while($kind == 6){
- $kind = rand(1,7);
- }
- if($artefact['size'] != 3){
- $bad_effect = rand(0,1);
- }else{
- $bad_effect = 0;
- }
- switch($kind) {
- case 1:
- $effect = rand(1,5);
- break;
- case 2:
- $effect = rand(1,3);
- break;
- case 3:
- $effect = rand(3,10);
- break;
- case 4:
- $effect = rand(2,4);
- break;
- case 5:
- $effect = rand(2,4);
- break;
- case 7:
- $effect = rand(1,6);
- break;
- }
- mysqli_query($GLOBALS['link'],"UPDATE ".TB_PREFIX."artefacts SET kind = ". (int) $kind. ", bad_effect = $bad_effect, effect2 = $effect, lastupdate = $time WHERE id = ".(int) $artefact['id']);
+ if ($array) {
+ foreach($array as $artefact) {
+ $kind = rand(1,7);
+ while($kind == 6){
+ $kind = rand(1,7);
+ }
+ if($artefact['size'] != 3){
+ $bad_effect = rand(0,1);
+ }else{
+ $bad_effect = 0;
+ }
+ switch($kind) {
+ case 1:
+ $effect = rand(1,5);
+ break;
+ case 2:
+ $effect = rand(1,3);
+ break;
+ case 3:
+ $effect = rand(3,10);
+ break;
+ case 4:
+ $effect = rand(2,4);
+ break;
+ case 5:
+ $effect = rand(2,4);
+ break;
+ case 7:
+ $effect = rand(1,6);
+ break;
+ }
+ mysqli_query($GLOBALS['link'],"UPDATE ".TB_PREFIX."artefacts SET kind = ". (int) $kind. ", bad_effect = $bad_effect, effect2 = $effect, lastupdate = $time WHERE id = ".(int) $artefact['id']);
+ }
}
}
}
diff --git a/GameEngine/Database.php b/GameEngine/Database.php
index 8e6dc795..9ede26f3 100755
--- a/GameEngine/Database.php
+++ b/GameEngine/Database.php
@@ -908,7 +908,7 @@ class MYSQLi_DB implements IDbConnection {
global $autoprefix;
if (is_array($wid)) {
- $wid = implode(',', $wid);
+ $wid = '"'.implode(',', $wid).'"';
} else {
$wid = (int) $wid;
}
@@ -918,10 +918,14 @@ class MYSQLi_DB implements IDbConnection {
$str = file_get_contents($autoprefix."var/db/datagen-oasis-troops-regen.sql");
$str = preg_replace(["'%PREFIX%'", "'%VILLAGEID%'", "'%NATURE_REG_TIME%'"], [TB_PREFIX, $wid, ($automation ? NATURE_REGTIME : -1)], $str);
$result = $this->dblink->multi_query($str);
+
+ // fetch results of the multi-query in order to allow subsequent query() and multi_query() calls to work
+ while (mysqli_more_results($this->dblink) && mysqli_next_result($this->dblink)) {;}
+
if (!$result) {
return false;
}
-
+
return true;
}
@@ -3885,8 +3889,11 @@ class MYSQLi_DB implements IDbConnection {
$str = file_get_contents($autoprefix."var/db/struct.sql");
$str = preg_replace("'%PREFIX%'", TB_PREFIX, $str);
$result = $this->dblink->multi_query($str);
+
+ // fetch results of the multi-query in order to allow subsequent query() and multi_query() calls to work
+ while (mysqli_more_results($this->dblink) && mysqli_next_result($this->dblink)) {;}
+
if (!$result) {
- echo mysqli_error($this->dblink); exit;
return false;
}
} catch (\Exception $e) {
@@ -3921,14 +3928,12 @@ class MYSQLi_DB implements IDbConnection {
$str = file_get_contents($autoprefix."var/db/datagen-world-data.sql");
$str = preg_replace(["'%PREFIX%'", "'%WORLDSIZE%'"], [TB_PREFIX, WORLD_MAX], $str);
$result = $this->dblink->multi_query($str);
+
+ // fetch results of the multi-query in order to allow subsequent query() and multi_query() calls to work
+ while (mysqli_more_results($this->dblink) && mysqli_next_result($this->dblink)) {;}
+
if (!$result) {
return -1;
- } else {
- // we need to flush the result of our previous multi_query
- // or the next multi_query in regenerateOasisUnits() will cause
- // a "Commands out of sync; you can't run this command now" error
- // more info: https://stackoverflow.com/a/27926561/467164
- while (mysqli_next_result($this->dblink)) {;}
}
$result = $this->regenerateOasisUnits(-1);
diff --git a/login.php b/login.php
index fd094e33..8f65027f 100644
--- a/login.php
+++ b/login.php
@@ -10,6 +10,10 @@
## ##
#################################################################################
+if(!file_exists('var/installed')) {
+ header("Location: install/");
+ exit;
+}
error_reporting(E_ALL);
include("GameEngine/Account.php");