diff --git a/bin/monitor.php b/bin/monitor.php
index 964028f44..cc44b4db4 100644
--- a/bin/monitor.php
+++ b/bin/monitor.php
@@ -5,7 +5,7 @@ require(WWW_DIR.'/lib/postprocess.php');
require_once (WWW_DIR.'/lib/site.php');
require_once("../test/ColorCLI.php");
-$version="0.3r646";
+$version="0.3r650";
$db = new DB();
$s = new Sites();
diff --git a/test/prehash.php b/test/prehash.php
index 467d42e04..afce145a1 100755
--- a/test/prehash.php
+++ b/test/prehash.php
@@ -203,8 +203,9 @@ Class Predb
{
if (preg_match('/
(?P.+?)<\/title.+?pubDate>(?P.+?)<\/pubDate.+?gory:<\/b> (?P.+?)
(?P.+?) (?P[a-zA-Z]+)queryOneRow(sprintf("SELECT title, source, ID FROM prehash WHERE title = %s", $db->escapeString($md5)));
+ $title = preg_replace('/\s+- omgwtfnzbs\.org/', '', $matches2['title']);
+ $md5 = md5($title);
+ $oldname = $db->queryOneRow(sprintf('SELECT md5, source, ID FROM prehash WHERE md5 = %s', $db->escapeString($md5)));
if ($oldname !== false && $oldname["md5"] == $md5)
{
if ($oldname["source"] == "womble")
@@ -221,7 +222,6 @@ Class Predb
else
{
$size = $db->escapeString(round($matches2["size1"]).$matches2["size2"]);
- $title = preg_replace("/ - omgwtfnzbs.org/", "", $matches2["title"]);
$db->exec(sprintf("INSERT IGNORE INTO prehash (title, size, category, predate, adddate, source, md5) VALUES (%s, %s, %s, FROM_UNIXTIME(".strtotime($matches2["date"])."), now(), %s, %s)", $db->escapeString($title), $size, $db->escapeString($matches2["category"]), $db->escapeString("omgwtfnzbs"), $db->escapeString($md5)));
$newnames++;
}
@@ -728,11 +728,12 @@ Class Predb
{
$db = new DB();
$f = new Functions();
- $x = '';
- if ($db->queryOneRow(sprintf('SELECT ID FROM prehash WHERE title = %s', $db->escapeString($cleanerName))) !== false)
- {
+ $x = $db->queryOneRow(sprintf('SELECT ID FROM prehash WHERE title = %s', $db->escapeString($cleanerName)));
+ if (isset($x['ID'])) {
$db->exec(sprintf('UPDATE releases SET preID = %d WHERE ID = %d', $x['ID'], $releaseID));
+ return true;
}
+ return false;
}
// When a searchname is the same as the title, tie it to the predb. Try to update the categoryID at the same time.
diff --git a/test/update_prehash_md5.php b/test/update_prehash_md5.php
index 6aed39354..45c1bda8d 100644
--- a/test/update_prehash_md5.php
+++ b/test/update_prehash_md5.php
@@ -5,9 +5,11 @@ require_once(WWW_DIR. "lib/framework/db.php");
require_once(WWW_DIR."lib/category.php");
require_once("ColorCLI.php");
require_once("consoletools.php");
+require_once("prehash.php");
$db = new DB();
$consoletools = new ConsoleTools();
+$predb = new PreDb();
$c = new ColorCLI();
if (!isset($argv[1]) || $argv[1] != 'true') {
@@ -39,3 +41,17 @@ foreach ($res as $row) {
echo $c->info("\nCreating index ix_prehash_md5.");
$db->queryDirect("ALTER IGNORE TABLE prehash ADD CONSTRAINT ix_prehash_md5 UNIQUE (md5)");
echo $c->header("\nDone.");
+
+$releases = $db->queryDirect("SELECT ID, searchname FROM releases WHERE preID IS NOT NULL");
+$newtotal = $releases->rowCount();
+$matched = $counter = 0;
+foreach ($releases as $release) {
+ $run = $predb->matchPre($release['searchname'], $release['ID']);
+ if ($run === false) {
+ $db->exec(sprintf('UPDATE releases SET preID = NULL WHERE ID = %d', $release['ID']));
+ } else {
+ $matched++;
+ }
+ $consoletools->overWritePrimary("Matching Releases: [" . number_format($matched) . "] " . $consoletools->percentString( ++$counter, $newtotal));
+}
+echo $c->header("\nDone.");