<?php
require_once("include/bittorrent.php");

dbconn(false);

//loggedinorreturn();
parked();

$cats = genrelist();

$searchstr = '';

if (isset($_GET['search']))
	$searchstr = (string) unesc($_GET["search"]);
$cleansearchstr = htmlspecialchars($searchstr);
if (empty($cleansearchstr))
unset($cleansearchstr);

// sorting by MarkoStamcar

if (isset($_GET['sort']) && isset($_GET['type'])) {

$column = '';
$ascdesc = '';

switch($_GET['sort']) {
case '1': $column = "name"; break;
case '2': $column = "numfiles"; break;
case '3': $column = "comments"; break;
case '4': $column = "added"; break;
case '5': $column = "size"; break;
case '6': $column = "times_completed"; break;
case '7': $column = "seeders"; break;
case '8': $column = "leechers"; break;
case '9': $column = "owner"; break;
case '10': if (get_user_class() >= UC_MODERATOR) $column = "moderatedby"; break;
default: $column = "id"; break;
}

    switch($_GET['type']) {
  case 'asc': $ascdesc = "ASC"; $linkascdesc = "asc"; break;
  case 'desc': $ascdesc = "DESC"; $linkascdesc = "desc"; break;
  default: $ascdesc = "DESC"; $linkascdesc = "desc"; break;
    }


$orderby = "ORDER BY torrents." . $column . " " . $ascdesc;
$pagerlink = "sort=" . intval($_GET['sort']) . "&type=" . $linkascdesc . "&";

} else {

$orderby = "ORDER BY torrents.sticky ASC, torrents.id DESC";
$pagerlink = "";

}

$addparam = "";
$wherea = array();
$wherecatina = array();
$incldead = 0;

if (isset($_GET['incldead'])) {
	if ($_GET["incldead"] == 1) {
		$addparam .= "incldead=1&amp;";
		if (!isset($CURUSER) || get_user_class() < UC_ADMINISTRATOR)
			$wherea[] = "banned != 'yes'";
	}
	elseif ($_GET["incldead"] == 2) {
		$addparam .= "incldead=2&amp;";
		//$wherea[] = "visible = 'no'";
	}
	elseif ($_GET["incldead"] == 3) {
		$addparam .= "incldead=3&amp;";
		$wherea[] = "free = 'yes'";
		//$wherea[] = "visible = 'yes'";
	}
	elseif ($_GET["incldead"] == 4) {
		$addparam .= "incldead=4&amp;";
		$wherea[] = "seeders = 0";
		//$wherea[] = "visible = 'yes'";
	}
	$incldead = (int) $_GET['incldead'];
} else
	//$wherea[] = "visible = 'yes'";

if (isset($_GET['cat']))
	$category = (int) $_GET["cat"];
else
	$category = 0;

if (isset($_GET['all']))
	$all = $_GET["all"];
else
	$all = false;

if (!$all)
if (!$_GET && $CURUSER["notifs"]) {
	$all = True;
	foreach ($cats as $cat) {
		$all &= $cat[id];
		if (strpos($CURUSER["notifs"], "[cat" . $cat[id] . "]") !== false) {
			$wherecatina[] = $cat[id];
			$addparam .= "c$cat[id]=1&amp;";
		}
	}
} elseif ($category) {
	if (!is_valid_id($category))
		stderr($tracker_lang['error'], "Invalid category ID.");
	$wherecatina[] = $category;
	$addparam .= "cat=$category&amp;";
} else {
	$all = true;
	foreach ($cats as $cat) {
		$all = !isset($_GET["c$cat[id]"]);
		if (isset($_GET["c$cat[id]"])) {
			$wherecatina[] = $cat[id];
			$addparam .= "c$cat[id]=1&amp;";
		}
	}
}

if ($all) {
	$wherecatina = array();
	$addparam = "";
}

if (count($wherecatina) > 1)
	$wherecatin = implode(",",$wherecatina);
elseif (count($wherecatina) == 1)
	$wherea[] = "category = $wherecatina[0]";

$wherebase = $wherea;

if (isset($cleansearchstr)) {
	$wherea[] = "torrents.name LIKE '%" . sqlwildcardesc($searchstr) . "%'";
	$addparam .= "search=" . urlencode($searchstr) . "&amp;";
}

$where = implode(" AND ", $wherea);
if (isset($wherecatin) && !empty($wherecatin))
        $where .= ($where ? " AND " : "") . "category IN (" . $wherecatin . ")";

if ($where != "")
        $where = "WHERE $where";

$res = sql_query("SELECT COUNT(*) FROM torrents $where") or die(mysql_error());
$row = mysql_fetch_array($res);
$count = $row[0];
$num_torrents = $count;

if (!$count && isset($cleansearchstr)) {
        $wherea = $wherebase;
        //$orderby = "ORDER BY id DESC";
        $searcha = explode(" ", $cleansearchstr);
        $sc = 0;
        foreach ($searcha as $searchss) {
                if (strlen($searchss) <= 1)
                        continue;
                $sc++;
                if ($sc > 5)
                        break;
                $ssa = array();
                $ssa[] = "torrents.name LIKE '%" . sqlwildcardesc($searchss) . "%'";
        }
        if ($sc) {
                $where = implode(" AND ", $wherea);
                if ($where != "")
                        $where = "WHERE $where";
                $res = sql_query("SELECT COUNT(*) FROM torrents $where");
                $row = mysql_fetch_array($res);
                $count = $row[0];
        }
}

$torrentsperpage = $CURUSER["torrentsperpage"];
if (!$torrentsperpage)
        $torrentsperpage = 25;

