From 3ecc45f37221e7f7c1d5fe79eaecb15453b91edf Mon Sep 17 00:00:00 2001 From: Darko Date: Fri, 2 Oct 2015 15:42:52 +0200 Subject: [PATCH] Add list of failed releases to admin area. (cherry picked from commit fa130d2) --- newznab/controllers/DnzbFailures.php | 32 ++++++++++++++++ www/admin/failrel-list.php | 26 +++++++++++++ .../views/admin/adminmenu.tpl | 1 + .../views/admin/failrel-list.tpl | 37 +++++++++++++++++++ 4 files changed, 96 insertions(+) create mode 100644 www/admin/failrel-list.php create mode 100644 www/templates_shared/views/admin/failrel-list.tpl diff --git a/newznab/controllers/DnzbFailures.php b/newznab/controllers/DnzbFailures.php index 248b7e9dc..602399d7e 100644 --- a/newznab/controllers/DnzbFailures.php +++ b/newznab/controllers/DnzbFailures.php @@ -42,6 +42,38 @@ class DnzbFailures return $result[0]['num']; } + /** + * Get a count of failed releases for pager. used in admin manage failed releases list + */ + public function getCount() + { + + $res = $this->pdo->queryOneRow("SELECT count(id) AS num FROM dnzb_failures"); + + return $res["num"]; + } + + /** + * Get a range of releases. used in admin manage list + */ + public function getFailedRange($start, $num) + { + + + if ($start === false) + $limit = ""; + else + $limit = " LIMIT " . $start . "," . $num; + + return $this->pdo->query("SELECT r.*, df.guid, concat(cp.title, ' > ', c.title) AS category_name + FROM releases r + RIGHT JOIN dnzb_failures df ON df.guid = r.guid + LEFT OUTER JOIN category c ON c.id = r.categoryid + LEFT OUTER JOIN category cp ON cp.id = c.parentid + ORDER BY postdate DESC" . $limit + ); + } + /** * Retrieve alternate release with same or similar searchname * diff --git a/www/admin/failrel-list.php b/www/admin/failrel-list.php new file mode 100644 index 000000000..aab37f9c1 --- /dev/null +++ b/www/admin/failrel-list.php @@ -0,0 +1,26 @@ + $page->settings]); + +$page->title = "Failed Releases List"; + +$frelcount = $failed->getCount(); + +$offset = isset($_REQUEST["offset"]) ? $_REQUEST["offset"] : 0; +$page->smarty->assign('pagertotalitems',$frelcount); +$page->smarty->assign('pageroffset',$offset); +$page->smarty->assign('pageritemsperpage',ITEMS_PER_PAGE); +$page->smarty->assign('pagerquerybase', WWW_TOP."/failrel-list.php?offset="); +$pager = $page->smarty->fetch("pager.tpl"); +$page->smarty->assign('pager', $pager); + +$frellist = $failed->getFailedRange($offset, ITEMS_PER_PAGE); +$page->smarty->assign('releaselist', $frellist); + +$page->content = $page->smarty->fetch('failrel-list.tpl'); +$page->render(); + diff --git a/www/templates_shared/views/admin/adminmenu.tpl b/www/templates_shared/views/admin/adminmenu.tpl index 290e861b5..b1afc79df 100644 --- a/www/templates_shared/views/admin/adminmenu.tpl +++ b/www/templates_shared/views/admin/adminmenu.tpl @@ -30,6 +30,7 @@
  • View Add Blacklist
  • View Releases
  • +
  • View Failed Releases
  • View Previews
  • View Add TVRage List
  • View TheTVDB List
  • diff --git a/www/templates_shared/views/admin/failrel-list.tpl b/www/templates_shared/views/admin/failrel-list.tpl new file mode 100644 index 000000000..badaa35f2 --- /dev/null +++ b/www/templates_shared/views/admin/failrel-list.tpl @@ -0,0 +1,37 @@ +

    {$page->title}

    + +{if $releaselist} + {$pager} + + + + + + + + + + + + + + + {foreach from=$releaselist item=release} + + + + + + + + + + + {/foreach} + +
    namecategorysizefilespostdateadddategrabsoptions
    {$release.searchname|escape:"htmlall"|wordwrap:75:"\n":true}{$release.category_name}{$release.size|fsize_format:"MB"}{$release.totalpart}{$release.postdate|date_format}{$release.adddate|date_format}{$release.grabs}delete
    +
    + {$pager} +{else} +

    No releases available.

    +{/if}