mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-29 01:08:56 +00:00
137 lines
3.4 KiB
PHP
137 lines
3.4 KiB
PHP
<?php
|
|
|
|
$category = new Category;
|
|
$releases = new Releases;
|
|
|
|
//
|
|
// user has to either be logged in, or using rsskey
|
|
//
|
|
|
|
//
|
|
// if no content id provided then show user the rss selection page
|
|
//
|
|
if (!isset($_GET["t"]) && !isset($_GET["rage"]) && !isset($_GET["anidb"]))
|
|
{
|
|
//
|
|
// must be logged in to view this help page
|
|
//
|
|
if (!$users->isLoggedIn())
|
|
$page->show403();
|
|
|
|
$page->title = "Rss Feeds";
|
|
$page->meta_title = "Rss Nzb Feeds";
|
|
$page->meta_keywords = "view,nzb,description,details,rss,atom";
|
|
$page->meta_description = "View available Rss Nzb feeds.";
|
|
|
|
$categorylist = $category->get(true, $page->userdata["categoryexclusions"]);
|
|
$page->smarty->assign('categorylist',$categorylist);
|
|
|
|
$parentcategorylist = $category->getForMenu($page->userdata["categoryexclusions"]);
|
|
$page->smarty->assign('parentcategorylist',$parentcategorylist);
|
|
|
|
$page->content = $page->smarty->fetch('rssdesc.tpl');
|
|
$page->render();
|
|
|
|
}
|
|
//
|
|
// user requested a feed, ensure either logged in or passing a valid token
|
|
//
|
|
else
|
|
{
|
|
$uid = -1;
|
|
$rsstoken = -1;
|
|
if (!$users->isLoggedIn())
|
|
{
|
|
if (!isset($_GET["i"]) || !isset($_GET["r"]))
|
|
$page->show403();
|
|
|
|
$res = $users->getByIdAndRssToken($_GET["i"], $_GET["r"]);
|
|
if (!$res)
|
|
$page->show403();
|
|
|
|
$uid = $_GET["i"];
|
|
$rsstoken = $_GET["r"];
|
|
$maxrequests = $res['apirequests'];
|
|
}
|
|
else
|
|
{
|
|
$uid = $page->userdata["id"];
|
|
$rsstoken = $page->userdata["rsstoken"];
|
|
$maxrequests = $page->userdata['apirequests'];
|
|
}
|
|
|
|
//
|
|
// A hash of the users ip to record against the api hit
|
|
//
|
|
$hosthash = "";
|
|
if ($page->site->storeuserips == 1)
|
|
$hosthash = $users->getHostHash($_SERVER["REMOTE_ADDR"], $page->site->siteseed);
|
|
|
|
$apirequests = $users->getApiRequests($uid);
|
|
if ($apirequests['num'] > $maxrequests)
|
|
{
|
|
$page->show429($apirequests['nextrequest']);
|
|
} else {
|
|
$users->addApiRequest($uid, $_SERVER['REQUEST_URI'], $hosthash);
|
|
}
|
|
|
|
//
|
|
// valid or logged in user, get them the requested feed
|
|
//
|
|
if (isset($_GET["dl"]) && $_GET["dl"] == "1")
|
|
$page->smarty->assign("dl","1");
|
|
|
|
$usercat = -1;
|
|
if (isset($_GET["t"]))
|
|
$usercat = ($_GET["t"]==0 ? -1 : $_GET["t"]);
|
|
|
|
$userrage = -1;
|
|
$useranidb = -1;
|
|
$userseries = -1;
|
|
if (isset($_GET["rage"]))
|
|
{
|
|
$userrage = ($_GET["rage"]==0 ? -1 : $_GET["rage"]+0);
|
|
} elseif (isset($_GET["anidb"])) {
|
|
$useranidb = ($_GET["anidb"]==0 ? -1 : $_GET["anidb"]+0);
|
|
}
|
|
|
|
$usernum = 100;
|
|
if (isset($_GET["num"]))
|
|
$usernum = $_GET["num"]+0;
|
|
|
|
if (isset($_GET["del"]) && $_GET["del"] == "1")
|
|
$page->smarty->assign("del","1");
|
|
|
|
$userairdate = -1;
|
|
if (isset($_GET["airdate"]))
|
|
$userairdate = $_GET["airdate"]+0;
|
|
|
|
$page->smarty->assign('uid',$uid);
|
|
$page->smarty->assign('rsstoken',$rsstoken);
|
|
|
|
if ($usercat == -3)
|
|
{
|
|
$page->smarty->assign('rsstitle',"My Shows Feed");
|
|
$catexclusions = $users->getCategoryExclusion($uid);
|
|
$reldata = $releases->getShowsRss($usernum, $uid, $catexclusions, $userairdate);
|
|
}
|
|
elseif ($usercat == -4)
|
|
{
|
|
$page->smarty->assign('rsstitle',"My Movies Feed");
|
|
$catexclusions = $users->getCategoryExclusion($uid);
|
|
$reldata = $releases->getMyMoviesRss($usernum, $uid, $catexclusions);
|
|
}
|
|
else
|
|
{
|
|
if ($usercat == -2)
|
|
$page->smarty->assign('rsstitle',"My Cart Feed");
|
|
|
|
$reldata = $releases->getRss(explode(",",$usercat), $usernum, $uid, $userrage, $useranidb, $userairdate);
|
|
}
|
|
$page->smarty->assign('releases',$reldata);
|
|
header("Content-type: text/xml");
|
|
|
|
$page->smarty->assign('rsshead',$page->smarty->fetch('rssheader.tpl'));
|
|
echo trim($page->smarty->fetch('rss.tpl'));
|
|
|
|
} |