mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-29 17:28:55 +00:00
89 lines
3.1 KiB
PHP
89 lines
3.1 KiB
PHP
<?php
|
|
require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . 'smarty.php';
|
|
|
|
|
|
use nntmux\ReleaseRegex;
|
|
use nntmux\Groups;
|
|
use nntmux\Category;
|
|
|
|
$page = new AdminPage();
|
|
$reg = new ReleaseRegex();
|
|
$groups = new Groups();
|
|
$cat = new Category();
|
|
$id = 0;
|
|
|
|
// set the current action
|
|
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : 'view';
|
|
|
|
$numarticlesdefault = 20000;
|
|
$groupList = $groups->getAll();
|
|
array_unshift($groupList, array('ID'=>0, 'name'=>'All Groups'));
|
|
|
|
$gid = $gnames = [];
|
|
$groupname = (isset($_REQUEST['groupname']) && !empty($_REQUEST['groupname'])) ? $_REQUEST['groupname'] : '';
|
|
$groupID = isset($_REQUEST['groupID']) ? $_REQUEST['groupID'] : '0';
|
|
$regex = (isset($_REQUEST['regex']) && !empty($_REQUEST['regex'])) ? $_REQUEST['regex'] : '/^(?P<name>.*)$/i';
|
|
$poster = (isset($_REQUEST['poster']) && !empty($_REQUEST['poster'])) ? $_REQUEST['poster'] : '';
|
|
$unreleased = isset($_REQUEST['unreleased']) ? $_REQUEST['unreleased'] : '';
|
|
$matchagainstbins = isset($_REQUEST['matchagainstbins']) ? $_REQUEST['matchagainstbins'] : '';
|
|
$numarticles = (isset($_REQUEST['numarticles']) && !empty($_REQUEST['numarticles'])) ? $_REQUEST['numarticles'] : $numarticlesdefault;
|
|
$clearexistingbins = isset($_REQUEST['clearexistingbins']) ? true : false;
|
|
foreach($groupList as $grp)
|
|
{
|
|
$gid[$grp["id"]] = $grp["id"];
|
|
$gnames[$grp["id"]] = $grp["name"];
|
|
}
|
|
|
|
$group = $groupname;
|
|
if ($group == '')
|
|
{
|
|
if ($groupID == 0)
|
|
$group = 0;
|
|
else
|
|
$group = $gnames[$groupID];
|
|
}
|
|
|
|
$page->smarty->assign('gid', $gid);
|
|
$page->smarty->assign('gnames', $gnames);
|
|
$page->smarty->assign('group', $group);
|
|
$page->smarty->assign('groupname', $groupname);
|
|
$page->smarty->assign('groupID', $groupID);
|
|
$page->smarty->assign('regex', $regex);
|
|
$page->smarty->assign('poster', $poster);
|
|
$page->smarty->assign('unreleased', $unreleased);
|
|
$page->smarty->assign('matchagainstbins', $matchagainstbins);
|
|
$page->smarty->assign('numarticles', $numarticles);
|
|
|
|
switch($action)
|
|
{
|
|
case 'test':
|
|
if (isset($_REQUEST["regex"]))
|
|
{
|
|
$matches = $reg->testRegex($_REQUEST['regex'], $group, $poster, $unreleased, $matchagainstbins);
|
|
|
|
$offset = isset($_REQUEST["offset"]) ? $_REQUEST["offset"] : 0;
|
|
$page->smarty->assign('pagertotalitems',sizeof($matches));
|
|
$page->smarty->assign('pageroffset',$offset);
|
|
$page->smarty->assign('pageritemsperpage',ITEMS_PER_PAGE);
|
|
$page->smarty->assign('pagerquerybase', WWW_TOP."/regex-test.php?action=test&groupname={$groupname}&groupID={$groupID}®ex=".urlencode($regex)."&poster=".urlencode($poster)."&unreleased={$unreleased}&matchagainstbins={$matchagainstbins}&offset=");
|
|
$pager = $page->smarty->fetch("pager.tpl");
|
|
$page->smarty->assign('pager', $pager);
|
|
|
|
$matches = array_slice($matches, $offset, ITEMS_PER_PAGE);
|
|
|
|
$page->smarty->assign('matches', $matches);
|
|
}
|
|
break;
|
|
case 'fetch':
|
|
$result = $reg->fetchTestBinaries($group, $numarticles, $clearexistingbins);
|
|
|
|
$page->smarty->assign('error', implode('<br />', $result));
|
|
|
|
break;
|
|
}
|
|
|
|
$page->title = "Release Regex Test";
|
|
|
|
$page->content = $page->smarty->fetch('regex-test.tpl');
|
|
$page->render();
|