diff --git a/public/include/classes/block.class.php b/public/include/classes/block.class.php index b65d88a3..5f1668bd 100644 --- a/public/include/classes/block.class.php +++ b/public/include/classes/block.class.php @@ -145,7 +145,7 @@ class Block extends Base { * @return bool **/ public function setConfirmations($block_id, $confirmations) { - $stmt = $this->mysqli->prepare("UPDATE $this->table SET confirmations = ? WHERE id = ?"); + $stmt = $this->mysqli->prepare("UPDATE $this->table SET confirmations = ? WHERE id = ? LIMIT 1"); if ($this->checkStmt($stmt) && $stmt->bind_param("ii", $confirmations, $block_id) && $stmt->execute()) return true; return $this->sqlError(); diff --git a/public/include/classes/payout.class.php b/public/include/classes/payout.class.php index ce4368e8..a83d87e2 100644 --- a/public/include/classes/payout.class.php +++ b/public/include/classes/payout.class.php @@ -60,7 +60,7 @@ class Payout Extends Base { * @return boolean bool True or False **/ public function setProcessed($id) { - $stmt = $this->mysqli->prepare("UPDATE $this->table SET completed = 1 WHERE id = ?"); + $stmt = $this->mysqli->prepare("UPDATE $this->table SET completed = 1 WHERE id = ? LIMIT 1"); if ($stmt && $stmt->bind_param('i', $id) && $stmt->execute()) return true; return $this->sqlError('E0051'); diff --git a/public/include/classes/share.class.php b/public/include/classes/share.class.php index d0fd0144..42242632 100644 --- a/public/include/classes/share.class.php +++ b/public/include/classes/share.class.php @@ -244,7 +244,7 @@ class Share Extends Base { while ($affected > 0) { // Sleep first to allow any IO to cleanup sleep($this->config['purge']['sleep']); - $stmt = $this->mysqli->prepare("DELETE FROM $this->table WHERE id > ? AND id <= ? LIMIT " . $this->config['purge']['shares']); + $stmt = $this->mysqli->prepare("DELETE FROM $this->table WHERE id > ? AND id <= ? ORDER BY id LIMIT " . $this->config['purge']['shares']); $start = microtime(true); if ($this->checkStmt($stmt) && $stmt->bind_param('ii', $previous_upstream, $current_upstream) && $stmt->execute()) { $affected = $stmt->affected_rows; diff --git a/public/include/classes/statistics.class.php b/public/include/classes/statistics.class.php index 5ae10690..4b369931 100644 --- a/public/include/classes/statistics.class.php +++ b/public/include/classes/statistics.class.php @@ -567,7 +567,7 @@ class Statistics extends Base { * @param worker_id int Worker ID to fetch hashrate for * @return data int Current hashrate in khash/s **/ - public function getWorkerHashrate($worker_id) { + public function getWorkerHashrate($worker_id,$interval=600) { $this->debug->append("STA " . __METHOD__, 4); if ($data = $this->memcache->get(__FUNCTION__ . $worker_id)) return $data; $stmt = $this->mysqli->prepare(" @@ -576,7 +576,7 @@ class Statistics extends Base { " . $this->user->getTableName() . " AS u WHERE u.username = SUBSTRING_INDEX( s.username, '.', 1 ) AND our_result = 'Y' - AND s.time > DATE_SUB(now(), INTERVAL 600 SECOND) + AND s.time > DATE_SUB(now(), INTERVAL ? SECOND) AND u.id = ?"); if ($this->checkStmt($stmt) && $stmt->bind_param("i", $account_id) && $stmt->execute() && $result = $stmt->get_result() ) return $this->memcache->setCache(__FUNCTION__ . $worker_id, $result->fetch_object()->hashrate); diff --git a/public/include/classes/worker.class.php b/public/include/classes/worker.class.php index a028d5a4..ea5d68a1 100644 --- a/public/include/classes/worker.class.php +++ b/public/include/classes/worker.class.php @@ -31,7 +31,7 @@ class Worker extends Base { } // Prefix the WebUser to Worker name $value['username'] = "$username." . $value['username']; - $stmt = $this->mysqli->prepare("UPDATE $this->table SET password = ?, username = ?, monitor = ? WHERE account_id = ? AND id = ?"); + $stmt = $this->mysqli->prepare("UPDATE $this->table SET password = ?, username = ?, monitor = ? WHERE account_id = ? AND id = ? LIMIT 1"); if ( ! ( $this->checkStmt($stmt) && $stmt->bind_param('ssiii', $value['password'], $value['username'], $value['monitor'], $account_id, $key) && $stmt->execute()) ) $iFailed++; } @@ -259,7 +259,7 @@ class Worker extends Base { **/ public function deleteWorker($account_id, $id) { $this->debug->append("STA " . __METHOD__, 4); - $stmt = $this->mysqli->prepare("DELETE FROM $this->table WHERE account_id = ? AND id = ?"); + $stmt = $this->mysqli->prepare("DELETE FROM $this->table WHERE account_id = ? AND id = ? LIMIT 1"); if ($this->checkStmt($stmt) && $stmt->bind_param('ii', $account_id, $id) && $stmt->execute() && $stmt->affected_rows == 1) return true; return $this->sqlError('E0061');