From b79cd0b6e50fa34d64cc2d209c08658bd42d8802 Mon Sep 17 00:00:00 2001 From: DariusIII Date: Sun, 27 Apr 2014 15:26:55 +0200 Subject: [PATCH] Small update to Pprocess.php for better releases handling --- bin/monitor.php | 6 +++--- lib/Pprocess.php | 47 ++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 41 insertions(+), 12 deletions(-) diff --git a/bin/monitor.php b/bin/monitor.php index 96c839604..6022cfa08 100644 --- a/bin/monitor.php +++ b/bin/monitor.php @@ -9,7 +9,7 @@ require_once(dirname(__FILE__) . "/../lib/showsleep.php"); require_once(dirname(__FILE__) . "/../lib/functions.php"); -$version = "0.3r1116"; +$version = "0.3r1117"; $db = new DB(); $functions = new Functions(); @@ -57,8 +57,8 @@ $proc = "SELECT ( SELECT COUNT(*) FROM releases USE INDEX(ix_releases_status) WHERE categoryID = 7020 AND bookinfoID IS NULL ) AS book, ( SELECT COUNT(*) FROM releases r USE INDEX(ix_releases_status), category c WHERE c.ID = r.categoryID AND r.passwordstatus = -1 AND r.haspreview = -1 AND c.disablepreview = 0) AS work, ( SELECT COUNT(*) FROM releases USE INDEX(ix_releases_status)) AS releases, -( SELECT COUNT(*) FROM releases USE INDEX(ix_releases_status) WHERE releasenfoID = 0 AND nfostatus BETWEEN -6 AND -1) AS nforemains, -( SELECT COUNT(*) FROM releases USE INDEX(ix_releases_status) WHERE releasenfoID not in (0, -1) AND nfostatus = 1) AS nfo, +( SELECT COUNT(*) FROM releases USE INDEX(ix_releases_status) WHERE nfostatus BETWEEN -6 AND -1) AS nforemains, +( SELECT COUNT(*) FROM releases USE INDEX(ix_releases_status) WHERE nfostatus = 1) AS nfo, ( SELECT table_rows AS cnt FROM information_schema.TABLES WHERE table_name = 'parts' AND TABLE_SCHEMA = '" . DB_NAME . "' ) AS parts, ( SELECT COUNT(ID) FROM binaries WHERE procstat = 0 ) AS binaries, ( SELECT table_rows AS cnt FROM information_schema.TABLES WHERE table_name = 'binaries' AND TABLE_SCHEMA = '" . DB_NAME . "' ) AS binaries_total, diff --git a/lib/Pprocess.php b/lib/Pprocess.php index f37d2a20b..618889c49 100644 --- a/lib/Pprocess.php +++ b/lib/Pprocess.php @@ -1407,9 +1407,11 @@ class PProcess } } - // If samples exist from previous runs, set flags. + // If samples exist from previous runs, set flags. if (file_exists($this->imgSavePath . $rel['guid'] . '_thumb.jpg')) { $iSQL = ', haspreview = 1'; + } else { + $iSQL = ', haspreview = 0'; } if (file_exists($this->vidSavePath . $rel['guid'] . '.ogv')) { $vSQL = ', videostatus = 1'; @@ -1418,18 +1420,45 @@ class PProcess $jSQL = ', jpgstatus = 1'; } - $size = $this->db->queryOneRow('SELECT COUNT(releasefiles.releaseID) AS count, SUM(releasefiles.size) AS size FROM releasefiles WHERE releaseID = ' . $rel['ID']); + $size = $this->db->queryOneRow( + sprintf(' + SELECT COUNT(releasefiles.releaseID) AS count, + SUM(releasefiles.size) AS size + FROM releasefiles + WHERE releaseID = %d', + $rel['ID'] + ) + ); + + if ($size === false) { + $size['count'] = $size['size'] = 0; + } $pStatus = max($passStatus); if ($this->processPasswords === true && $pStatus > 0) { - $sql = sprintf('UPDATE releases SET passwordstatus = %d, rarinnerfilecount = %d %s %s %s %s WHERE ID = %d', $pStatus, $size['count'], $iSQL, $vSQL, $jSQL, $hpSQL, $rel['ID']); - } else if ($hasRar && ((isset($size['size']) && (is_null($size['size']) || $size['size'] === '0')) || !isset($size['size']))) { - if (!$this->blnTookSample) { - $hpSQL = ''; - } - $sql = sprintf('UPDATE releases SET passwordstatus = passwordstatus - 1, rarinnerfilecount = %d %s %s %s %s WHERE ID = %d', $size['count'], $iSQL, $vSQL, $jSQL, $hpSQL, $rel['ID']); + $sql = + sprintf(' + UPDATE releases + SET passwordstatus = %d, rarinnerfilecount = %d %s %s %s + WHERE ID = %d', + $pStatus, $size['count'], $iSQL, $vSQL, $jSQL, $rel['ID'] + ); + } else if ($hasRar && $size['size'] === 0) { + $sql = + sprintf(' + UPDATE releases + SET passwordstatus = passwordstatus - 1, rarinnerfilecount = %d %s %s %s + WHERE ID = %d', + $size['count'], $iSQL, $vSQL, $jSQL, $rel['ID'] + ); } else { - $sql = sprintf('UPDATE releases SET passwordstatus = %s, rarinnerfilecount = %d %s %s %s %s WHERE ID = %d', Releases::PASSWD_NONE, $size['count'], $iSQL, $vSQL, $jSQL, $hpSQL, $rel['ID']); + $sql = + sprintf(' + UPDATE releases + SET passwordstatus = %s, rarinnerfilecount = %d %s %s %s + WHERE ID = %d', + Releases::PASSWD_NONE, $size['count'], $iSQL, $vSQL, $jSQL, $rel['ID'] + ); } $this->db->exec($sql);