if ($count)
{
    if ($addparam != "") {
 if ($pagerlink != "") {
  if ($addparam{strlen($addparam)-1} != ";") { // & = &amp;
    $addparam = $addparam . "&" . $pagerlink;
  } else {
    $addparam = $addparam . $pagerlink;
  }
 }
    } else {
 $addparam = $pagerlink;
    }
        list($pagertop, $pagerbottom, $limit) = pager($torrentsperpage, $count, "browse.php?" . $addparam);
        $query = "SELECT torrents.id, torrents.moderated, torrents.moderatedby, torrents.category, f_seeders, f_leechers,torrents.leechers, torrents.seeders, torrents.free, torrents.name, torrents.times_completed, torrents.size, torrents.added, torrents.comments, torrents.numfiles, torrents.filename, torrents.sticky, torrents.owner," .
        "IF(torrents.numratings < $minvotes, NULL, ROUND(torrents.ratingsum / torrents.numratings, 1)) AS rating, categories.name AS cat_name, categories.image AS cat_pic, users.username, users.class".($CURUSER ? ", EXISTS(SELECT * FROM readtorrents WHERE readtorrents.userid = ".sqlesc($CURUSER["id"])." AND readtorrents.torrentid = torrents.id) AS readtorrent" : ", 1 AS readtorrent")." FROM torrents LEFT JOIN categories ON category = categories.id LEFT JOIN users ON torrents.owner = users.id $where $orderby $limit";
        $res = sql_query($query) or die(mysql_error());
}
else
        unset($res);
if (isset($cleansearchstr))
        stdhead($tracker_lang['search_results_for']." \"$cleansearchstr\"");
else
        stdhead($tracker_lang['browse']);

?>

<STYLE TYPE="text/css" MEDIA=screen>

  a.catlink:link, a.catlink:visited{
                text-decoration: none;
        }

        a.catlink:hover {
                color: #A83838;
        }

</STYLE>

	<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr>
	<td class="block" width="10" align="left"><img src="themes/TBDev/images/news_cellpic_left.gif" width="10" height="22"></td>
	<td class="block" width="100%" align="center" valign="middle" background="themes/TBDev/images/news_cellpic.gif"><font class="block-title" valign="bottom"><strong>Список раздач</strong></font></td>
	<td class="block" width="124" align="right"><img src="themes/TBDev/images/news_cellpic_right.gif" width="124" height="22"></td>
	</tr></table>
	
<table class="embedded" cellspacing="0" cellpadding="5" width="100%">
<tr><td colspan="12">

<form method="get" action="browse.php">
<table class="embedded" align="center">

<tr><td class="embedded">
<center>
<?=$tracker_lang['search'];?>:
<input type="text" id="searchinput" name="search" size="40" autocomplete="off" ondblclick="suggest(event.keyCode,this.value);" onkeyup="suggest(event.keyCode,this.value);" onkeypress="return noenter(event.keyCode);" value="<?= htmlspecialchars($searchstr) ?>" />
<?=$tracker_lang['in'];?>
<select name="incldead">
<option value="0"><?=$tracker_lang['active'];?></option>
<option value="1"<? print($incldead == 1 ? " selected" : ""); ?>><?=$tracker_lang['including_dead'];?></option>
<option value="2"<? print($incldead == 2 ? " selected" : ""); ?>><?=$tracker_lang['only_dead'];?></option>
<option value="3"<? print($incldead == 3 ? " selected" : ""); ?>><?=$tracker_lang['golden_torrents'];?></option>
<option value="4"<? print($incldead == 4 ? " selected" : ""); ?>><?=$tracker_lang['no_seeds'];?></option>
</select>
<select name="cat">
<option value="0">(<?=$tracker_lang['all_types'];?>)</option>
<?

//$cats = genrelist();
$catdropdown = "";
foreach ($cats as $cat) {
	$catdropdown .= "<option value=\"" . $cat["id"] . "\"";
	if (isset($_GET['cat']) && $cat["id"] == $_GET["cat"])
		$catdropdown .= " selected=\"selected\"";
	$catdropdown .= ">" . htmlspecialchars($cat["name"]) . "</option>\n";
}

?>
<?= $catdropdown ?>
</select>
<input class="btn" type="submit" value="<?=$tracker_lang['search'];?>!" />
</center>
</form>
<script language="JavaScript" src="js/suggest.js" type="text/javascript"></script>
<div id="suggcontainer" style="text-align: left; width: 520px; display: none;">
<div id="suggestions" style="cursor: default; position: absolute; background-color: #FFFFFF; border: 1px solid #777777;"></div>
</div>
</td></tr></table>

<?

if (isset($cleansearchstr))
print("<tr><td class=\"index\" colspan=\"12\">".$tracker_lang['search_results_for']." \"" . htmlspecialchars($searchstr) . "\"</td></tr>\n");

print("</td></tr>");

if ($num_torrents) {

        print("<tr><td class=\"index\" colspan=\"12\">");
        print($pagertop);
        print("</td></tr>");

        torrenttable($res, "index");

        print("<tr><td class=\"index\" colspan=\"12\">");
        print($pagerbottom);
        print("</td></tr>");

}
else {
        if (isset($cleansearchstr)) {
                print("<tr><td class=\"index\" colspan=\"12\">".$tracker_lang['nothing_found']."</td></tr>\n");
                //print("<p>Попробуйте изменить запрос поиска.</p>\n");
        }
        else {
                print("<tr><td class=\"index\" colspan=\"12\">".$tracker_lang['nothing_found']."</td></tr>\n");
                //print("<p>Извините, данная категория пустая.</p>\n");
        }
}

print("</table>");

stdfoot();

?>