<?php // Include config.php require_once realpath(dirname(dirname(dirname(__DIR__))) . DIRECTORY_SEPARATOR . 'indexer.php'); use nzedb\ReleaseRemover; use nzedb\ColorCLI; // New line for CLI. $n = PHP_EOL; // ColorCLI class. $cli = new ColorCLI(); // Print arguments/usage. $totalArgs = count($argv); if ($totalArgs < 2) { exit($cli->info($n . 'This deletes releases based on a list of criteria you pass.' . $n . 'Usage:' . $n . $n . 'List of supported criteria:' . $n . 'fromname : Look for names of people who posted releases (the poster name). (modifiers: equals, like)' . $n . 'groupname : Look in groups. (modifiers: equals, like)' . $n . 'guid : Look for a specific guid. (modifiers: equals)' . $n . 'name : Look for a name (the usenet name). (modifiers: equals, like)' . $n . 'searchname : Look for a name (the search name). (modifiers: equals, like)' . $n . 'size : Release must be (bigger than |smaller than |exactly) this size.(bytes) (modifiers: equals,bigger,smaller)' . $n . 'adddate : Look for releases added to our DB (older than|newer than) x hours. (modifiers: bigger,smaller)' . $n . 'postdate : Look for posted to usenet (older than|newer than) x hours. (modifiers: bigger,smaller)' . $n . 'completion : Look for completion (less than) (modifiers: smaller)' . $n . 'categoryid : Look for releases within specified category (modifiers: equals)' . $n . 'imdbid : Look for releases with imdbid (modifiers: equals)' . $n . 'rageid : Look for releases with rageid (modifiers: equals)' . $n . 'totalpart : Look for releases with certain number of parts (modifiers: equals,bigger,smaller)' . $n . 'nzbstatus : Look for releases with nzbstatus (modifiers: equals)' . $n . $n . 'List of Modifiers:' . $n . 'equals : Match must be exactly this. (fromname=equals="john" will only look for "john", not "johndoe")' . $n . 'like : Match can be similar to this. Separate words using spaces(ie:"cars hdtv x264").' . $n . ' (fromname=like="john" will look for any posters with john in it (ie:john@smith.com)' . $n . 'bigger : Match must be bigger than this. (postdate=bigger="3" means older than 3 hours ago)' . $n . 'smaller : Match must be smaller than this (postdate=smaller="3" means between now and 3 hours ago.' . $n . $n . 'Extra:' . $n . 'ignore : Ignore the user check. (before running we ask you if you want to run the query to delete)' . $n . $n . 'Examples:' . $n . $_SERVER['_'] . ' ' . $argv[0] . ' groupname=equals="alt.binaries.teevee" searchname=like="olympics 2014" postdate=bigger="5"' . $n . $_SERVER['_'] . ' ' . $argv[0] . ' guid=equals="8fb5956bae3de4fb94edcc69da44d6883d586fd0"' . $n . $_SERVER['_'] . ' ' . $argv[0] . ' size=smaller="104857600" size=bigger="2048" groupname=like="movies"' . $n . $_SERVER['_'] . ' ' . $argv[0] . ' fromname=like="@XviD.net" groupname=equals="alt.binaries.movies.divx" ignore' . $n . $_SERVER['_'] . ' ' . $argv[0] . ' imdbid=equals=NULL categoryid=equals=2020 nzbstatus=equals=1 adddate=bigger=2880 # Remove other movie releases with non-cleaned names added > 120 days ago')); } $RR = new ReleaseRemover(); // Remove argv[0] and send the array. $RR->removeByCriteria(array_slice($argv, 1, $totalArgs - 1));
<?php require_once './config.php'; use nzedb\ReleaseRemover; $page = new AdminPage(); $page->title = "Delete Releases"; $error = $done = ''; $release = []; switch (isset($_REQUEST['action']) ? $_REQUEST['action'] : 'view') { case 'submit': $values = parseResponse($_POST); if ($values === false) { $page->smarty->assign('error', 'Your search criteria is wrong.'); } else { $RR = new ReleaseRemover(['Browser' => true, 'Settings' => $page->settings]); $succeeded = $RR->removeByCriteria($values); if (is_string($succeeded) && substr($succeeded, 0, 7) === 'Success') { $done = $succeeded; } else { $error = $succeeded; } } $release = []; foreach ($_POST as $key => $value) { $release[$key] = $value; } break; case 'view': default: $release = ['name' => '', 'searchname' => '', 'fromname' => '', 'groupname' => '', 'relsize' => '', 'adddate' => '', 'postdate' => '', 'relguid' => '', 'completion' => '', 'nametypesel' => '1', 'snametypesel' => '1', 'fnametypesel' => '1', 'gnametypesel' => '1', 'sizetypesel' => '0', 'adatetypesel' => '0', 'pdatetypesel' => '0']; break;