Files
newznab-tmux/misc/testing/fix_filesize.php
T
DariusIII 24fa162413 Apply fixes from StyleCI
[ci skip] [skip ci]
2017-08-31 09:31:28 +00:00

44 lines
1.0 KiB
PHP

<?php
/*
Filesize Fix Script
If after import you have a bunch of zero sized releases run this
Author: lordgnu <lordgnu@me.com>
*/
require_once dirname(__DIR__, 2).DIRECTORY_SEPARATOR.'bootstrap.php';
use nntmux\NZB;
use nntmux\db\DB;
use App\Models\Settings;
$pdo = new DB;
$nzb = new NZB($pdo);
$items = $pdo->query('SELECT id,guid FROM releases WHERE size = 0');
$total = count($items);
$compl = 0;
echo 'Updating file size for '.count($items).' release(s)'.PHP_EOL;
while ($item = array_pop($items)) {
$nzbpath = $nzb->getNZBPath($item['guid'], Settings::value('..nzbpath'));
ob_start();
@readgzfile($nzbpath);
$nzbfile = ob_get_contents();
ob_end_clean();
$ret = $nzb->nzbFileList($nzbfile);
$filesize = '0';
foreach ($ret as $file) {
$filesize = bcadd($filesize, $file['size']);
}
$pdo->queryExec("UPDATE releases SET size = '{$filesize}' WHERE id = '{$item['id']}' LIMIT 1");
$compl++;
echo sprintf('[%6d / %6d] %0.2f', $compl, $total, ($compl / $total) * 100).'%'."\n";
}