Files
newznab-tmux/misc/testing/DB/populate_unique_id.php
T
2016-05-21 00:07:17 +02:00

39 lines
1.3 KiB
PHP

<?php
require_once realpath(dirname(dirname(dirname(__DIR__))) . DIRECTORY_SEPARATOR . 'indexer.php');
use newznab\db\Settings;
use newznab\utility\Utility;
use newznab\ReleaseExtra;
$pdo = new Settings();
$re = new ReleaseExtra();
$releases = $pdo->queryExec(sprintf('SELECT r.id as releases_id, re.mediainfo as mediainfo from releases r INNER JOIN releaseextrafull re ON r.id = re.releases_id'));
$total = $releases->rowCount();
$count = 0;
echo $pdo->log->header("Updating Unique IDs for " . number_format($total) . " releases.");
foreach ($releases as $release) {
$xmlObj = @simplexml_load_string($release['mediainfo']);
$arrXml = Utility::objectsIntoArray($xmlObj);
if (isset($arrXml['File']) && isset($arrXml['File']['track'])) {
foreach ($arrXml['File']['track'] as $track) {
if (isset($track['@attributes']) && isset($track['@attributes']['type'])) {
if ($track['@attributes']['type'] == 'General') {
if (isset($track['Unique_ID'])) {
if (preg_match('/\(0x(?P<hash>[0-9a-f]{32})\)/i', $track['Unique_ID'], $matches)){
$uniqueid = $matches['hash'];
$re->addUID($release['releases_id'], $uniqueid);
$count++;
}
}
}
}
}
}
echo "$count / $total\r";
}
echo $pdo->log->primary('Added ' . $count . ' Unique IDs');