10) // maximum 10 keywords break; $like_expression_array[] = " LIKE '%" . $searchstr_element. "%'"; } break; case 2 : // exact { $like_expression_array[] = " LIKE '%" . $searchstr. "%'"; break; } } $ANDOR = ($search_mode == 0 ? " AND " : " OR "); // only affects mode 0 and mode 1 foreach ($like_expression_array as &$like_expression_array_element) $like_expression_array_element = "(torrents.name" . $like_expression_array_element.($_GET['ismalldescr'] ? " OR torrents.small_descr". $like_expression_array_element : "").")"; $wherea[] = implode($ANDOR, $like_expression_array); $where .= ($where ? " AND " : "") . implode(" AND ", $wherea); } $limit = ""; $startindex = intval($_GET['startindex'] ?? 0); if ($startindex) $limit .= $startindex.", "; $showrows = intval($_GET['rows'] ?? 0); if($showrows < 1 || $showrows > 50) $showrows = 10; $limit .= $showrows; function get_where($tablename = "sources", $itemname = "source", $getname = "sou") { global $where; $items = searchbox_item_list($tablename); $whereitemina = array(); foreach ($items as $item) { if (!empty($_GET[$getname.$item['id']])) { $whereitemina[] = $item['id']; } } if (count($whereitemina) >= 1){ $whereitemin = implode(",",$whereitemina); $where .= ($where ? " AND " : "") . $itemname." IN(" . $whereitemin . ")"; } } get_where("categories", "category", "cat"); get_where("sources", "source", "sou"); get_where("media", "medium", "med"); get_where("codecs", "codec", "cod"); get_where("standards", "standard", "sta"); get_where("processings", "processing", "pro"); get_where("teams", "team", "tea"); get_where("audiocodecs", "audiocodec", "aud"); if ($where) $where = "WHERE ".$where; $query = "SELECT torrents.id, torrents.category, torrents.name, torrents.small_descr, torrents.descr, torrents.info_hash, torrents.size, torrents.added, torrents.anonymous, users.username AS username, categories.id AS cat_id, categories.name AS cat_name FROM torrents LEFT JOIN categories ON category = categories.id LEFT JOIN users ON torrents.owner = users.id $where ORDER BY torrents.added DESC LIMIT $limit"; $res = sql_query($query) or die(mysql_error()); $url = get_protocol_prefix().$BASEURL; $year = substr($datefounded, 0, 4); $yearfounded = ($year ? $year : 2007); $copyright = "Copyright (c) ".$SITENAME." ".(date("Y") != $yearfounded ? $yearfounded."-" : "").date("Y").", all rights reserved"; header ("Content-type: text/xml"); print(""); //The commented version passed feed validator at http://www.feedvalidator.org /*print(' ');*/ print(' '); print(' ' . addslashes($SITENAME.' Torrents'). ' zh-cn '.$copyright.' '.$SITEEMAIL.' ('.$SITENAME.' Admin) '.$SITEEMAIL.' ('.$SITENAME.' Webmaster) '.date('r').' '.PROJECTNAME.' RSS Generator 60 ' . addslashes($SITENAME.' Torrents') . ' 100 100 ' . addslashes($SITENAME.' Torrents') . ' '); /*print(' ');*/ print(' '); while ($row = mysql_fetch_array($res)) { $title = ""; if ($row['anonymous'] == 'yes') $author = 'anonymous'; else $author = $row['username']; $itemurl = $url."/details.php?id=".$row['id']; if ($dllink) $itemdlurl = $url."/download.php?id=".$row['id']."&passkey=".rawurlencode($passkey); else $itemdlurl = $url."/download.php?id=".$row['id']; if ($_GET['icat']) $title .= "[".$row['cat_name']."]"; $title .= $row['name']; if ($_GET['ismalldescr'] && $row['small_descr']) $title .= "[".$row['small_descr']."]"; if ($_GET['isize']) $title .= "[".mksize($row['size'])."]"; if ($_GET['iuplder']) $title .= "[".$author."]"; $content = format_comment($row['descr'], true, false, false, false); print(' <![CDATA['.$title.']]> '.$itemurl.' '); //print(' '.$author.''); print(' '.$author.'@'.$_SERVER['HTTP_HOST'].' ('.$author.')'); print(' '.$row['cat_name'].' '.preg_replace_callback('/./s', 'hex_esc', hash_pad($row['info_hash'])).' '.date('r',strtotime($row['added'])).' '); } print(' '); ?>