Rename tables to more logical names (same as in nZEDb)

This commit is contained in:
DariusIII
2016-05-04 12:13:15 +02:00
parent 90633e5087
commit c75c2fe5d1
41 changed files with 155 additions and 154 deletions
+1
View File
@@ -1,4 +1,5 @@
2016-05-04 DariusIII
* Upd: Rename tables to more logical names (same as in nZEDb)
* Upd: NNTmux versions handling
* Upd: Update db function in Update script.
* Fix: Force li3 connections to ignore Host/Port settings if a socket is provided.
+1 -1
View File
@@ -21,7 +21,7 @@ I started adapting some of more interesting scripts from nZEDb, but they require
There is another file in that folder nntmux_fi_schema.sql, use that if you don't have any releases and users on your site, AKA, completely fresh install of newznab+.
BE WARNED: If you import this schema it WILL NUKE YOUR DATABASE.
If you are updating from latest newznab svn (aka tvmaze version), you need to rename back tvinfoID columns into rageid
(located in releases and userseries tables, maybe some more), before you import the schema.sql.
(located in releases and user_series tables, maybe some more), before you import the schema.sql.
You need to chmod to 777 following folders now:
resources/*
+1 -1
View File
@@ -49,7 +49,7 @@ $totalend = microtime(true);
echo $pdo->log->header('Total time to update all groups ' . gmdate("H:i:s", $totalend - $totalstart));
// Truncate tables to complete the change to the new USP.
$arr = array("parts", "partrepair", "binaries");
$arr = array("parts", "missed_parts", "binaries");
foreach ($arr as &$value) {
$rel = $pdo->queryExec("TRUNCATE TABLE $value");
if ($rel !== false) {
+1 -1
View File
@@ -92,7 +92,7 @@ if ($handle) {
}
$qry = "ALTER IGNORE TABLE " . trim($match['table']) . " ADD CONSTRAINT " . trim($match['index']) . " UNIQUE (${match['column']})";
run_query($qry, $argv[1]);
} else if (trim($match['table']) === 'partrepair') {
} else if (trim($match['table']) === 'missed_parts') {
$tables = $pdo->query("SHOW TABLES");
foreach ($tables as $row) {
$tbl = $row['tables_in_' . DB_NAME];
+4 -4
View File
@@ -75,12 +75,12 @@ if (isset($argv[1]) && isset($argv[2]) && $argv[2] == "fmyisam") {
$tables = $pdo->query($sql);
foreach ($tables as $row) {
$tbl = $row['name'];
if ($tbl !== 'releasenfo' && $tbl !== 'releasesearch' && $tbl !== 'bookinfo' && $tbl !== 'consoleinfo' && $tbl !== 'musicinfo') {
if ($tbl !== 'release_nfos' && $tbl !== 'releasesearch' && $tbl !== 'bookinfo' && $tbl !== 'consoleinfo' && $tbl !== 'musicinfo') {
printf($cli->header("Converting $tbl"));
$pdo->queryExec("ALTER TABLE $tbl ENGINE=INNODB ROW_FORMAT=COMPRESSED");
}
}
$sql = 'SHOW TABLE STATUS WHERE Name = "releasenfo" AND (Engine != "InnoDB" || Row_format != "Dynamic")';
$sql = 'SHOW TABLE STATUS WHERE Name = "release_nfos" AND (Engine != "InnoDB" || Row_format != "Dynamic")';
$tables = $pdo->query($sql);
foreach ($tables as $row) {
$tbl = $row['name'];
@@ -103,12 +103,12 @@ if (isset($argv[1]) && isset($argv[2]) && $argv[2] == "fmyisam") {
$tables = $pdo->query($sql);
foreach ($tables as $row) {
$tbl = $row['name'];
if ($tbl !== 'releasenfo' && $tbl !== 'releasesearch' && $tbl !== 'bookinfo' && $tbl !== 'consoleinfo' && $tbl !== 'musicinfo' && !preg_match('/parts/', $tbl)) {
if ($tbl !== 'release_nfos' && $tbl !== 'releasesearch' && $tbl !== 'bookinfo' && $tbl !== 'consoleinfo' && $tbl !== 'musicinfo' && !preg_match('/parts/', $tbl)) {
printf($cli->header("Converting $tbl"));
$pdo->queryExec("ALTER TABLE $tbl ENGINE=INNODB ROW_FORMAT=COMPRESSED");
}
}
$sql = 'SHOW TABLE STATUS WHERE Name = "releasenfo" AND (Engine != "InnoDB" || Row_format != "Dynamic")';
$sql = 'SHOW TABLE STATUS WHERE Name = "release_nfos" AND (Engine != "InnoDB" || Row_format != "Dynamic")';
$tables = $pdo->query($sql);
foreach ($tables as $row) {
$tbl = $row['name'];
+3 -3
View File
@@ -113,11 +113,11 @@ if ($DoPartRepair === true) {
foreach ($actgroups as $group) {
$pcount = 1;
$pdone = 0;
$sql = sprintf('SELECT COUNT(*) AS total FROM partrepair where group_id = %d;', $group['id']);
$sql = sprintf('SELECT COUNT(*) AS total FROM missed_parts where group_id = %d;', $group['id']);
$plen = $pdo->queryOneRow($sql);
while ($pdone < $plen['total']) {
// Only load 10000 partrepair records per loop to not overload memory.
$partrepairs = $pdo->queryAssoc(sprintf('select * from partrepair where group_id = %d limit %d, 10000;', $group['id'], $pdone));
$partrepairs = $pdo->queryAssoc(sprintf('select * from missed_parts where group_id = %d limit %d, 10000;', $group['id'], $pdone));
if ($partrepairs instanceof \Traversable) {
foreach ($partrepairs as $partrepair) {
$partrepair['numberid'] = $pdo->escapeString($partrepair['numberid']);
@@ -147,7 +147,7 @@ if (isset($argv[2]) && $argv[2] == 'delete') {
$pdo->queryDirect('TRUNCATE TABLE collections;');
$pdo->queryDirect('TRUNCATE TABLE binaries;');
$pdo->queryDirect('TRUNCATE TABLE parts');
$pdo->queryDirect('TRUNCATE TABLE partrepair');
$pdo->queryDirect('TRUNCATE TABLE missed_parts');
echo "Complete.\n";
}
// Update TPG setting in site-edit.
+3 -3
View File
@@ -112,7 +112,7 @@ if((isset($argv[1]) && $argv[1] == "db") && (isset($argv[2]) && $argv[2] == "dum
}
$pdo->queryExec("SET FOREIGN_KEY_CHECKS=1");
} else if((isset($argv[1]) && $argv[1] == "test") && (isset($argv[2]) && $argv[2] == "dump") && (isset($argv[3]) && file_exists($argv[3]))) {
$arr = array("parts", "binaries", "partrepair", "groups");
$arr = array("parts", "binaries", "missed_parts", "groups");
foreach ($arr as &$tbl) {
$filename = $argv[3]."/".$tbl.".gz";
echo $pdo->log->header("Dumping $tbl..");
@@ -123,7 +123,7 @@ if((isset($argv[1]) && $argv[1] == "db") && (isset($argv[2]) && $argv[2] == "dum
system($command);
}
} else if((isset($argv[1]) && $argv[1] == "test") && (isset($argv[2]) && $argv[2] == "restore") && (isset($argv[3]) && file_exists($argv[3]))) {
$arr = array("parts", "binaries", "partrepair", "groups");
$arr = array("parts", "binaries", "missed_parts", "groups");
$pdo->queryExec("SET FOREIGN_KEY_CHECKS=0");
foreach ($arr as &$tbl) {
$filename = $argv[3]."/".$tbl.".gz";
@@ -179,4 +179,4 @@ if((isset($argv[1]) && $argv[1] == "db") && (isset($argv[2]) && $argv[2] == "dum
if(file_exists("mysql-defaults.txt")) {
@unlink("mysql-defaults.txt");
}
}
+3 -3
View File
@@ -19,10 +19,10 @@ if (isset($argv[1]) && $argv[1] === "all") {
$pdo->queryExec("TRUNCATE TABLE consoleinfo");
$pdo->queryExec("TRUNCATE TABLE gamesinfo");
$pdo->queryExec("TRUNCATE TABLE movieinfo");
$pdo->queryExec("TRUNCATE TABLE releasevideo");
$pdo->queryExec("TRUNCATE TABLE video_data");
$pdo->queryExec("TRUNCATE TABLE musicinfo");
$pdo->queryExec("TRUNCATE TABLE bookinfo");
$pdo->queryExec("TRUNCATE TABLE releasenfo");
$pdo->queryExec("TRUNCATE TABLE release_nfos");
$pdo->queryExec("TRUNCATE TABLE releaseextrafull");
$pdo->queryExec("TRUNCATE TABLE xxxinfo");
$pdo->queryExec("TRUNCATE TABLE videos");
@@ -298,7 +298,7 @@ if (isset($argv[1]) && ($argv[1] === "xxx" || $argv[1] === "all")) {
if (isset($argv[1]) && ($argv[1] === "nfos" || $argv[1] === "all")) {
$ran = true;
if (isset($argv[3]) && $argv[3] === "truncate") {
$pdo->queryExec("TRUNCATE TABLE releasenfo");
$pdo->queryExec("TRUNCATE TABLE release_nfos");
}
if (isset($argv[2]) && $argv[2] === "true") {
echo $pdo->log->header("Resetting all NFO postprocessing");
+2 -2
View File
@@ -9,7 +9,7 @@ if (isset($argv[1]) && ($argv[1] == "true" || $argv[1] == "drop")) {
$pdo->queryExec("UPDATE groups SET first_record = 0, first_record_postdate = NULL, last_record = 0, last_record_postdate = NULL, last_updated = NULL");
echo $pdo->log->primary("Reseting all groups completed.");
$arr = array("parts", "partrepair", "binaries", "collections");
$arr = array("parts", "missed_parts", "binaries", "collections");
foreach ($arr as &$value) {
$rel = $pdo->queryExec("TRUNCATE TABLE $value");
if ($rel !== false) {
@@ -50,4 +50,4 @@ if (isset($argv[1]) && ($argv[1] == "true" || $argv[1] == "drop")) {
. "article tables. All other releases are left alone.\n"
. "php $argv[0] [true, drop] ...: To reset all groups and truncate/drop the tables.\n"
));
}
}
+4 -4
View File
@@ -34,10 +34,10 @@ $pdo->queryExec("UPDATE groups SET first_record = 0, first_record_postdate = NUL
echo $pdo->log->primary("Reseting all groups completed.");
$arr = [
"videos", "tv_episodes", "tv_info", "releasenfo", "release_comments", 'sharing', 'sharing_sites',
"usercart", "usermovies", "userseries", "movieinfo", "musicinfo", "release_files",
"releaseaudio", "releasesubs", "releasevideo", "releaseextrafull", "parts",
"partrepair", "binaries", "collections", "releases", "spotnabsources"
"videos", "tv_episodes", "tv_info", "release_nfos", "release_comments", 'sharing', 'sharing_sites',
"users_releases", "user_movies", "user_series", "movieinfo", "musicinfo", "release_files",
"release_audio", "release_subtitles", "video_data", "releaseextrafull", "parts",
"missed_parts", "binaries", "collections", "releases", "spotnabsources"
];
foreach ($arr as &$value) {
$rel = $pdo->queryExec("TRUNCATE TABLE $value");
+1 -1
View File
@@ -1 +1 @@
<?php
<?php
+1 -1
View File
@@ -18,7 +18,7 @@ if (!isset($argv[1])) {
$pieces = explode(' ', $argv[1]);
if (isset($pieces[1]) && $pieces[0] == 'nfo') {
$release = $pieces[1];
if ($res = $db->queryOneRow(sprintf('SELECT rel.guid AS guid, nfo.releaseid AS nfoid, rel.groupid, rel.categoryid, rel.name, rel.searchname, uncompress(nfo) AS textstring, rel.id AS releaseid FROM releases rel INNER JOIN releasenfo nfo ON (nfo.releaseid = rel.id) WHERE rel.id = %d', $release))) {
if ($res = $db->queryOneRow(sprintf('SELECT rel.guid AS guid, nfo.releaseid AS nfoid, rel.groupid, rel.categoryid, rel.name, rel.searchname, uncompress(nfo) AS textstring, rel.id AS releaseid FROM releases rel INNER JOIN release_nfos nfo ON (nfo.releaseid = rel.id) WHERE rel.id = %d', $release))) {
//ignore encrypted nfos
if (preg_match('/^=newz\[NZB\]=\w+/', $res['textstring'])) {
$namefixer->done = $namefixer->matched = false;
@@ -27,7 +27,7 @@ if (!isset($argv[1])) {
SELECT r.id AS releaseid, r.guid, r.groupid, r.categoryid, r.name, r.searchname,
uncompress(nfo) AS textstring
FROM releases r
INNER JOIN releasenfo rn ON r.id = rn.releaseid
INNER JOIN release_nfos rn ON r.id = rn.releaseid
WHERE r.guid %s
AND r.nzbstatus = 1
AND r.proc_nfo = 0
+3 -3
View File
@@ -22,16 +22,16 @@ if ($nntp->isError($data)) {
exit($pdo->log->error("Failed to getGroups() from nntp server."));
}
echo $pdo->log->header("Inserting new values into shortgroups table.");
echo $pdo->log->header("Inserting new values into short_groups table.");
$pdo->queryExec('TRUNCATE TABLE shortgroups');
$pdo->queryExec('TRUNCATE TABLE short_groups');
// Put into an array all active groups
$res = $pdo->query('SELECT name FROM groups WHERE active = 1 OR backfill = 1');
foreach ($data as $newgroup) {
if (myInArray($res, $newgroup['group'], 'name')) {
$pdo->queryInsert(sprintf('INSERT INTO shortgroups (name, first_record, last_record, updated) VALUES (%s, %s, %s, NOW())', $pdo->escapeString($newgroup['group']), $pdo->escapeString($newgroup['first']), $pdo->escapeString($newgroup['last'])));
$pdo->queryInsert(sprintf('INSERT INTO short_groups (name, first_record, last_record, updated) VALUES (%s, %s, %s, NOW())', $pdo->escapeString($newgroup['group']), $pdo->escapeString($newgroup['first']), $pdo->escapeString($newgroup['last'])));
echo $pdo->log->primary('Updated ' . $newgroup['group']);
}
}
+1 -1
View File
@@ -232,7 +232,7 @@ def main(args):
final = cur[0].fetchall()
if len(datas) > 0:
for item in final:
run = "DELETE FROM releasenfo WHERE nfo IS NULL AND releaseid = %s"
run = "DELETE FROM release_nfos WHERE nfo IS NULL AND releaseid = %s"
cur[0].execute(run, (item[0]))
final = cur[0].fetchall()
+3 -3
View File
@@ -539,7 +539,7 @@ class Binaries
if ($partRepair === true) {
$this->_pdo->queryExec(
sprintf(
'UPDATE partrepair SET attempts = attempts + 1 WHERE group_id = %d AND numberid %s',
'UPDATE missed_parts SET attempts = attempts + 1 WHERE group_id = %d AND numberid %s',
$groupMySQL['id'],
($first == $last ? '= ' . $first : 'IN (' . implode(',', range($first, $last)) . ')')
)
@@ -947,7 +947,7 @@ class Binaries
public function partRepair($groupArr)
{
$tableNames = $this->_groups->getCBPTableNames($this->_tablePerGroup, $groupArr['id']);
// Get all parts in partrepair table.
// Get all parts in missed_parts table.
$missingParts = $this->_pdo->query(
sprintf('
SELECT * FROM %s
@@ -1287,7 +1287,7 @@ class Binaries
* Add article numbers from missing headers to DB.
*
* @param array $numbers The article numbers of the missing headers.
* @param string $tableName Name of the partrepair table to insert into.
* @param string $tableName Name of the missed_parts table to insert into.
* @param int $groupID The ID of this groups.
*
* @return bool
+1 -1
View File
@@ -238,7 +238,7 @@ class Books
rn.id AS nfoid
FROM releases r
LEFT OUTER JOIN groups g ON g.id = r.groupid
LEFT OUTER JOIN releasenfo rn ON rn.releaseid = r.id
LEFT OUTER JOIN release_nfos rn ON rn.releaseid = r.id
LEFT OUTER JOIN dnzb_failures df ON df.release_id = r.id
INNER JOIN bookinfo boo ON boo.id = r.bookinfoid
WHERE boo.id IN (%s)
+1 -1
View File
@@ -237,7 +237,7 @@ class Console
rn.id AS nfoid
FROM releases r
LEFT OUTER JOIN groups g ON g.id = r.groupid
LEFT OUTER JOIN releasenfo rn ON rn.releaseid = r.id
LEFT OUTER JOIN release_nfos rn ON rn.releaseid = r.id
LEFT OUTER JOIN dnzb_failures df ON df.release_id = r.id
INNER JOIN consoleinfo con ON con.id = r.consoleinfoid
INNER JOIN genres ON con.genreid = genres.id
+1 -1
View File
@@ -249,7 +249,7 @@ class Games
rn.releaseid AS nfoid
FROM releases r
LEFT OUTER JOIN groups g ON g.id = r.groupid
LEFT OUTER JOIN releasenfo rn ON rn.releaseid = r.id
LEFT OUTER JOIN release_nfos rn ON rn.releaseid = r.id
LEFT OUTER JOIN dnzb_failures df ON df.release_id = r.id
INNER JOIN gamesinfo con ON con.id = r.gamesinfo_id
WHERE con.id IN (%s)
+4 -4
View File
@@ -321,7 +321,7 @@ class Groups
(new Binaries(['Groups' => $this, 'Settings' => $this->pdo]))->purgeGroup($id);
// Remove rows from part repair.
$this->pdo->queryExec(sprintf("DELETE FROM partrepair WHERE group_id = %d", $id));
$this->pdo->queryExec(sprintf("DELETE FROM missed_parts WHERE group_id = %d", $id));
$this->pdo->queryExec(sprintf('DROP TABLE IF EXISTS collections_%d', $id));
$this->pdo->queryExec(sprintf('DROP TABLE IF EXISTS binaries_%d', $id));
@@ -349,7 +349,7 @@ class Groups
$this->pdo->queryExec("TRUNCATE TABLE collections");
$this->pdo->queryExec("TRUNCATE TABLE binaries");
$this->pdo->queryExec("TRUNCATE TABLE parts");
$this->pdo->queryExec("TRUNCATE TABLE partrepair");
$this->pdo->queryExec("TRUNCATE TABLE missed_parts");
$groups = $this->pdo->query("SELECT id FROM groups");
foreach ($groups as $group) {
$this->pdo->queryExec('DROP TABLE IF EXISTS collections_' . $group['id']);
@@ -487,7 +487,7 @@ class Groups
$tables['cname'] = 'collections';
$tables['bname'] = 'binaries';
$tables['pname'] = 'parts';
$tables['prname'] = 'partrepair';
$tables['prname'] = 'missed_parts';
if ($tpgSetting === true) {
if ($groupID == '') {
@@ -540,7 +540,7 @@ class Groups
*/
public function createNewTPGTables($groupID)
{
$cbpm = ['collections', 'binaries', 'parts', 'partrepair'];
$cbpm = ['collections', 'binaries', 'parts', 'missed_parts'];
foreach ( $cbpm as $tableName) {
if ($this->pdo->queryExec(sprintf('SELECT * FROM %s_%s LIMIT 1', $tableName, $groupID), true) === false) {
+1 -1
View File
@@ -69,7 +69,7 @@ class MiscSorter
sprintf("
SELECT UNCOMPRESS(rn.nfo) AS nfo,
r.id, r.name, r.searchname
FROM releasenfo rn
FROM release_nfos rn
INNER JOIN releases r ON rn.releaseid = r.id
INNER JOIN groups g ON r.groupid = g.id
WHERE rn.nfo IS NOT NULL
+4 -4
View File
@@ -330,7 +330,7 @@ class Movie
rn.releaseid AS nfoid
FROM releases r
LEFT OUTER JOIN groups g ON g.id = r.groupid
LEFT OUTER JOIN releasenfo rn ON rn.releaseid = r.id
LEFT OUTER JOIN release_nfos rn ON rn.releaseid = r.id
LEFT OUTER JOIN dnzb_failures df ON df.release_id = r.id
LEFT OUTER JOIN category c ON c.id = r.categoryid
LEFT OUTER JOIN category cp ON cp.id = c.parentid
@@ -1460,12 +1460,12 @@ class Movie
public function getUpcoming($type, $source = 'rottentomato')
{
$list = $this->pdo->queryOneRow(
sprintf('SELECT * FROM upcoming WHERE source = %s AND typeid = %d', $this->pdo->escapeString($source), $type)
sprintf('SELECT * FROM upcoming_releases WHERE source = %s AND typeid = %d', $this->pdo->escapeString($source), $type)
);
if ($list === false) {
$this->updateUpcoming();
$list = $this->pdo->queryOneRow(
sprintf('SELECT * FROM upcoming WHERE source = %s AND typeid = %d', $this->pdo->escapeString($source), $type)
sprintf('SELECT * FROM upcoming_releases WHERE source = %s AND typeid = %d', $this->pdo->escapeString($source), $type)
);
}
return $list;
@@ -1572,7 +1572,7 @@ class Movie
{
return $this->pdo->queryExec(
sprintf("
INSERT INTO upcoming (source, typeid, info, updateddate)
INSERT INTO upcoming_releases (source, typeid, info, updateddate)
VALUES (%s, %d, %s, NOW())
ON DUPLICATE KEY UPDATE info = %s",
$this->pdo->escapeString($source),
+1 -1
View File
@@ -249,7 +249,7 @@ class Music
rn.releaseid AS nfoid
FROM releases r
LEFT OUTER JOIN groups g ON g.id = r.groupid
LEFT OUTER JOIN releasenfo rn ON rn.releaseid = r.id
LEFT OUTER JOIN release_nfos rn ON rn.releaseid = r.id
LEFT OUTER JOIN dnzb_failures df ON df.release_id = r.id
INNER JOIN musicinfo m ON m.id = r.musicinfoid
WHERE m.id IN (%s)
+3 -3
View File
@@ -190,7 +190,7 @@ class NameFixer
$query = sprintf('
SELECT rel.id AS releaseid
FROM releases rel
INNER JOIN releasenfo nfo ON (nfo.releaseid = rel.id)
INNER JOIN release_nfos nfo ON (nfo.releaseid = rel.id)
WHERE rel.nzbstatus = %d
AND rel.preid = 0',
NZB::NZB_ADDED
@@ -201,7 +201,7 @@ class NameFixer
$query = sprintf('
SELECT rel.id AS releaseid
FROM releases rel
INNER JOIN releasenfo nfo ON (nfo.releaseid = rel.id)
INNER JOIN release_nfos nfo ON (nfo.releaseid = rel.id)
WHERE (rel.isrenamed = %d OR rel.categoryid = %d)
AND rel.proc_nfo = %d',
self::IS_RENAMED_NONE,
@@ -225,7 +225,7 @@ class NameFixer
SELECT nfo.releaseid AS nfoid, rel.groupid, rel.categoryid, rel.name, rel.searchname,
UNCOMPRESS(nfo) AS textstring, rel.id AS releaseid
FROM releases rel
INNER JOIN releasenfo nfo ON (nfo.releaseid = rel.id)
INNER JOIN release_nfos nfo ON (nfo.releaseid = rel.id)
WHERE rel.id = %d',
$rel['releaseid']
)
+5 -5
View File
@@ -199,11 +199,11 @@ class Nfo
{
if ($release['id'] > 0 && $this->isNFO($nfo, $release['guid'])) {
$check = $this->pdo->queryOneRow(sprintf('SELECT id FROM releasenfo WHERE releaseid = %d', $release['id']));
$check = $this->pdo->queryOneRow(sprintf('SELECT id FROM release_nfos WHERE releaseid = %d', $release['id']));
if ($check === false) {
$this->pdo->queryInsert(
sprintf('INSERT INTO releasenfo (nfo, releaseid) VALUES (compress(%s), %d)',
sprintf('INSERT INTO release_nfos (nfo, releaseid) VALUES (compress(%s), %d)',
$this->pdo->escapeString($nfo),
$release['id']
)
@@ -350,9 +350,9 @@ class Nfo
$cp = 'COMPRESS(%s)';
$nc = $this->pdo->escapeString($fetchedBinary);
$ckreleaseid = $this->pdo->queryOneRow(sprintf('SELECT id FROM releasenfo WHERE releaseid = %d', $arr['id']));
$ckreleaseid = $this->pdo->queryOneRow(sprintf('SELECT id FROM release_nfos WHERE releaseid = %d', $arr['id']));
if (!isset($ckreleaseid['id'])) {
$this->pdo->queryInsert(sprintf('INSERT INTO releasenfo (nfo, releaseid) VALUES (' . $cp . ', %d)', $nc, $arr['id']));
$this->pdo->queryInsert(sprintf('INSERT INTO release_nfos (nfo, releaseid) VALUES (' . $cp . ', %d)', $nc, $arr['id']));
}
$this->pdo->queryExec(sprintf('UPDATE releases SET nfostatus = %d WHERE id = %d', self::NFO_FOUND, $arr['id']));
$ret++;
@@ -399,7 +399,7 @@ class Nfo
foreach ($releases as $release) {
// remove any releasenfo for failed
$this->pdo->queryExec(sprintf('
DELETE FROM releasenfo WHERE nfo IS NULL AND releaseid = %d',
DELETE FROM release_nfos WHERE nfo IS NULL AND releaseid = %d',
$release['id']
)
);
+3 -3
View File
@@ -57,7 +57,7 @@ Class RSS
if (count($cat)) {
if ($cat[0] == -2) {
$cartSearch = sprintf(' INNER JOIN usercart ON usercart.userid = %d AND usercart.releaseid = r.id ', $userID);
$cartSearch = sprintf(' INNER JOIN users_releases ON users_releases.userid = %d AND users_releases.releaseid = r.id ', $userID);
} else if ($cat[0] != -1) {
$catSearch = $this->releases->categorySQL($cat);
}
@@ -135,7 +135,7 @@ Class RSS
ORDER BY postdate DESC %s",
$this->releases->getConcatenatedCategoryIDs(),
$this->releases->uSQL($this->pdo->query(sprintf('SELECT videos_id, categoryid FROM userseries WHERE userid = %d', $userID), true), 'videos_id'),
$this->releases->uSQL($this->pdo->query(sprintf('SELECT videos_id, categoryid FROM user_series WHERE userid = %d', $userID), true), 'videos_id'),
(count($excludedCats) ? ' AND r.categoryid NOT IN (' . implode(',', $excludedCats) . ')' : ''),
($airDate > -1 ? sprintf(' AND tve.firstaired >= DATE_SUB(CURDATE(), INTERVAL %d DAY) ', $airDate) : ''),
NZB::NZB_ADDED,
@@ -176,7 +176,7 @@ Class RSS
AND r.passwordstatus %s
ORDER BY postdate DESC %s",
$this->releases->getConcatenatedCategoryIDs(),
$this->releases->uSQL($this->pdo->query(sprintf('SELECT imdbid, categoryid FROM usermovies WHERE userid = %d', $userID), true), 'imdbid'),
$this->releases->uSQL($this->pdo->query(sprintf('SELECT imdbid, categoryid FROM user_movies WHERE userid = %d', $userID), true), 'imdbid'),
(count($excludedCats) ? ' AND r.categoryid NOT IN (' . implode(',', $excludedCats) . ')' : ''),
NZB::NZB_ADDED,
$this->releases->showPasswords,
+1 -1
View File
@@ -44,7 +44,7 @@ class ReleaseComments
*/
public function getCommentsByGid($gid)
{
return $this->pdo->query(sprintf("SELECT rc.id, text, createddate, sourceid, CASE WHEN sourceid = 0 THEN (SELECT username FROM users WHERE id = userid) ELSE username END AS username, CASE WHEN sourceid = 0 THEN (SELECT role FROM users WHERE id = userid) ELSE '-1' END AS role, CASE WHEN sourceid =0 THEN (SELECT r.name AS rolename FROM users AS u LEFT JOIN userroles AS r ON r.id = u.role WHERE u.id = userid) ELSE (SELECT description AS rolename FROM spotnabsources WHERE id = sourceid) END AS rolename FROM release_comments rc WHERE isvisible = 1 AND gid = %s AND (userid IN (SELECT id FROM users) OR rc.username IS NOT NULL) ORDER BY createddate DESC LIMIT 100", $this->pdo->escapeString($gid)));
return $this->pdo->query(sprintf("SELECT rc.id, text, createddate, sourceid, CASE WHEN sourceid = 0 THEN (SELECT username FROM users WHERE id = userid) ELSE username END AS username, CASE WHEN sourceid = 0 THEN (SELECT role FROM users WHERE id = userid) ELSE '-1' END AS role, CASE WHEN sourceid =0 THEN (SELECT r.name AS rolename FROM users AS u LEFT JOIN user_roles AS r ON r.id = u.role WHERE u.id = userid) ELSE (SELECT description AS rolename FROM spotnabsources WHERE id = sourceid) END AS rolename FROM release_comments rc WHERE isvisible = 1 AND gid = %s AND (userid IN (SELECT id FROM users) OR rc.username IS NOT NULL) ORDER BY createddate DESC LIMIT 100", $this->pdo->escapeString($gid)));
}
/**
+15 -15
View File
@@ -55,39 +55,39 @@ class ReleaseExtra
public function get($id)
{
// hopefully nothing will use this soon and it can be deleted
return $this->pdo->queryOneRow(sprintf('SELECT * FROM releasevideo WHERE releaseid = %d', $id));
return $this->pdo->queryOneRow(sprintf('SELECT * FROM video_data WHERE releaseid = %d', $id));
}
public function getVideo($id)
{
return $this->pdo->queryOneRow(sprintf('SELECT * from releasevideo WHERE releaseid = %d', $id));
return $this->pdo->queryOneRow(sprintf('SELECT * from video_data WHERE releaseid = %d', $id));
}
public function getAudio($id)
{
return $this->pdo->query(sprintf('SELECT * from releaseaudio WHERE releaseid = %d ORDER BY audioid ASC', $id));
return $this->pdo->query(sprintf('SELECT * from release_audio WHERE releaseid = %d ORDER BY audioid ASC', $id));
}
public function getSubs($id)
{
return $this->pdo->queryOneRow(sprintf("SELECT GROUP_CONCAT(subslanguage SEPARATOR ', ') AS subs FROM releasesubs WHERE releaseid = %d ORDER BY subsid ASC", $id));
return $this->pdo->queryOneRow(sprintf("SELECT GROUP_CONCAT(subslanguage SEPARATOR ', ') AS subs FROM release_subtitles WHERE releaseid = %d ORDER BY subsid ASC", $id));
}
public function getBriefByGuid($guid)
{
return $this->pdo->queryOneRow(sprintf("SELECT containerformat, videocodec, videoduration, videoaspect, CONCAT(releasevideo.videowidth,'x',releasevideo.videoheight,' @',format(videoframerate,0),'fps') AS size, GROUP_CONCAT(DISTINCT releaseaudio.audiolanguage SEPARATOR ', ') AS audio, GROUP_CONCAT(DISTINCT releaseaudio.audioformat,' (',SUBSTRING(releaseaudio.audiochannels,1,1),' ch)' SEPARATOR ', ') AS audioformat, GROUP_CONCAT(DISTINCT releaseaudio.audioformat,' (',SUBSTRING(releaseaudio.audiochannels,1,1),' ch)' SEPARATOR ', ') AS audioformat, GROUP_CONCAT(DISTINCT releasesubs.subslanguage SEPARATOR ', ') AS subs FROM releasevideo LEFT OUTER JOIN releasesubs ON releasevideo.releaseid = releasesubs.releaseid LEFT OUTER JOIN releaseaudio ON releasevideo.releaseid = releaseaudio.releaseid INNER JOIN releases r ON r.id = releasevideo.releaseid WHERE r.guid = %s GROUP BY r.id", $this->pdo->escapeString($guid)));
return $this->pdo->queryOneRow(sprintf("SELECT containerformat, videocodec, videoduration, videoaspect, CONCAT(video_data.videowidth,'x',video_data.videoheight,' @',format(videoframerate,0),'fps') AS size, GROUP_CONCAT(DISTINCT release_audio.audiolanguage SEPARATOR ', ') AS audio, GROUP_CONCAT(DISTINCT release_audio.audioformat,' (',SUBSTRING(release_audio.audiochannels,1,1),' ch)' SEPARATOR ', ') AS audioformat, GROUP_CONCAT(DISTINCT release_audio.audioformat,' (',SUBSTRING(release_audio.audiochannels,1,1),' ch)' SEPARATOR ', ') AS audioformat, GROUP_CONCAT(DISTINCT release_subtitles.subslanguage SEPARATOR ', ') AS subs FROM video_data LEFT OUTER JOIN release_subtitles ON video_data.releaseid = release_subtitles.releaseid LEFT OUTER JOIN release_audio ON video_data.releaseid = release_audio.releaseid INNER JOIN releases r ON r.id = video_data.releaseid WHERE r.guid = %s GROUP BY r.id", $this->pdo->escapeString($guid)));
}
public function getByGuid($guid)
{
return $this->pdo->queryOneRow(sprintf('SELECT releasevideo.* FROM releasevideo INNER JOIN releases r ON r.id = releasevideo.releaseid WHERE r.guid = %s', $this->pdo->escapeString($guid)));
return $this->pdo->queryOneRow(sprintf('SELECT video_data.* FROM video_data INNER JOIN releases r ON r.id = video_data.releaseid WHERE r.guid = %s', $this->pdo->escapeString($guid)));
}
public function delete($id)
{
$this->pdo->queryExec(sprintf('DELETE FROM releaseaudio WHERE releaseid = %d', $id));
$this->pdo->queryExec(sprintf('DELETE FROM releasesubs WHERE releaseid = %d', $id));
return $this->pdo->queryExec(sprintf('DELETE FROM releasevideo WHERE releaseid = %d', $id));
$this->pdo->queryExec(sprintf('DELETE FROM release_audio WHERE releaseid = %d', $id));
$this->pdo->queryExec(sprintf('DELETE FROM release_subtitles WHERE releaseid = %d', $id));
return $this->pdo->queryExec(sprintf('DELETE FROM video_data WHERE releaseid = %d', $id));
}
public function addFromXml($releaseID, $xml)
@@ -188,25 +188,25 @@ class ReleaseExtra
public function addVideo($releaseID, $containerformat, $overallbitrate, $videoduration, $videoformat, $videocodec, $videowidth, $videoheight, $videoaspect, $videoframerate, $videolibrary)
{
$ckid = $this->pdo->queryOneRow(sprintf('SELECT releaseid FROM releasevideo WHERE releaseid = %s', $releaseID));
$ckid = $this->pdo->queryOneRow(sprintf('SELECT releaseid FROM video_data WHERE releaseid = %s', $releaseID));
if (!isset($ckid['releaseid'])) {
return $this->pdo->queryExec(sprintf('INSERT INTO releasevideo (releaseid, containerformat, overallbitrate, videoduration, videoformat, videocodec, videowidth, videoheight, videoaspect, videoframerate, videolibrary) VALUES (%d, %s, %s, %s, %s, %s, %d, %d, %s, %d, %s)', $releaseID, $this->pdo->escapeString($containerformat), $this->pdo->escapeString($overallbitrate), $this->pdo->escapeString($videoduration), $this->pdo->escapeString($videoformat), $this->pdo->escapeString($videocodec), $videowidth, $videoheight, $this->pdo->escapeString($videoaspect), $videoframerate, $this->pdo->escapeString(substr($videolibrary, 0, 50))));
return $this->pdo->queryExec(sprintf('INSERT INTO video_data (releaseid, containerformat, overallbitrate, videoduration, videoformat, videocodec, videowidth, videoheight, videoaspect, videoframerate, videolibrary) VALUES (%d, %s, %s, %s, %s, %s, %d, %d, %s, %d, %s)', $releaseID, $this->pdo->escapeString($containerformat), $this->pdo->escapeString($overallbitrate), $this->pdo->escapeString($videoduration), $this->pdo->escapeString($videoformat), $this->pdo->escapeString($videocodec), $videowidth, $videoheight, $this->pdo->escapeString($videoaspect), $videoframerate, $this->pdo->escapeString(substr($videolibrary, 0, 50))));
}
}
public function addAudio($releaseID, $audioID, $audioformat, $audiomode, $audiobitratemode, $audiobitrate, $audiochannels, $audiosamplerate, $audiolibrary, $audiolanguage, $audiotitle)
{
$ckid = $this->pdo->queryOneRow(sprintf('SELECT releaseid FROM releaseaudio WHERE releaseid = %s', $releaseID));
$ckid = $this->pdo->queryOneRow(sprintf('SELECT releaseid FROM release_audio WHERE releaseid = %s', $releaseID));
if (!isset($ckid['releaseid'])) {
return $this->pdo->queryExec(sprintf('INSERT INTO releaseaudio (releaseid, audioid, audioformat, audiomode, audiobitratemode, audiobitrate, audiochannels, audiosamplerate, audiolibrary ,audiolanguage, audiotitle) VALUES (%d, %d, %s, %s, %s, %s, %s, %s, %s, %s, %s)', $releaseID, $audioID, $this->pdo->escapeString($audioformat), $this->pdo->escapeString($audiomode), $this->pdo->escapeString($audiobitratemode), $this->pdo->escapeString(substr($audiobitrate, 0, 10)), $this->pdo->escapeString($audiochannels), $this->pdo->escapeString(substr($audiosamplerate, 0, 25)), $this->pdo->escapeString(substr($audiolibrary, 0, 50)), $this->pdo->escapeString($audiolanguage), $this->pdo->escapeString(substr($audiotitle, 0, 50))));
return $this->pdo->queryExec(sprintf('INSERT INTO release_audio (releaseid, audioid, audioformat, audiomode, audiobitratemode, audiobitrate, audiochannels, audiosamplerate, audiolibrary ,audiolanguage, audiotitle) VALUES (%d, %d, %s, %s, %s, %s, %s, %s, %s, %s, %s)', $releaseID, $audioID, $this->pdo->escapeString($audioformat), $this->pdo->escapeString($audiomode), $this->pdo->escapeString($audiobitratemode), $this->pdo->escapeString(substr($audiobitrate, 0, 10)), $this->pdo->escapeString($audiochannels), $this->pdo->escapeString(substr($audiosamplerate, 0, 25)), $this->pdo->escapeString(substr($audiolibrary, 0, 50)), $this->pdo->escapeString($audiolanguage), $this->pdo->escapeString(substr($audiotitle, 0, 50))));
}
}
public function addSubs($releaseID, $subsID, $subslanguage)
{
$ckid = $this->pdo->queryOneRow(sprintf('SELECT releaseid FROM releasesubs WHERE releaseid = %s', $releaseID));
$ckid = $this->pdo->queryOneRow(sprintf('SELECT releaseid FROM release_subtitles WHERE releaseid = %s', $releaseID));
if (!isset($ckid['releaseid'])) {
return $this->pdo->queryExec(sprintf('INSERT INTO releasesubs (releaseid, subsid, subslanguage) VALUES (%d, %d, %s)', $releaseID, $subsID, $this->pdo->escapeString($subslanguage)));
return $this->pdo->queryExec(sprintf('INSERT INTO release_subtitles (releaseid, subsid, subslanguage) VALUES (%d, %d, %s)', $releaseID, $subsID, $this->pdo->escapeString($subslanguage)));
}
}
+16 -16
View File
@@ -222,8 +222,8 @@ class Releases
INNER JOIN category cp ON cp.id = c.parentid
LEFT OUTER JOIN videos v ON r.videos_id = v.id
LEFT OUTER JOIN tv_episodes tve ON r.tv_episodes_id = tve.id
LEFT OUTER JOIN releasevideo re ON re.releaseid = r.id
LEFT OUTER JOIN releasenfo rn ON rn.releaseid = r.id
LEFT OUTER JOIN video_data re ON re.releaseid = r.id
LEFT OUTER JOIN release_nfos rn ON rn.releaseid = r.id
LEFT OUTER JOIN dnzb_failures df ON df.release_id = r.id
GROUP BY r.id
ORDER BY %7\$s %8\$s",
@@ -483,9 +483,9 @@ class Releases
tve.firstaired,
(SELECT df.failed) AS failed
FROM releases r
LEFT OUTER JOIN releasevideo re ON re.releaseid = r.id
LEFT OUTER JOIN video_data re ON re.releaseid = r.id
INNER JOIN groups ON groups.id = r.groupid
LEFT OUTER JOIN releasenfo rn ON rn.releaseid = r.id
LEFT OUTER JOIN release_nfos rn ON rn.releaseid = r.id
LEFT OUTER JOIN tv_episodes tve ON tve.videos_id = r.videos_id
INNER JOIN category c ON c.id = r.categoryid
INNER JOIN category cp ON cp.id = c.parentid
@@ -604,13 +604,13 @@ class Releases
sprintf('
DELETE r, rn, rc, uc, rf, ra, rs, rv, re, df
FROM releases r
LEFT OUTER JOIN releasenfo rn ON rn.releaseid = r.id
LEFT OUTER JOIN release_nfos rn ON rn.releaseid = r.id
LEFT OUTER JOIN release_comments rc ON rc.releaseid = r.id
LEFT OUTER JOIN userdownloads uc ON uc.releaseid = r.id
LEFT OUTER JOIN user_downloads uc ON uc.releaseid = r.id
LEFT OUTER JOIN release_files rf ON rf.releaseid = r.id
LEFT OUTER JOIN releaseaudio ra ON ra.releaseid = r.id
LEFT OUTER JOIN releasesubs rs ON rs.releaseid = r.id
LEFT OUTER JOIN releasevideo rv ON rv.releaseid = r.id
LEFT OUTER JOIN release_audio ra ON ra.releaseid = r.id
LEFT OUTER JOIN release_subtitles rs ON rs.releaseid = r.id
LEFT OUTER JOIN video_data rv ON rv.releaseid = r.id
LEFT OUTER JOIN releaseextrafull re ON re.releaseid = r.id
LEFT OUTER JOIN dnzb_failures df ON df.release_id = r.id
WHERE r.guid = %s',
@@ -893,10 +893,10 @@ class Releases
v.tvdb, v.trakt, v.tvrage, v.tvmaze, v.imdb, v.tmdb,
tve.firstaired
FROM releases r
LEFT OUTER JOIN releasevideo re ON re.releaseid = r.id
LEFT OUTER JOIN video_data re ON re.releaseid = r.id
LEFT OUTER JOIN videos v ON r.videos_id = v.id
LEFT OUTER JOIN tv_episodes tve ON r.tv_episodes_id = tve.id
LEFT OUTER JOIN releasenfo rn ON rn.releaseid = r.id
LEFT OUTER JOIN release_nfos rn ON rn.releaseid = r.id
INNER JOIN groups ON groups.id = r.groupid
INNER JOIN category c ON c.id = r.categoryid
INNER JOIN category cp ON cp.id = c.parentid
@@ -990,8 +990,8 @@ class Releases
LEFT OUTER JOIN tv_episodes tve ON r.tv_episodes_id = tve.id
INNER JOIN category c ON c.id = r.categoryid
INNER JOIN groups ON groups.id = r.groupid
LEFT OUTER JOIN releasevideo re ON re.releaseid = r.id
LEFT OUTER JOIN releasenfo rn ON rn.releaseid = r.id
LEFT OUTER JOIN video_data re ON re.releaseid = r.id
LEFT OUTER JOIN release_nfos rn ON rn.releaseid = r.id
INNER JOIN category cp ON cp.id = c.parentid
%s",
$this->getConcatenatedCategoryIDs(),
@@ -1048,7 +1048,7 @@ class Releases
FROM releases r
INNER JOIN category c ON c.id = r.categoryid
INNER JOIN groups ON groups.id = r.groupid
LEFT OUTER JOIN releasenfo rn ON rn.releaseid = r.id
LEFT OUTER JOIN release_nfos rn ON rn.releaseid = r.id
LEFT OUTER JOIN releaseextrafull re ON re.releaseid = r.id
INNER JOIN category cp ON cp.id = c.parentid
%s",
@@ -1105,7 +1105,7 @@ class Releases
FROM releases r
INNER JOIN groups g ON g.id = r.groupid
INNER JOIN category c ON c.id = r.categoryid
LEFT OUTER JOIN releasenfo rn ON rn.releaseid = r.id
LEFT OUTER JOIN release_nfos rn ON rn.releaseid = r.id
INNER JOIN category cp ON cp.id = c.parentid
%s",
$this->getConcatenatedCategoryIDs(),
@@ -1359,7 +1359,7 @@ class Releases
{
return $this->pdo->queryOneRow(
sprintf(
'SELECT releaseid %s FROM releasenfo WHERE releaseid = %d AND nfo IS NOT NULL',
'SELECT releaseid %s FROM release_nfos WHERE releaseid = %d AND nfo IS NOT NULL',
($getNfoString ? ", UNCOMPRESS(nfo) AS nfo" : ''),
$id
)
+1 -1
View File
@@ -432,7 +432,7 @@ class Tmux
return sprintf("
SELECT
(SELECT TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 'predb' AND TABLE_SCHEMA = %1\$s) AS predb,
(SELECT TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 'partrepair' AND TABLE_SCHEMA = %1\$s) AS partrepair_table,
(SELECT TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 'missed_parts' AND TABLE_SCHEMA = %1\$s) AS partrepair_table,
(SELECT TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 'parts' AND TABLE_SCHEMA = %1\$s) AS parts_table,
(SELECT TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 'binaries' AND TABLE_SCHEMA = %1\$s) AS binaries_table,
(SELECT TABLE_ROWS FROM information_schema.TABLES WHERE table_name = 'collections' AND TABLE_SCHEMA = %1\$s) AS collections_table,
+6 -6
View File
@@ -31,33 +31,33 @@ class UserMovies
$catid = (!empty($catid)) ? $this->pdo->escapeString(implode('|', $catid)) : "null";
return $this->pdo->queryInsert(sprintf("INSERT INTO usermovies (userid, imdbid, categoryid, createddate) VALUES (%d, %d, %s, now())", $uid, $imdbid, $catid));
return $this->pdo->queryInsert(sprintf("INSERT INTO user_movies (userid, imdbid, categoryid, createddate) VALUES (%d, %d, %s, now())", $uid, $imdbid, $catid));
}
public function getMovies($uid)
{
return $this->pdo->query(sprintf("SELECT usermovies.*, movieinfo.year, movieinfo.plot, movieinfo.cover, movieinfo.title FROM usermovies LEFT OUTER JOIN movieinfo ON movieinfo.imdbid = usermovies.imdbid WHERE userid = %d ORDER BY movieinfo.title ASC", $uid));
return $this->pdo->query(sprintf("SELECT user_movies.*, movieinfo.year, movieinfo.plot, movieinfo.cover, movieinfo.title FROM user_movies LEFT OUTER JOIN movieinfo ON movieinfo.imdbid = user_movies.imdbid WHERE userid = %d ORDER BY movieinfo.title ASC", $uid));
}
public function delMovie($uid, $imdbid)
{
$this->pdo->queryExec(sprintf("DELETE FROM usermovies WHERE userid = %d AND imdbid = %d ", $uid, $imdbid));
$this->pdo->queryExec(sprintf("DELETE FROM user_movies WHERE userid = %d AND imdbid = %d ", $uid, $imdbid));
}
public function getMovie($uid, $imdbid)
{
return $this->pdo->queryOneRow(sprintf("SELECT usermovies.*, movieinfo.title FROM usermovies LEFT OUTER JOIN movieinfo ON movieinfo.imdbid = usermovies.imdbid WHERE usermovies.userid = %d AND usermovies.imdbid = %d ", $uid, $imdbid));
return $this->pdo->queryOneRow(sprintf("SELECT user_movies.*, movieinfo.title FROM user_movies LEFT OUTER JOIN movieinfo ON movieinfo.imdbid = user_movies.imdbid WHERE user_movies.userid = %d AND user_movies.imdbid = %d ", $uid, $imdbid));
}
public function delMovieForUser($uid)
{
$this->pdo->queryExec(sprintf("DELETE FROM usermovies WHERE userid = %d", $uid));
$this->pdo->queryExec(sprintf("DELETE FROM user_movies WHERE userid = %d", $uid));
}
public function updateMovie($uid, $imdbid, $catid= [])
{
$catid = (!empty($catid)) ? $this->pdo->escapeString(implode('|', $catid)) : "null";
$this->pdo->queryExec(sprintf("UPDATE usermovies SET categoryid = %s WHERE userid = %d AND imdbid = %d", $catid, $uid, $imdbid));
$this->pdo->queryExec(sprintf("UPDATE user_movies SET categoryid = %s WHERE userid = %d AND imdbid = %d", $catid, $uid, $imdbid));
}
}
+8 -8
View File
@@ -6,7 +6,7 @@ use newznab\db\Settings;
/**
* Class UserSeries
*
* Sets and Gets data from and to the DB "userseries" table and the "my shows" web-page.
* Sets and Gets data from and to the DB "user_series" table and the "my shows" web-page.
*/
class UserSeries
{
@@ -41,7 +41,7 @@ class UserSeries
{
return $this->pdo->queryInsert(
sprintf(
"INSERT INTO userseries (userid, videos_id, categoryid, createddate) VALUES (%d, %d, %s, NOW())",
"INSERT INTO user_series (userid, videos_id, categoryid, createddate) VALUES (%d, %d, %s, NOW())",
$uID,
$videoId,
(!empty($catID) ? $this->pdo->escapeString(implode('|', $catID)) : "NULL")
@@ -61,7 +61,7 @@ class UserSeries
return $this->pdo->query(
sprintf("
SELECT us.*, v.title
FROM userseries us
FROM user_series us
INNER JOIN videos v ON v.id = us.videos_id
WHERE userid = %d
ORDER BY v.title ASC",
@@ -80,7 +80,7 @@ class UserSeries
{
$this->pdo->queryExec(
sprintf(
"DELETE FROM userseries WHERE userid = %d AND videos_id = %d",
"DELETE FROM user_series WHERE userid = %d AND videos_id = %d",
$uID,
$videoId
)
@@ -100,7 +100,7 @@ class UserSeries
return $this->pdo->queryOneRow(
sprintf("
SELECT us.*, v.title
FROM userseries us
FROM user_series us
LEFT OUTER JOIN videos v ON v.id = us.videos_id
WHERE us.userid = %d
AND us.videos_id = %d",
@@ -119,7 +119,7 @@ class UserSeries
{
$this->pdo->queryExec(
sprintf(
"DELETE FROM userseries WHERE userid = %d",
"DELETE FROM user_series WHERE userid = %d",
$uID
)
);
@@ -134,7 +134,7 @@ class UserSeries
{
$this->pdo->queryExec(
sprintf(
"DELETE FROM userseries WHERE videos_id = %d",
"DELETE FROM user_series WHERE videos_id = %d",
$videoId
)
);
@@ -151,7 +151,7 @@ class UserSeries
{
$this->pdo->queryExec(
sprintf(
"UPDATE userseries SET categoryid = %s WHERE userid = %d AND videos_id = %d",
"UPDATE user_series SET categoryid = %s WHERE userid = %d AND videos_id = %d",
(!empty($catID) ? $this->pdo->escapeString(implode('|', $catID)) : "NULL"),
$uID,
$videoId
+43 -43
View File
@@ -130,22 +130,22 @@ class Users
public function delCartForUser($uid)
{
$this->pdo->queryExec(sprintf("DELETE FROM usercart WHERE userid = %d", $uid));
$this->pdo->queryExec(sprintf("DELETE FROM users_releases WHERE userid = %d", $uid));
}
public function delUserCategoryExclusions($uid)
{
$this->pdo->queryExec(sprintf("DELETE FROM userexcat WHERE userid = %d", $uid));
$this->pdo->queryExec(sprintf("DELETE FROM user_excluded_categories WHERE userid = %d", $uid));
}
public function delDownloadRequests($userid)
{
return $this->pdo->queryExec(sprintf("delete FROM userdownloads WHERE userid = %d", $userid));
return $this->pdo->queryExec(sprintf("delete FROM user_downloads WHERE userid = %d", $userid));
}
public function delApiRequests($userid)
{
return $this->pdo->queryExec(sprintf("delete FROM userrequests WHERE userid = %d", $userid));
return $this->pdo->queryExec(sprintf("delete FROM user_requests WHERE userid = %d", $userid));
}
public function getRange($start, $num, $orderby, $username = '', $email = '', $host = '', $role = '')
@@ -173,7 +173,7 @@ class Users
$order = $this->getBrowseOrder($orderby);
return $this->pdo->query(sprintf(" SELECT users.*, userroles.name as rolename FROM users INNER JOIN userroles on userroles.id = users.role WHERE 1=1 %s %s %s %s AND email != 'sharing@nZEDb.com' ORDER BY %s %s" . $limit, $usql, $esql, $hsql, $rsql, $order[0], $order[1]));
return $this->pdo->query(sprintf(" SELECT users.*, user_roles.name as rolename FROM users INNER JOIN user_roles on user_roles.id = users.role WHERE 1=1 %s %s %s %s AND email != 'sharing@nZEDb.com' ORDER BY %s %s" . $limit, $usql, $esql, $hsql, $rsql, $order[0], $order[1]));
}
public function getBrowseOrder($orderby)
@@ -318,7 +318,7 @@ class Users
public function getByUsername($userName)
{
return $this->pdo->queryOneRow(sprintf("SELECT users.*, userroles.name as rolename, userroles.apirequests, userroles.downloadrequests FROM users INNER JOIN userroles on userroles.id = users.role WHERE username = %s ", $this->pdo->escapeString($userName)));
return $this->pdo->queryOneRow(sprintf("SELECT users.*, user_roles.name as rolename, user_roles.apirequests, user_roles.downloadrequests FROM users INNER JOIN user_roles on user_roles.id = users.role WHERE username = %s ", $this->pdo->escapeString($userName)));
}
public function getByEmail($email)
@@ -426,7 +426,7 @@ class Users
public function getById($id)
{
$sql = sprintf("SELECT users.*, userroles.name as rolename, userroles.hideads, userroles.canpreview, userroles.canpre, userroles.apirequests, userroles.downloadrequests, NOW() as now FROM users INNER JOIN userroles on userroles.id = users.role WHERE users.id = %d ", $id);
$sql = sprintf("SELECT users.*, user_roles.name as rolename, user_roles.hideads, user_roles.canpreview, user_roles.canpre, user_roles.apirequests, user_roles.downloadrequests, NOW() as now FROM users INNER JOIN user_roles on user_roles.id = users.role WHERE users.id = %d ", $id);
return $this->pdo->queryOneRow($sql);
}
@@ -435,7 +435,7 @@ class Users
{
return $this->pdo->queryOneRow(sprintf("SELECT users.*, userroles.apirequests, userroles.downloadrequests, NOW() as now FROM users INNER JOIN userroles on userroles.id = users.role WHERE users.rsstoken = %s ", $this->pdo->escapeString($rsstoken)));
return $this->pdo->queryOneRow(sprintf("SELECT users.*, user_roles.apirequests, user_roles.downloadrequests, NOW() as now FROM users INNER JOIN user_roles on user_roles.id = users.role WHERE users.rsstoken = %s ", $this->pdo->escapeString($rsstoken)));
}
public function getBrowseOrdering()
@@ -563,11 +563,11 @@ class Users
//
// Tidy any old invites sent greater than DEFAULT_INVITE_EXPIRY_DAYS days ago.
//
$this->pdo->queryExec(sprintf("DELETE FROM userinvite WHERE createddate < now() - INTERVAL %d DAY", self::DEFAULT_INVITE_EXPIRY_DAYS));
$this->pdo->queryExec(sprintf("DELETE FROM invitations WHERE createddate < now() - INTERVAL %d DAY", self::DEFAULT_INVITE_EXPIRY_DAYS));
return $this->pdo->queryOneRow(
sprintf(
"SELECT * FROM userinvite WHERE guid = %s",
"SELECT * FROM invitations WHERE guid = %s",
$this->pdo->escapeString($inviteToken)
)
);
@@ -576,7 +576,7 @@ class Users
public function deleteInvite($inviteToken)
{
$this->pdo->queryExec(sprintf("DELETE FROM userinvite WHERE guid = %s ", $this->pdo->escapeString($inviteToken)));
$this->pdo->queryExec(sprintf("DELETE FROM invitations WHERE guid = %s ", $this->pdo->escapeString($inviteToken)));
}
@@ -721,7 +721,7 @@ class Users
public function addCart($uid, $releaseid)
{
$sql = sprintf("INSERT INTO usercart (userid, releaseid, createddate) VALUES (%d, %d, now())", $uid, $releaseid);
$sql = sprintf("INSERT INTO users_releases (userid, releaseid, createddate) VALUES (%d, %d, now())", $uid, $releaseid);
return $this->pdo->queryInsert($sql);
}
@@ -732,7 +732,7 @@ class Users
if ($releaseid != "")
$releaseid = " AND releases.id = " . $this->pdo->escapeString($releaseid);
return $this->pdo->query(sprintf("SELECT usercart.*, releases.searchname,releases.guid FROM usercart INNER JOIN releases on releases.id = usercart.releaseid WHERE userid = %d %s", $uid, $releaseid));
return $this->pdo->query(sprintf("SELECT users_releases.*, releases.searchname,releases.guid FROM users_releases INNER JOIN releases on releases.id = users_releases.releaseid WHERE userid = %d %s", $uid, $releaseid));
}
public function delCartByGuid($ids, $userID)
@@ -750,7 +750,7 @@ class Users
return (bool)$this->pdo->queryExec(
sprintf(
"DELETE FROM usercart WHERE id IN (%s) AND userid = %d", implode(',', $del), $userID
"DELETE FROM users_releases WHERE id IN (%s) AND userid = %d", implode(',', $del), $userID
)
);
}
@@ -759,12 +759,12 @@ class Users
{
$rel = $this->pdo->queryOneRow(sprintf("SELECT id FROM releases WHERE guid = %s", $this->pdo->escapeString($guid)));
if ($rel)
$this->pdo->queryExec(sprintf("DELETE FROM usercart WHERE userid = %d AND releaseid = %d", $uid, $rel["id"]));
$this->pdo->queryExec(sprintf("DELETE FROM users_releases WHERE userid = %d AND releaseid = %d", $uid, $rel["id"]));
}
public function delCartForRelease($rid)
{
$this->pdo->queryExec(sprintf("DELETE FROM usercart WHERE releaseid = %d", $rid));
$this->pdo->queryExec(sprintf("DELETE FROM users_releases WHERE releaseid = %d", $rid));
}
public function addCategoryExclusions($uid, $catids)
@@ -772,7 +772,7 @@ class Users
$this->delUserCategoryExclusions($uid);
if (COUNT($catids) > 0) {
foreach ($catids as $catid) {
$this->pdo->queryInsert(sprintf("INSERT INTO userexcat (userid, categoryid, createddate) VALUES (%d, %d, now())", $uid, $catid));
$this->pdo->queryInsert(sprintf("INSERT INTO user_excluded_categories (userid, categoryid, createddate) VALUES (%d, %d, now())", $uid, $catid));
}
}
}
@@ -812,7 +812,7 @@ class Users
public function getCategoryExclusion($userID)
{
$ret = [];
$categories = $this->pdo->query(sprintf("SELECT categoryid FROM userexcat WHERE userid = %d", $userID));
$categories = $this->pdo->query(sprintf("SELECT categoryid FROM user_excluded_categories WHERE userid = %d", $userID));
foreach ($categories as $category) {
$ret[] = $category["categoryid"];
}
@@ -843,7 +843,7 @@ class Users
public function delCategoryExclusion($uid, $catid)
{
$this->pdo->queryExec(sprintf("DELETE FROM userexcat WHERE userid = %d AND categoryid = %d", $uid, $catid));
$this->pdo->queryExec(sprintf("DELETE FROM user_excluded_categories WHERE userid = %d AND categoryid = %d", $uid, $catid));
}
public function sendInvite($sitetitle, $siteemail, $serverurl, $uid, $emailto)
@@ -862,7 +862,7 @@ class Users
public function addInvite($uid, $inviteToken)
{
$this->pdo->queryInsert(sprintf("INSERT INTO userinvite (guid, userid, createddate) VALUES (%s, %d, now())", $this->pdo->escapeString($inviteToken), $uid));
$this->pdo->queryInsert(sprintf("INSERT INTO invitations (guid, userid, createddate) VALUES (%s, %d, now())", $this->pdo->escapeString($inviteToken), $uid));
}
public function getTopGrabbers()
@@ -907,9 +907,9 @@ class Users
$sql = sprintf("SELECT hosthash, group_concat(userid) AS user_string, group_concat(username) AS user_names
FROM
(
SELECT hosthash, userid, username FROM userdownloads LEFT OUTER JOIN users ON users.id = userdownloads.userid WHERE hosthash IS NOT NULL AND hosthash NOT IN %s GROUP BY hosthash, userid
SELECT hosthash, userid, username FROM user_downloads LEFT OUTER JOIN users ON users.id = user_downloads.userid WHERE hosthash IS NOT NULL AND hosthash NOT IN %s GROUP BY hosthash, userid
union distinct
SELECT hosthash, userid, username FROM userrequests LEFT OUTER JOIN users on users.id = userrequests.userid WHERE hosthash IS NOT NULL AND hosthash NOT IN %s GROUP BY hosthash, userid
SELECT hosthash, userid, username FROM user_requests LEFT OUTER JOIN users on users.id = user_requests.userid WHERE hosthash IS NOT NULL AND hosthash NOT IN %s GROUP BY hosthash, userid
) x
GROUP BY hosthash
HAVING CAST((LENGTH(group_concat(userid)) - LENGTH(REPLACE(group_concat(userid), ',', ''))) / LENGTH(',') AS UNSIGNED) < 9
@@ -932,7 +932,7 @@ class Users
public function getUsersByRole()
{
return $this->pdo->query("SELECT ur.name, COUNT(u.id) as num FROM users u
INNER JOIN userroles ur ON ur.id = u.role
INNER JOIN user_roles ur ON ur.id = u.role
GROUP BY ur.name
ORDER BY COUNT(u.id) DESC;"
);
@@ -962,19 +962,19 @@ class Users
public function getRoles()
{
return $this->pdo->query("SELECT * FROM userroles");
return $this->pdo->query("SELECT * FROM user_roles");
}
public function getRoleById($id)
{
$sql = sprintf("SELECT * FROM userroles WHERE id = %d", $id);
$sql = sprintf("SELECT * FROM user_roles WHERE id = %d", $id);
return $this->pdo->queryOneRow($sql);
}
public function addRole($name, $apirequests, $downloadrequests, $defaultinvites, $canpreview, $canpre, $hideads)
{
$sql = sprintf("INSERT INTO userroles (name, apirequests, downloadrequests, defaultinvites, canpreview, canpre, hideads) VALUES (%s, %d, %d, %d, %d, %d)", $this->pdo->escapeString($name), $apirequests, $downloadrequests, $defaultinvites, $canpreview, $canpre, $hideads);
$sql = sprintf("INSERT INTO user_roles (name, apirequests, downloadrequests, defaultinvites, canpreview, canpre, hideads) VALUES (%s, %d, %d, %d, %d, %d)", $this->pdo->escapeString($name), $apirequests, $downloadrequests, $defaultinvites, $canpreview, $canpre, $hideads);
return $this->pdo->queryInsert($sql);
}
@@ -982,9 +982,9 @@ class Users
public function updateRole($id, $name, $apirequests, $downloadrequests, $defaultinvites, $isdefault, $canpreview, $canpre, $hideads)
{
if ($isdefault == 1) {
$this->pdo->queryExec("UPDATE userroles SET isdefault=0");
$this->pdo->queryExec("UPDATE user_roles SET isdefault=0");
}
return $this->pdo->queryExec(sprintf("UPDATE userroles SET name=%s, apirequests=%d, downloadrequests=%d, defaultinvites=%d, isdefault=%d, canpreview=%d, canpre=%d, hideads=%d WHERE id=%d", $this->pdo->escapeString($name), $apirequests, $downloadrequests, $defaultinvites, $isdefault, $canpreview, $canpre, $hideads, $id));
return $this->pdo->queryExec(sprintf("UPDATE user_roles SET name=%s, apirequests=%d, downloadrequests=%d, defaultinvites=%d, isdefault=%d, canpreview=%d, canpre=%d, hideads=%d WHERE id=%d", $this->pdo->escapeString($name), $apirequests, $downloadrequests, $defaultinvites, $isdefault, $canpreview, $canpre, $hideads, $id));
}
public function deleteRole($id)
@@ -998,12 +998,12 @@ class Users
$this->pdo->queryExec(sprintf("UPDATE users SET role=%d WHERE id IN (%s)", $defaultrole['id'], implode(',', $userids)));
}
return $this->pdo->queryExec(sprintf("DELETE FROM userroles WHERE id=%d", $id));
return $this->pdo->queryExec(sprintf("DELETE FROM user_roles WHERE id=%d", $id));
}
public function getDefaultRole()
{
return $this->pdo->queryOneRow("SELECT * FROM userroles WHERE isdefault = 1");
return $this->pdo->queryOneRow("SELECT * FROM user_roles WHERE isdefault = 1");
}
/**
@@ -1018,7 +1018,7 @@ class Users
// Clear old requests.
$this->clearApiRequests($userID);
$requests = $this->pdo->queryOneRow(
sprintf('SELECT COUNT(id) AS num FROM userrequests WHERE userid = %d', $userID)
sprintf('SELECT COUNT(id) AS num FROM user_requests WHERE userid = %d', $userID)
);
return (!$requests ? 0 : (int)$requests['num']);
}
@@ -1035,7 +1035,7 @@ class Users
{
return $this->pdo->queryInsert(
sprintf(
"INSERT INTO userrequests (userid, request, timestamp) VALUES (%d, %s, NOW())",
"INSERT INTO user_requests (userid, request, timestamp) VALUES (%d, %s, NOW())",
$userID,
$this->pdo->escapeString($request)
)
@@ -1054,11 +1054,11 @@ class Users
protected function clearApiRequests($userID)
{
if ($userID === false) {
$this->pdo->queryExec('DELETE FROM userrequests WHERE timestamp < DATE_SUB(NOW(), INTERVAL 1 DAY)');
$this->pdo->queryExec('DELETE FROM user_requests WHERE timestamp < DATE_SUB(NOW(), INTERVAL 1 DAY)');
} else {
$this->pdo->queryExec(
sprintf(
'DELETE FROM userrequests WHERE userid = %d AND timestamp < DATE_SUB(NOW(), INTERVAL 1 DAY)',
'DELETE FROM user_requests WHERE userid = %d AND timestamp < DATE_SUB(NOW(), INTERVAL 1 DAY)',
$userID
)
);
@@ -1066,7 +1066,7 @@ class Users
}
/**
* deletes old rows FROM the userrequest and userdownloads tables.
* deletes old rows FROM the userrequest and user_downloads tables.
* if site->userdownloadpurgedays SET to 0 then all release history is removed but
* the download/request rows must remain for at least one day to allow the role based
* limits to apply.
@@ -1077,11 +1077,11 @@ class Users
{
if ($days == 0) {
$days = 1;
$this->pdo->queryExec("UPDATE userdownloads SET releaseid = null");
$this->pdo->queryExec("UPDATE user_downloads SET releaseid = null");
}
$this->pdo->queryExec(sprintf("DELETE FROM userrequests WHERE timestamp < DATE_SUB(NOW(), INTERVAL %d DAY)", $days));
$this->pdo->queryExec(sprintf("DELETE FROM userdownloads WHERE timestamp < DATE_SUB(NOW(), INTERVAL %d DAY)", $days));
$this->pdo->queryExec(sprintf("DELETE FROM user_requests WHERE timestamp < DATE_SUB(NOW(), INTERVAL %d DAY)", $days));
$this->pdo->queryExec(sprintf("DELETE FROM user_downloads WHERE timestamp < DATE_SUB(NOW(), INTERVAL %d DAY)", $days));
}
/**
@@ -1096,13 +1096,13 @@ class Users
// Clear old requests.
$this->pdo->queryExec(
sprintf(
'DELETE FROM userdownloads WHERE userid = %d AND timestamp < DATE_SUB(NOW(), INTERVAL 1 DAY)',
'DELETE FROM user_downloads WHERE userid = %d AND timestamp < DATE_SUB(NOW(), INTERVAL 1 DAY)',
$userID
)
);
$value = $this->pdo->queryOneRow(
sprintf(
'SELECT COUNT(id) AS num FROM userdownloads WHERE userid = %d AND timestamp > DATE_SUB(NOW(), INTERVAL 1 DAY)',
'SELECT COUNT(id) AS num FROM user_downloads WHERE userid = %d AND timestamp > DATE_SUB(NOW(), INTERVAL 1 DAY)',
$userID
)
);
@@ -1111,7 +1111,7 @@ class Users
public function getDownloadRequestsForUser($userID)
{
return $this->pdo->query(sprintf('SELECT u.*, r.guid, r.searchname FROM userdownloads u
return $this->pdo->query(sprintf('SELECT u.*, r.guid, r.searchname FROM user_downloads u
LEFT OUTER JOIN releases r ON r.id = u.releaseid
WHERE u.userid = %d
ORDER BY u.timestamp
@@ -1134,7 +1134,7 @@ class Users
{
return $this->pdo->queryInsert(
sprintf(
"INSERT INTO userdownloads (userid, releaseid, timestamp) VALUES (%d, %d, NOW())",
"INSERT INTO user_downloads (userid, releaseid, timestamp) VALUES (%d, %d, NOW())",
$userID,
$releaseID
)
@@ -1143,7 +1143,7 @@ class Users
public function delDownloadRequestsForRelease($releaseID)
{
return $this->pdo->queryInsert(sprintf("delete FROM userdownloads WHERE releaseid = %d", $releaseID));
return $this->pdo->queryInsert(sprintf("delete FROM user_downloads WHERE releaseid = %d", $releaseID));
}
/**
+1 -1
View File
@@ -139,7 +139,7 @@ Class Videos
FROM videos v
INNER JOIN tv_info tvi ON v.id = tvi.videos_id
INNER JOIN tv_episodes tve ON v.id = tve.videos_id
LEFT OUTER JOIN userseries us ON v.id = us.videos_id AND us.userid = %d
LEFT OUTER JOIN user_series us ON v.id = us.videos_id AND us.userid = %d
WHERE 1=1
AND tve.firstaired <= NOW()
%s %s
+1 -1
View File
@@ -222,7 +222,7 @@ class XXX
rn.releaseid AS nfoid
FROM releases r
LEFT OUTER JOIN groups g ON g.id = r.groupid
LEFT OUTER JOIN releasenfo rn ON rn.releaseid = r.id
LEFT OUTER JOIN release_nfos rn ON rn.releaseid = r.id
LEFT OUTER JOIN dnzb_failures df ON df.release_id = r.id
LEFT OUTER JOIN category c ON c.id = r.categoryid
LEFT OUTER JOIN category cp ON cp.id = c.parentid
+2 -2
View File
@@ -351,7 +351,7 @@ class Forking extends \fork_daemon
MAX(a.first_record) AS their_first,
MAX(a.last_record) AS their_last
FROM groups g
INNER JOIN shortgroups a ON g.name = a.name
INNER JOIN short_groups a ON g.name = a.name
WHERE g.first_record IS NOT NULL
AND g.first_record_postdate IS NOT NULL
AND g.backfill = 1
@@ -432,7 +432,7 @@ class Forking extends \fork_daemon
$maxmssgs = $this->pdo->getSetting('maxmssgs');
$threads = $this->pdo->getSetting('binarythreads');
$groups = $this->pdo->query("SELECT g.name AS groupname, g.last_record AS our_last, a.last_record AS their_last FROM groups g INNER JOIN shortgroups a ON g.active = 1 AND g.name = a.name ORDER BY a.last_record DESC");
$groups = $this->pdo->query("SELECT g.name AS groupname, g.last_record AS our_last, a.last_record AS their_last FROM groups g INNER JOIN short_groups a ON g.active = 1 AND g.name = a.name ORDER BY a.last_record DESC");
if ($groups) {
$i = 1;
+1 -1
View File
@@ -469,7 +469,7 @@ function addLanguage(&$releases, Settings $settings)
if (isset($release['id'])) {
$language = $settings->queryOneRow('
SELECT audiolanguage
FROM releaseaudio
FROM release_audio
WHERE releaseid = ' .
$release['id']
);
@@ -1053,7 +1053,7 @@
<td style="width:180px;"><label for="safepartrepair">Part Repair for Backfill Scripts:</label></td>
<td>
{html_radios id="safepartrepair" name='safepartrepair' values=$yesno_ids output=$yesno_names selected=$site->safepartrepair separator='<br />'}
<div class="hint">Whether to put unreceived parts into partrepair table when running binaries(safe) or backfill scripts.</div>
<div class="hint">Whether to put unreceived parts into missed_parts table when running binaries(safe) or backfill scripts.</div>
</td>
</tr>
<tr>
@@ -1061,7 +1061,7 @@
<td>
<input class="short" id="maxpartrepair" name="maxpartrepair" type="text" value="{$site->maxpartrepair}"/>
<div class="hint">The maximum amount of articles to attempt to repair at a time. If you notice that you
are getting a lot of parts into the partrepair table, it is possible that you USP is not keeping up
are getting a lot of parts into the missed_parts table, it is possible that you USP is not keeping up
with the requests. Try to reduce the threads to safe scripts, stop using safe scripts or stop using
nntpproxy until improves. Ar least until the cause can be determined.
</div>
@@ -1501,7 +1501,7 @@
value="{$site->binarythreads}"/>
<div class="hint">The number of threads for update_binaries. If you notice that you are getting a lot of
parts into the partrepair table, it is possible that you USP is not keeping up with the requests.
parts into the missed_parts table, it is possible that you USP is not keeping up with the requests.
Try to reduce the threads. At least until the cause can be determined.
</div>
</td>