Example #1
0
 /**
  * Get all PRE's for a release.
  *
  * @param int $preID
  *
  * @return array
  */
 public function getForRelease($preID)
 {
     return $this->pdo->query(sprintf('SELECT * FROM predb WHERE id = %d', $preID));
 }
Example #2
0
<?php

if (!isset($argv[1])) {
    exit('This script will set where backfill starts based on your oldest release in a group or groups,' . ' so you do not have to re-download and process all the headers you already downloaded.' . PHP_EOL . 'This is good if you imported NZBs or reset a group for example.' . PHP_EOL . 'To start the script, type in a group name or all for all the backfill enabled groups.' . PHP_EOL);
}
require_once dirname(__FILE__) . '/../../../www/config.php';
$pdo = new nzedb\db\DB();
if ($argv[1] === 'all') {
    $groups = $pdo->query('SELECT * FROM groups WHERE backfill = 1');
} else {
    $groups = $pdo->query(sprintf('SELECT * FROM groups WHERE name = %s', $pdo->escapeString($argv[1])));
}
if (count($groups) === 0) {
    if ($argv[1] === 'all') {
        exit('ERROR! No groups were found with backfill enabled!' . PHP_EOL);
    } else {
        exit('ERROR! Group (' . $argv[1] . ') not found!' . PHP_EOL);
    }
}
$nntp = new NNTP(['Settings' => $pdo]);
$nntp->doConnect() or exit('Could not connect to Usenet!' . PHP_EOL);
$binaries = new Binaries(['NNTP' => $nntp, 'Settings' => $pdo]);
foreach ($groups as $group) {
    $groupNNTP = $nntp->selectGroup($group['name']);
    if ($nntp->isError($groupNNTP)) {
        echo 'ERROR! Could not fetch information from NNTP for group (' . $group['name'] . ')' . PHP_EOL;
        continue;
    }
    $postDate = $pdo->queryOneRow(sprintf('SELECT UNIX_TIMESTAMP(postdate) AS postdate FROM releases WHERE group_id = %d ORDER BY postdate ASC LIMIT 1', $group['id']));
    if ($postDate === false) {
        echo 'ERROR! Could not find any existing releases for group (' . $group['name'] . ')' . PHP_EOL;
Example #3
0
            if (isset($_GET['sha1']) && strlen($_GET['sha1']) === 40) {
                $pdo = new nzedb\db\DB();
                $preData = $pdo->query(sprintf('SELECT * FROM predb p INNER JOIN predbhash ph ON ph.pre_id = p.id WHERE MATCH(hashes) AGAINST (%s) %s %s %s LIMIT %d OFFSET %d', $pdo->escapeString($_GET['sha1']), $newer, $older, $nuked, $limit, $offset));
            }
            break;
        case 'c':
        case 'category':
            if (isset($_GET['category'])) {
                $pdo = new nzedb\db\DB();
                $preData = $pdo->query(sprintf('SELECT * FROM predb p WHERE p.category %s %s %s %s LIMIT %d OFFSET %d', $newer, $older, $nuked, $pdo->likeString($_GET['category']), $limit, $offset));
            }
            break;
        case 'a':
        case 'all':
            $pdo = new nzedb\db\DB();
            $preData = $pdo->query(sprintf('SELECT * FROM predb p WHERE 1=1 %s %s %s ORDER BY p.predate DESC LIMIT %d OFFSET %d', $newer, $older, $nuked, $limit, $offset));
            break;
    }
} else {
    if (isset($_POST['data'])) {
        $reqData = @unserialize($_POST['data']);
        if ($reqData !== false && is_array($reqData) && isset($reqData[0]['ident'])) {
            $pdo = new nzedb\db\DB();
            $preData = array();
            foreach ($reqData as $request) {
                $result = $pdo->queryOneRow(sprintf('
					SELECT p.*,
					g.name AS groupname
					FROM predb p
					INNER JOIN groups g ON g.id = p.group_id
					WHERE requestid = %d
Example #4
0
    {
        if (PEAR_LOG_DEBUG) {
            echo $this->color->info($message);
        }
    }
}
$nntp = new NNTPTest(new NNTPDebug(isset($argv[1]) ? true : false));
if ($nntp->doConnect() !== true) {
    exit('Error connecting to usenet!' . PHP_EOL);
}
$n = PHP_EOL;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////// Put your test code under here. ////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$db = new nzedb\db\DB();
$groups = $db->query('SELECT name FROM groups WHERE name NOT like \'alt.binaries.%\' AND active = 1');
$groupList = array();
foreach ($groups as $group) {
    $groupList += $nntp->getGroups($group['name']);
}
$groupList += $nntp->getGroups('alt.binaries.*');
$groups = $db->queryDirect('SELECT name FROM groups WHERE active = 1');
$activeGroups = array();
if ($groups instanceof Traversable) {
    foreach ($groups as $group) {
        if (isset($groupList[$group['name']])) {
            $activeGroups[$group['name']] = $groupList[$group['name']];
        }
    }
}
var_dump($activeGroups);