From 151553735d0a2eb1ccdad798e8fad05f5a25c8cd Mon Sep 17 00:00:00 2001 From: Martin Ambrus Date: Wed, 8 Nov 2017 18:21:30 +0100 Subject: [PATCH] refactor: setMovementProc() to take one or multiple IDs for update --- GameEngine/Automation.php | 7 ++++++- GameEngine/Database.php | 6 ++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/GameEngine/Automation.php b/GameEngine/Automation.php index 24b6a162..e0273b27 100755 --- a/GameEngine/Automation.php +++ b/GameEngine/Automation.php @@ -982,14 +982,19 @@ class Automation { } $q1 = "SELECT send, moveid, `to`, wood, clay, iron, crop, `from` FROM ".TB_PREFIX."movement WHERE proc = 0 and sort_type = 2 and endtime < $time"; $dataarray1 = $database->query_return($q1); + $completedIDs = []; foreach($dataarray1 as $data1) { - $database->setMovementProc($data1['moveid']); + $completedIDs[] = $data1['moveid']; if($data1['send'] > 1){ $targettribe1 = $tribes[$data1['to']]; $send = $data1['send']-1; $this->sendResource2($data1['wood'],$data1['clay'],$data1['iron'],$data1['crop'],$data1['to'],$data1['from'],$targettribe1,$send); } } + + // updated processed records + $database->setMovementProc(implode(', ', $completedIDs)); + if(file_exists("GameEngine/Prevention/market.txt")) { unlink("GameEngine/Prevention/market.txt"); } diff --git a/GameEngine/Database.php b/GameEngine/Database.php index 69412c33..fe1e58dc 100755 --- a/GameEngine/Database.php +++ b/GameEngine/Database.php @@ -3562,9 +3562,11 @@ class MYSQLi_DB implements IDbConnection { } function setMovementProc($moveid) { - list($moveid) = $this->escape_input((int) $moveid); + if (!Math::isInt($moveid)) { + list($moveid) = $this->escape_input($moveid); + } - $q = "UPDATE " . TB_PREFIX . "movement set proc = 1 where moveid = $moveid"; + $q = "UPDATE " . TB_PREFIX . "movement set proc = 1 where moveid IN($moveid)"; return mysqli_query($this->dblink,$q); }