@@ -4,287 +4,137 @@
$ page ->show403 ();
}
$ grp = new Groups (['Settings' => $ page ->settings ]);
$ releases = new Releases (['Groups' => $ grp , 'Settings' => $ page ->settings ]);
$ c = new Category (['Settings' => $ page ->settings ]);
$ groups = new Groups (['Settings' => $ page ->settings ]);
$ releases = new Releases (['Groups' => $ groups , 'Settings' => $ page ->settings ]);
$ page ->meta_title = "Search Nzbs" ;
$ page ->meta_keywords = "search,nzb,description,details" ;
$ page ->meta_description = "Search for Nzbs" ;
$ results = [];
$ searchtype = "basic" ;
$ searchStr = "" ;
$ searchType = "basic" ;
if (isset ($ _REQUEST ["search_type" ]) && $ _REQUEST ["search_type" ] == "adv" ) {
$ searchtype = "advanced" ;
$ searchType = "advanced" ;
}
if (isset ($ _REQUEST ["id" ]) && !isset ($ _REQUEST ["searchadvr" ]) && !isset ($ _REQUEST ["subject" ])) {
$ offset = (isset ($ _REQUEST ["offset" ]) && ctype_digit ($ _REQUEST ['offset' ])) ?
$ _REQUEST ["offset" ] : 0 ;
$ ordering = $ releases ->getBrowseOrdering ();
$ orderby = isset ($ _REQUEST ["ob" ]) && in_array ($ _REQUEST ['ob' ], $ ordering ) ? $ _REQUEST ["ob" ] : '' ;
if ($ searchtype == "basic" ) {
$ searchStr = (string )$ _REQUEST ["id" ];
$ categoryId = [];
if (isset ($ _REQUEST ["t" ])) {
$ categoryId = explode ("," , $ _REQUEST ["t" ]);
} else {
$ categoryId [] = -1 ;
}
foreach ($ ordering as $ ordertype ) {
$ page ->smarty ->assign ('orderby' . $ ordertype ,
WWW_TOP . "/search/" . htmlentities ($ searchStr ) . "?t=" .
(implode (',' , $ categoryId )) . "&ob=" . $ ordertype );
}
$ page ->smarty ->assign ('category' , $ categoryId );
$ page ->smarty ->assign ('pagerquerybase' ,
WWW_TOP . "/search/" . htmlentities ($ searchStr ) . "?t=" .
(implode (',' , $ categoryId )) . "&ob=" . $ orderby . "&offset=" );
$ page ->smarty ->assign ('search' , $ searchStr );
if (isset ($ _REQUEST ['subject' ])) {
$ page ->smarty ->assign ('subject' , $ _REQUEST ['subject' ]);
}
$ results = $ releases ->search ($ searchStr ,
-1 ,
-1 ,
-1 ,
-1 ,
-1 ,
0 ,
0 ,
-1 ,
-1 ,
$ offset ,
ITEMS_PER_PAGE ,
$ orderby ,
-1 ,
$ page ->userdata ["categoryexclusions" ],
"basic" ,
$ categoryId );
$ ordering = $ releases ->getBrowseOrdering ();
$ orderBy = (isset ($ _REQUEST ["ob" ]) && in_array ($ _REQUEST ['ob' ], $ ordering ) ? $ _REQUEST ["ob" ] : '' );
$ offset = (isset ($ _REQUEST ["offset" ]) && ctype_digit ($ _REQUEST ['offset' ])) ? $ _REQUEST ["offset" ] : 0 ;
$ page ->smarty ->assign (
[
'subject' => '' , 'search' => '' , 'category' => [0 ], 'pagertotalitems' => 0 ,
'pageritemsperpage' => 1 , 'pageroffset' => 1 , 'covgroup' => ''
]
);
if ((isset ($ _REQUEST ["id" ]) || isset ($ _REQUEST ["subject" ])) && !isset ($ _REQUEST ["searchadvr" ]) && $ searchType == "basic" ) {
$ searchString = '' ;
switch (true ) {
case isset ($ _REQUEST ["subject" ]):
$ searchString = (string ) $ _REQUEST ["subject" ];
$ page ->smarty ->assign ('subject' , $ searchString );
break ;
case isset ($ _REQUEST ["id" ]):
$ searchString =(string ) $ _REQUEST ["id" ];
$ page ->smarty ->assign ('search' , $ searchString );
break ;
}
$ page ->smarty ->assign ('lastvisit' , $ page ->userdata ['lastlogin' ]);
if (sizeof ($ results ) > 0 ) {
$ totalRows = $ results [0 ]['_totalrows' ];
} else {
$ totalRows = 0 ;
$ categoryID [] = -1 ;
if (isset ($ _REQUEST ['t' ])) {
$ categoryID = explode (',' , $ _REQUEST ['t' ]);
}
$ 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 );
}
if (isset ($ _REQUEST ["subject" ]) && !isset ($ _REQUEST ["searchadvr" ]) && !isset ($ _REQUEST ["id" ])) {
$ offset = (isset ($ _REQUEST ["offset" ]) && ctype_digit ($ _REQUEST ['offset' ])) ?
$ _REQUEST ["offset" ] : 0 ;
$ ordering = $ releases ->getBrowseOrdering ();
$ orderby = isset ($ _REQUEST ["ob" ]) && in_array ($ _REQUEST ['ob' ], $ ordering ) ? $ _REQUEST ["ob" ] : '' ;
if ($ searchtype == "basic" ) {
$ searchStr = (string )$ _REQUEST ["subject" ];
$ categoryId = [];
if (isset ($ _REQUEST ["t" ])) {
$ categoryId = explode ("," , $ _REQUEST ["t" ]);
} else {
$ categoryId [] = -1 ;
}
foreach ($ ordering as $ ordertype ) {
$ page ->smarty ->assign ('orderby' . $ ordertype ,
WWW_TOP . "/search/" . htmlentities ($ searchStr ) . "?t=" .
(implode (',' , $ categoryId )) . "&ob=" . $ ordertype );
}
$ page ->smarty ->assign ('category' , $ categoryId );
$ page ->smarty ->assign ('pagerquerybase' ,
WWW_TOP . "/search/" . htmlentities ($ searchStr ) . "?t=" .
(implode (',' , $ categoryId )) . "&ob=" . $ orderby . "&offset=" );
$ page ->smarty ->assign ('subject' , $ searchStr );
$ results = $ releases ->search ($ searchStr ,
-1 ,
-1 ,
-1 ,
-1 ,
-1 ,
0 ,
0 ,
-1 ,
-1 ,
$ offset ,
ITEMS_PER_PAGE ,
$ orderby ,
-1 ,
$ page ->userdata ["categoryexclusions" ],
"basic" ,
$ categoryId );
foreach ($ releases ->getBrowseOrdering () as $ orderType ) {
$ page ->smarty ->assign (
"orderby$orderType" ,
WWW_TOP . '/search/' . htmlentities ($ searchString ) . '?t=' . (implode (',' , $ categoryID )) . "&ob=$orderType"
);
}
$ page ->smarty ->assign ('lastvisit' , $ page ->userdata ['lastlogin' ]);
if (sizeof ($ results ) > 0 ) {
$ totalRows = $ results [0 ]['_totalrows' ];
} else {
$ totalRows = 0 ;
}
$ results = $ releases ->search (
$ searchString , -1 , -1 , -1 , -1 , -1 , 0 , 0 , -1 , -1 , $ offset , ITEMS_PER_PAGE ,
$ orderBy , -1 , $ page ->userdata ["categoryexclusions" ], "basic" , $ categoryID
);
$ page ->smarty ->assign (
[
'lastvisit' => $ page ->userdata ['lastlogin' ],
'pagertotalitems' => (count ($ results ) > 0 ? $ results [0 ]['_totalrows' ] : 0 ),
'pageroffset' => $ offset ,
'pageritemsperpage' => ITEMS_PER_PAGE ,
'pagerquerysuffix' => "#results" ,
'pager' => $ page ->smarty ->fetch ("pager.tpl" ),
'pagerquerybase' =>
WWW_TOP . "/search/" . htmlentities ($ searchString ) . "?t=" .
(implode (',' , $ categoryID )) . "&ob=$orderBy&offset=" ,
'category' => $ categoryID
]
);
$ 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 );
}
if (isset ($ _REQUEST ["searchadvr" ]) && !isset ($ _REQUEST ["id" ]) && !isset ($ _REQUEST ["subject" ])) {
$ offset = (isset ($ _REQUEST ["offset" ]) && ctype_digit ($ _REQUEST ['offset' ])) ?
$ _REQUEST ["offset" ] : 0 ;
$ ordering = $ releases ->getBrowseOrdering ();
$ orderby = isset ($ _REQUEST ["ob" ]) && in_array ($ _REQUEST ['ob' ], $ ordering ) ? $ _REQUEST ["ob" ] : '' ;
$ searchVars = [
'searchadvr' => '' , 'searchadvsubject' => '' , 'searchadvposter' => '' ,
'searchadvdaysnew' => '' , 'searchadvdaysold' => '' , 'searchadvgroups' => '' ,
'searchadvcat' => '' , 'searchadvsizefrom' => '' , 'searchadvsizeto' => '' ,
'searchadvhasnfo' => '' , 'searchadvhascomments' => ''
];
if ($ searchtype !== "basic" ) {
foreach ($ searchVars as $ searchVarKey => $ searchVar ) {
$ searchVars [$ searchVarKey ] = (isset ($ _REQUEST [$ searchVarKey ]) ? (string ) $ _REQUEST [$ searchVarKey ] : '' );
}
$ searchSearchName = (string )$ _REQUEST ["searchadvr" ];
$ searchUsenetName = (string )$ _REQUEST ["searchadvsubject" ];
$ searchPoster = (string )$ _REQUEST ["searchadvposter" ];
$ searchdaysnew = (string )$ _REQUEST ["searchadvdaysnew" ];
$ searchdaysold = (string )$ _REQUEST ["searchadvdaysold" ];
$ searchGroups = (string )$ _REQUEST ["searchadvgroups" ];
$ searchCat = (string )$ _REQUEST ["searchadvcat" ];
$ searchSizeFrom = (string )$ _REQUEST ["searchadvsizefrom" ];
$ searchSizeTo = (string )$ _REQUEST ["searchadvsizeto" ];
$ searchHasNFO = (string )$ _REQUEST ["searchadvhasnfo" ];
$ searchHascomments = (string )$ _REQUEST ["searchadvhascomments" ];
$ searchVars ['selectedgroup' ] = $ searchVars ['searchadvgroups' ];
$ searchVars ['selectedcat' ] = $ searchVars ['searchadvcat' ];
$ searchVars ['selectedsizefrom' ] = $ searchVars ['searchadvsizefrom' ];
$ searchVars ['selectedsizeto' ] = $ searchVars ['searchadvsizeto' ];
foreach ($ searchVars as $ searchVarKey => $ searchVar ) {
$ page ->smarty ->assign ($ searchVarKey , $ searchVars [$ searchVarKey ]);
}
$ page ->smarty ->assign ('searchadvr' , $ searchSearchName );
$ page ->smarty ->assign ('searchadvsubject' , $ searchUsenetName );
$ page ->smarty ->assign ('searchadvposter' , $ searchPoster );
$ page ->smarty ->assign ('searchadvdaysnew' , $ searchdaysnew );
$ page ->smarty ->assign ('searchadvdaysold' , $ searchdaysold );
$ page ->smarty ->assign ('selectedgroup' , $ searchGroups );
$ page ->smarty ->assign ('selectedcat' , $ searchCat );
$ page ->smarty ->assign ('selectedsizefrom' , $ searchSizeFrom );
$ page ->smarty ->assign ('selectedsizeto' , $ searchSizeTo );
$ page ->smarty ->assign ('searchadvhasnfo' , $ searchHasNFO );
$ page ->smarty ->assign ('searchadvhascomments' , $ searchHascomments );
foreach ($ ordering as $ ordertype ) {
$ page ->smarty ->assign ('orderby' . $ ordertype ,
WWW_TOP . "/search?searchadvr=" .
htmlentities ($ searchSearchName ) . "&searchadvsubject=" .
htmlentities ($ searchUsenetName ) . "&searchadvposter=" .
htmlentities ($ searchPoster ) . "&searchadvdaysnew=" .
htmlentities ($ searchdaysnew ) . "&searchadvdaysold=" .
htmlentities ($ searchdaysold ) . "&searchadvgroups=" .
htmlentities ($ searchGroups ) . "&searchadvcat=" .
htmlentities ($ searchCat ) . "&searchadvsizefrom=" .
htmlentities ($ searchSizeFrom ) . "&searchadvsizeto=" .
htmlentities ($ searchSizeTo ) . "&searchadvhasnfo=" .
htmlentities ($ searchHasNFO ) . "&searchadvhascomments=" .
htmlentities ($ searchHascomments ) . "&search_type=adv" .
"&ob=" . $ ordertype );
}
if (isset ($ _REQUEST ["searchadvr" ]) && !isset ($ _REQUEST ["id" ]) && !isset ($ _REQUEST ["subject" ]) && $ searchType != "basic" ) {
$ page ->smarty ->assign ('pagerquerybase' ,
WWW_TOP . "/search?searchadvr=" . htmlentities ($ searchSearchName ) .
"&searchadvsubject=" . htmlentities ($ searchUsenetName ) .
"&searchadvposter=" . htmlentities ($ searchPoster ) .
"&searchadvdaysnew=" . htmlentities ($ searchdaysnew ) .
"&searchadvdaysold=" . htmlentities ($ searchdaysold ) .
"&searchadvgroups=" . htmlentities ($ searchGroups ) . "&searchadvcat=" .
htmlentities ($ searchCat ) . "&searchadvsizefrom=" .
htmlentities ($ searchSizeFrom ) . "&searchadvsizeto=" .
htmlentities ($ searchSizeTo ) . "&searchadvhasnfo=" .
htmlentities ($ searchHasNFO ) . "&searchadvhascomments=" .
htmlentities ($ searchHascomments ) . "&search_type=adv" . "&ob=" .
$ orderby . "&offset=" );
if ($ _REQUEST ["searchadvr" ] == "" ) {
$ searchSearchName = -1 ;
}
if ($ _REQUEST ["searchadvsubject" ] == "" ) {
$ searchUsenetName = -1 ;
}
if ($ _REQUEST ["searchadvposter" ] == "" ) {
$ searchPoster = -1 ;
}
if ($ _REQUEST ["searchadvdaysnew" ] == "" ) {
$ searchdaysnew = -1 ;
}
if ($ _REQUEST ["searchadvdaysold" ] == "" ) {
$ searchdaysold = -1 ;
}
if ($ _REQUEST ["searchadvcat" ] == "" ) {
$ searchCat = -1 ;
}
$ results = $ releases ->search ($ searchSearchName ,
$ searchUsenetName ,
$ searchPoster ,
$ searchGroups ,
$ searchSizeFrom ,
$ searchSizeTo ,
$ searchHasNFO ,
$ searchHascomments ,
$ searchdaysnew ,
$ searchdaysold ,
$ offset ,
ITEMS_PER_PAGE ,
$ orderby ,
-1 ,
$ page ->userdata ["categoryexclusions" ],
"advanced" ,
[$ searchCat ]);
$ orderByString = '' ;
foreach ($ searchVars as $ searchVarKey => $ searchVar ) {
$ orderByString .= "&$searchVarKey=" . htmlentities ($ searchVar );
}
$ orderByString = ltrim ($ orderByString , '&' );
$ page -> smarty -> assign ( 'lastvisit' , $ page -> userdata [ 'lastlogin' ]);
if ( sizeof ( $ results ) > 0 ) {
$ totalRows = $ results [ 0 ][ '_totalrows' ];
} else {
$ totalRows = 0 ;
foreach ( $ ordering as $ orderType ) {
$ page -> smarty -> assign (
'orderby' . $ orderType ,
WWW_TOP . "/search?$orderByString&search_type=adv&ob=$orderType"
) ;
}
$ 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 );
$ results = $ releases ->search (
($ searchVars ['searchadvr' ] == '' ? -1 : $ searchVars ['searchadvr' ]),
($ searchVars ['searchadvsubject' ] == '' ? -1 : $ searchVars ['searchadvsubject' ]),
($ searchVars ['searchadvposter' ] == '' ? -1 : $ searchVars ['searchadvposter' ]),
$ searchVars ['searchadvgroups' ], $ searchVars ['searchadvsizefrom' ], $ searchVars ['searchadvsizeto' ],
$ searchVars ['searchadvhasnfo' ], $ searchVars ['searchadvhascomments' ],
($ searchVars ['searchadvdaysnew' ] == '' ? -1 : $ searchVars ['searchadvdaysnew' ]),
($ searchVars ['searchadvdaysold' ] == '' ? -1 : $ searchVars ['searchadvdaysold' ]),
$ offset , ITEMS_PER_PAGE , $ orderBy , -1 , $ page ->userdata ["categoryexclusions" ], "advanced" ,
[($ searchVars ['searchadvcat' ] == '' ? -1 : $ searchVars ['searchadvcat' ])]
);
$ page ->smarty ->assign (
[
'lastvisit' => $ page ->userdata ['lastlogin' ],
'pagertotalitems' => (count ($ results ) > 0 ? $ results [0 ]['_totalrows' ] : 0 ),
'pageroffset' => $ offset ,
'pageritemsperpage' => ITEMS_PER_PAGE ,
'pagerquerysuffix' => "#results" ,
'pager' => $ page ->smarty ->fetch ("pager.tpl" ),
'pagerquerybase' => WWW_TOP . "/search?searchadvr=$orderByString&search_type=adv&ob=$orderBy&offset="
]
);
}
$ grouplist = $ grp ->getGroupsForSelect ();
$ page ->smarty ->assign ('grouplist' , $ grouplist );
$ catlist = $ c ->getForSelect ();
$ page ->smarty ->assign ('catlist' , $ catlist );
$ sizelist = [
-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' );
@@ -319,7 +169,19 @@
You can combine some of these rules, but not all.<br />' ;
break ;
}
$ page ->smarty ->assign ('search_description' , $ search_description );
$ page ->smarty ->assign (
[
'sizelist' => [
-1 => '--Select--' , 1 => '100MB' , 2 => '250MB' , 3 => '500MB' , 4 => '1GB' , 5 => '2GB' ,
6 => '3GB' , 7 => '4GB' , 8 => '8GB' , 9 => '16GB' , 10 => '32GB' , 11 => '64GB'
],
'results' => $ results , 'sadvanced' => ($ searchType != "basic" ),
'grouplist' => $ groups ->getGroupsForSelect (),
'catlist' => (new Category (['Settings' => $ page ->settings ]))->getForSelect (),
'search_description' => $ search_description
]
);
$ page ->content = $ page ->smarty ->fetch ('search.tpl' );
$ page ->render ();
$ page ->render ();