Example #1
0
        $page->smarty->assign('role', $role);
        break;
    case 'submit':
        if ($_POST["id"] == "") {
            $ret = $users->addRole($_POST['name'], $_POST['apirequests'], $_POST['downloadrequests'], $_POST['defaultinvites'], $_POST['canpreview'], $_POST['canpre'], $_POST['hidetads']);
            header("Location:" . WWW_TOP . "/role-list.php");
        } else {
            $ret = $users->updateRole($_POST['id'], $_POST['name'], $_POST['apirequests'], $_POST['downloadrequests'], $_POST['defaultinvites'], $_POST['isdefault'], $_POST['canpreview'], $_POST['canpre'], $_POST['hidetads']);
            header("Location:" . WWW_TOP . "/role-list.php");
            $_POST['exccat'] = !isset($_POST['exccat']) || !is_array($_POST['exccat']) ? [] : $_POST['exccat'];
            $users->addRoleCategoryExclusions($_POST['id'], $_POST['exccat']);
        }
        break;
    case 'view':
    default:
        if (isset($_GET["id"])) {
            $page->title = "User Roles Edit";
            $id = $_GET["id"];
            $role = $users->getRoleByID($id);
            $page->smarty->assign('role', $role);
        }
        break;
}
$page->smarty->assign('yesno_ids', array(1, 0));
$page->smarty->assign('yesno_names', array('Yes', 'No'));
$page->smarty->assign('catlist', $category->getForSelect(false));
if (isset($_GET["id"])) {
    $page->smarty->assign('roleexccat', $users->getRoleCategoryExclusion($_GET["id"]));
}
$page->content = $page->smarty->fetch('role-edit.tpl');
$page->render();
Example #2
0
    $page->smarty->assign('lastvisit', $page->userdata['lastlogin']);
    if (sizeof($results) > 0) {
        $totalRows = $results[0]['_totalrows'];
    } else {
        $totalRows = 0;
    }
    $page->smarty->assign('pagertotalitems', $totalRows);
    $page->smarty->assign('pageroffset', $offset);
    $page->smarty->assign('pageritemsperpage', ITEMS_PER_PAGE);
    $page->smarty->assign('pagerquerysuffix', "#results");
    $pager = $page->smarty->fetch("pager.tpl");
    $page->smarty->assign('pager', $pager);
}
$grouplist = $grp->getGroupsForSelect();
$page->smarty->assign('grouplist', $grouplist);
$catlist = $c->getForSelect();
$page->smarty->assign('catlist', $catlist);
$sizelist = array(-1 => '--Select--', 1 => '100MB', 2 => '250MB', 3 => '500MB', 4 => '1GB', 5 => '2GB', 6 => '3GB', 7 => '4GB', 8 => '8GB', 9 => '16GB', 10 => '32GB', 11 => '64GB');
$page->smarty->assign('sizelist', $sizelist);
$page->smarty->assign('results', $results);
$page->smarty->assign('sadvanced', $searchtype != "basic");
$ft1 = $page->settings->checkIndex('releases', 'ix_releases_name_searchname_ft');
$ft2 = $page->settings->checkIndex('releases', 'ix_releases_name_ft');
$ft3 = $page->settings->checkIndex('releases', 'ix_releases_searchname_ft');
switch (nZEDb_RELEASE_SEARCH_TYPE) {
    case ReleaseSearch::FULLTEXT:
        $search_description = 'MySQL Full Text Search Rules:<br />
A leading exclamation point(! in place of +) indicates that this word must be present in each row that is returned.<br />
A leading minus sign indicates that this word must not be present in any of the rows that are returned.<br />
By default (when neither + nor - is specified) the word is optional, but the rows that contain it are rated higher.<br />
See <a target="_blank" href=\'http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html\'>docs</a> for more operators.';
 public function testRegex($regex, $groupname, $poster, $ignorematched, $matchagainstbins)
 {
     $db = new Db();
     $cat = new Category();
     $catList = $cat->getForSelect();
     $matches = array();
     if ($groupname === 0) {
         $groupname = '.*';
     }
     if ($matchagainstbins !== '') {
         $sql = sprintf("select b.*, '0' as size, '0' as blacklistID, g.name as groupname from binaries b left join groups g on g.ID = b.groupID where b.groupID IN (select g.ID from groups g where g.name REGEXP %s) order by b.date desc", $db->escapeString('^' . $groupname . '$'));
     } else {
         $sql = sprintf("select rrt.* from releaseregextesting rrt where rrt.groupname REGEXP %s order by rrt.date desc", $db->escapeString('^' . $groupname . '$'));
     }
     $resbin = $db->queryDirect($sql);
     while ($rowbin = $db->getAssocArray($resbin)) {
         if ($ignorematched !== '' && ($rowbin['regexID'] != '' || $rowbin['blacklistID'] == 1)) {
             continue;
         }
         $regexarr = array("ID" => "", 'regex' => $regex, 'poster' => $poster, "categoryID" => "");
         $regexCheck = $this->performMatch($regexarr, $rowbin['name'], $rowbin['fromname']);
         if ($regexCheck !== false) {
             $relname = $regexCheck['name'];
             $relparts = explode("/", $regexCheck['parts']);
             $matches[$relname]['name'] = $relname;
             $matches[$relname]['parts'] = $regexCheck['parts'];
             $matches[$relname]['bincount'] = isset($matches[$relname]['bincount']) ? $matches[$relname]['bincount'] + 1 : 1;
             $matches[$relname]['bininfo'][] = $rowbin;
             $matches[$relname]['binsize'][] = $rowbin['size'];
             $matches[$relname]['totalsize'] = array_sum($matches[$relname]['binsize']);
             $matches[$relname]['relparts'][$relparts[1]] = $relparts[1];
             $matches[$relname]['reltotalparts'] = array_sum($matches[$relname]['relparts']);
             $matches[$relname]['regexID'] = $regexCheck['regexID'];
             if (ctype_digit($regexCheck['regcatid'])) {
                 $matches[$relname]['catname'] = $catList[$regexCheck['regcatid']];
             } else {
                 $matches[$relname]['catname'] = $catList[$cat->determineCategory($groupname, $relname)];
             }
         }
     }
     //echo '<pre>';
     //print_r(array_pop($matches));
     //echo '</pre>';
     return $matches;
 }
Example #4
0
$gselected = isset($_REQUEST['groupname']) ? $_REQUEST['groupname'] : '0';
$gregex = isset($_REQUEST['regex']) && !empty($_REQUEST['regex']) ? $_REQUEST['regex'] : '/^(?P<name>.*)$/i';
$gunreleased = isset($_REQUEST['unreleased']) ? $_REQUEST['unreleased'] : '';
foreach ($groupList as $group) {
    $gid[$group["ID"]] = $group["ID"];
    $gname[$group["ID"]] = $group["name"];
}
$page->smarty->assign('gid', $gid);
$page->smarty->assign('gname', $gname);
$page->smarty->assign('gselected', $gselected);
$page->smarty->assign('gregex', $gregex);
$page->smarty->assign('gunreleased', $gunreleased);
switch ($action) {
    case 'submit':
        if (isset($_REQUEST["regex"])) {
            $catList = $cat->getForSelect();
            $db = new Db();
            $unreleasedSql = $gunreleased != '' ? ' and binaries.procstat NOT IN (4,5,6) and binaries.releaseID IS NULL' : '';
            $resbin = $db->queryDirect(sprintf("SELECT binaries.ID as binID, binaries.name as binName from binaries where binaries.groupID = %d%s order by dateadded", $gselected, $unreleasedSql));
            $matches = array();
            while ($rowbin = mysql_fetch_assoc($resbin)) {
                if (preg_match($gregex, $rowbin["binName"], $binmatch)) {
                    $binmatch = array_map("trim", $binmatch);
                    if (isset($binmatch['reqid']) && ctype_digit($binmatch['reqid']) && (!isset($binmatch['name']) || empty($binmatch['name']))) {
                        $binmatch['name'] = $binmatch['reqid'];
                    }
                    if (!isset($binmatch['name']) || empty($binmatch['name'])) {
                        //echo "bad regex applied which didnt return right number of capture groups<br />";
                    } else {
                        $binmatch['count'] = isset($matches[$binmatch['name']]['count']) ? $matches[$binmatch['name']]['count'] + 1 : 1;
                        $binmatch['bininfo'] = $rowbin;
            die;
        }
    } else {
        echo 'No export path specified.';
        die;
    }
    $page->smarty->assign('folder', $path);
    $page->smarty->assign('output', $retval);
    $page->smarty->assign('fromdate', $postfrom);
    $page->smarty->assign('todate', $postto);
    $page->smarty->assign('group', $group);
} else {
    $page->smarty->assign('fromdate', $rel->getEarliestUsenetPostDate());
    $page->smarty->assign('todate', $rel->getLatestUsenetPostDate());
}
$page->title = "Export Nzbs";
$grouplist = $rel->getReleasedGroupsForSelect(true);
$page->smarty->assign('grouplist', $grouplist);
$grouplist = $cat->getForSelect(true);
$page->smarty->assign('catlist', $grouplist);
$page->content = $page->smarty->fetch('nzb-export.tpl');
$page->render();
function getFilename($path, $name, $iter = 0)
{
    $check = $path . safeFilename($name) . ($iter != 0 ? "-" . $iter : "") . ".nzb";
    if (!file_exists($check)) {
        return $check;
    } else {
        return getFilename($path, $name, ++$iter);
    }
}