diff --git a/bin/requestID.php b/bin/requestID.php index 29effbfd1..77411a1ea 100644 --- a/bin/requestID.php +++ b/bin/requestID.php @@ -20,7 +20,7 @@ $groups = new Groups(); $t = new Tmux (); $tmux = $t->get(); $f = new Functions(); -if (!preg_match('/^\[\d+\]/', $pieces[1])) { +if (!preg_match('/^\[\d+\]/', $pieces[1] || !preg_match('^[0-9]{6}$^', $pieces[1]))) { $db->query('UPDATE releases SET reqidstatus = -2 WHERE ID = ' . $pieces[0]); exit('.'); } @@ -56,15 +56,17 @@ if ($bFound === true) { $groupid = $f->getIDByName($pieces[2]); if ($groupid !== 0) { $md5 = md5($title); - $dupe = $db->queryOneRow(sprintf('SELECT requestID FROM prehash WHERE md5 = %s', $db->escapeString($md5))); + $sha1 = sha1($title); + $dupe = $db->queryOneRow(sprintf('SELECT requestID FROM prehash WHERE md5 = %s OR sha1 = %s', $db->escapeString($md5), $db->escapeString($sha1))); if ($dupe === false || ($dupe !== false && $dupe['requestID'] !== $requestID)) { $db->queryDirect( sprintf(" - INSERT INTO prehash (title, source, md5, requestID, groupID) + INSERT INTO prehash (title, source, md5, sha1, requestID, groupID) VALUES (%s, %s, %s, %s, %d)", $db->escapeString($title), $db->escapeString('requestWEB'), $db->escapeString($md5), + $db->escapeString($sha1), $requestID, $groupid ) ); @@ -118,7 +120,7 @@ function localLookup($requestID, $groupName, $oldname) return false; } if (isset($run['title'])) { - return array('title' => $run['title'], 'id' => $run['id']); + return array('title' => $run['title'], 'ID' => $run['ID']); } if (preg_match('/\[#?a\.b\.teevee\]/', $oldname)) { $groupID = $f->getIDByName('alt.binaries.teevee'); diff --git a/lib/requestID.php b/lib/requestID.php index 5a3a33e5a..6341392c5 100644 --- a/lib/requestID.php +++ b/lib/requestID.php @@ -40,13 +40,13 @@ if (isset($argv[2]) && is_numeric($argv[2])) { //runs on every release if (isset($argv[1]) && $argv[1] === "all") { - $res = $db->queryDirect("SELECT r.ID, r.searchname, r.categoryID, g.name AS groupname FROM releases r LEFT JOIN groups g ON r.groupID = g.ID WHERE isrequestid = 1"); + $res = $db->queryDirect("SELECT r.ID, r.searchname, r.categoryID, g.name AS groupname FROM releases r LEFT JOIN groups g ON r.groupID = g.ID WHERE (isrequestid = 1 OR searchname REGEXP '^[0-9]{6}$')"); //runs on all releases not already renamed } else if (isset($argv[1]) && $argv[1] === "full") { - $res = $db->queryDirect("SELECT r.ID, r.searchname, r.categoryID, g.name AS groupname FROM releases r LEFT JOIN groups g ON r.groupID = g.ID WHERE (isrenamed = 0 AND isrequestid = 1 " . $time . " AND reqidstatus in (0, -1)"); + $res = $db->queryDirect("SELECT r.ID, r.searchname, r.categoryID, g.name AS groupname FROM releases r LEFT JOIN groups g ON r.groupID = g.ID WHERE (isrenamed = 0 AND isrequestid = 1 OR searchname REGEXP '^[0-9]{6}$' " . $time . " AND reqidstatus in (0, -1)"); //runs on all releases not already renamed limited by user } else if (isset($argv[1]) && is_numeric($argv[1])) { - $res = $db->queryDirect("SELECT r.ID, r.searchname, r.categoryID, g.name AS groupname FROM releases r LEFT JOIN groups g ON r.groupID = g.ID WHERE (isrenamed = 0 AND isrequestid = 1 " . $time . " AND reqidstatus in (0, -1) ORDER BY postdate DESC LIMIT " . $argv[1]); + $res = $db->queryDirect("SELECT r.ID, r.searchname, r.categoryID, g.name AS groupname FROM releases r LEFT JOIN groups g ON r.groupID = g.ID WHERE (isrenamed = 0 AND isrequestid = 1 OR searchname REGEXP '^[0-9]{6}$' " . $time . " AND reqidstatus in (0, -1) ORDER BY postdate DESC LIMIT " . $argv[1]); } $total = $res->rowCount(); @@ -56,7 +56,7 @@ if ($total > 0) { sleep(2); foreach ($res as $row) { - if (!preg_match('/^\[\d+\]/', $row["searchname"]) && !preg_match('/^\[ \d+ \]/', $row["searchname"])) { + if (!preg_match('/^\[\d+\]/', $row["searchname"]) && !preg_match('/^\[ \d+ \]/', $row["searchname"]) && !preg_match('^[0-9]{6}$^', $row["searchname"])) { $db->query(sprintf("UPDATE releases SET reqidstatus = -2 WHERE reqidstatus != 1 AND ID = %d", $row["ID"])); continue; } diff --git a/python/requestid_threaded.py b/python/requestid_threaded.py index d0afd60a2..47096c741 100644 --- a/python/requestid_threaded.py +++ b/python/requestid_threaded.py @@ -47,7 +47,7 @@ print(bcolors.HEADER + "\n\nRequestID Threaded Started at {}".format(datetime.da cur[0].execute("SELECT value FROM tmux WHERE setting = 'request_hours'") dbgrab = cur[0].fetchone() request_hours = str(dbgrab[0]) -cur[0].execute("SELECT r.ID, r.name, g.name AS groupname FROM releases r LEFT JOIN groups g ON r.groupID = g.ID WHERE isrenamed = 0 AND isrequestid = 1 AND reqidstatus in (0, -1) OR (reqidstatus = -3 AND adddate > NOW() - INTERVAL " + request_hours + " HOUR) LIMIT 100000") +cur[0].execute("SELECT r.ID, r.name, g.name AS groupname FROM releases r LEFT JOIN groups g ON r.groupID = g.ID WHERE isrenamed = 0 AND isrequestid = 1 AND reqidstatus in (0, -1) OR searchname REGEXP '^[0-9]{6}$' OR (reqidstatus = -3 AND adddate > NOW() - INTERVAL " + request_hours + " HOUR) LIMIT 100000") datas = cur[0].fetchall() #close connection to mysql