include "func.inc.php";
@$where = "> Search";
include "header.php";
/*
querystring vars:
forums[] = array of forum ids to search through
start = true|null
file:
name = ip address of user
inside = results from the search
file will be deleted after 30 min
look for user with ip
if user is not on whos online then delete the search
*/
if(!isset($step)) {
$step = "0";
}
if(@trim($sText) == "") {
$step = "0";
}
if($step == "1") {
echo "
searching....
";
//first we must find all available forums|topics
//if an old search exists delete it
if(file_exists("./db/search_".$HTTP_SERVER_VARS["REMOTE_ADDR"].".dat")) {
unlink("./db/search_".$HTTP_SERVER_VARS["REMOTE_ADDR"].".dat");
}
$d = dir("./db");
$query = "";
while($p = $d->read()) {
$ps = explode(".", $p);
if(@(is_numeric($ps[0]) && $ps[1] == "dat")) {
$query .= "<~>$ps[0]";
}
}
$query = substr($query,3);
$sText = str_replace(",", "", $sText);
$sText = str_replace(".", "", $sText);
$sText = str_replace(";", "", $sText);
$sText = str_replace("?", "", $sText);
$sText = str_replace("\"", "", $sText);
$sText = str_replace("\'", "", $sText);
$sText = str_replace("+", "", $sText);
$sText = str_replace("-", "", $sText);
if(isset($intopic)) {
redirect("search.php?step=2.2&forums=$query&sText=$sText&require=$require", "1");
} else {
redirect("search.php?step=2.1&forums=$query&sText=$sText&require=$require", "1");
}
} elseif($step == "2.1") {
//start searching through the topic list
echo "Looking in Topic Names";
$forums = explode("<~>",$forums);
if(@$forums[0] != "") {
$cforum = $forums[0];
unset($forums[0]);
$defForum = listall("./db/forum");
for($i=0;$i$cforum<~>$sDbRec[id]";
}
}
unset($i);
} else {
$found = array();
$sDb = listall("./db/".$cforum."_sorted");
for($i=0;$i$cforum<~>$sDbRec[id]";
}
}
echo "
Searching ".$defForumName."...";
$pre = "";
if(file_exists("./db/search_".$HTTP_SERVER_VARS["REMOTE_ADDR"].".dat")) {
$pre = "\n";
}
if(isset($found[0])) {
$f = fopen("./db/search_".$HTTP_SERVER_VARS["REMOTE_ADDR"].".dat", "a");
fwrite($f, $pre.implode("\n", $found));
fclose($f);
}
$query = "";
for($i=1;$i<=count($forums);$i++) {
$query .= "<~>".$forums[$i];
}
$query = substr($query,3);
redirect("search.php?step=2.1&forums=$query&sText=$sText&require=$require", "0");
} else {
echo "
Finished search!";
redirect("search.php?step=3&sText=$sText&require=$require", "0");
}
} elseif($step == "2.2") {
echo "Looking in Topics (Thorough Search)";
$forums = explode("<~>",$forums);
if(@$forums[0] != "") {
$cforum = $forums[0];
unset($forums[0]);
$defForum = listall("./db/forum");
for($i=0;$iSearching topics in ".$defForumName."...";
$topics = listall("./db/".$cforum."_sorted");
$found = array();
for($i=0;$i time()) {//2
//START
$words = explode(" ", $sText);
if($require == "OR") {
$deli = "|";
$sWords = "";
for($p=0;$p$cforum<~>$deftopics[id]";
break 1;
}
}
unset($p);
} else {
$topic = listall("./db/$cforum/".$deftopics["id"]);
for($p=0;$p$cforum<~>$deftopics[id]";
break 1;
}
}
unset($p);
}
//END
}//end2
}
unset($i);
$pre = "";
if(file_exists("./db/search_".$HTTP_SERVER_VARS["REMOTE_ADDR"].".dat")) {
$pre = "\n";
}
if(isset($found[0])) {
$f = fopen("./db/search_".$HTTP_SERVER_VARS["REMOTE_ADDR"].".dat", "a");
fwrite($f, $pre.implode("\n", $found));
fclose($f);
}
$query = "";
for($i=1;$i<=count($forums);$i++) {
$query .= "<~>".$forums[$i];
}
$query = substr($query,3);
redirect("search.php?step=2.2&forums=$query&sText=$sText&require=$require", "0");
} else {
echo "
Finished search!";
redirect("search.php?step=3&sText=$sText&require=$require", "0");
}
} else {
//form
echo "";
//end form
}
//results here
if($step == "3") {
echo "$skin_tableheading| Results: ";
if(file_exists("./db/search_".$HTTP_SERVER_VARS["REMOTE_ADDR"].".dat")) {
echo " ";
$r = listall("./db/search_".$HTTP_SERVER_VARS["REMOTE_ADDR"]);
$pa=0;
for($i=0;$i";
}
$rRec = def($r[$i], "./db/search");
$rRec["topic"] = str_replace("[b]", "", $rRec["topic"]);
$rRec["topic"] = str_replace("[/b]", "", $rRec["topic"]);
echo "| $rRec[topic] | ";
$pa++;
}
echo "
|
$skin_tablefooter";
} else {
echo "No results found
$skin_tablefooter";
}
flush();
/*if(file_exists("./db/search_".$HTTP_SERVER_VARS["REMOTE_ADDR"].".dat")) {
unlink("./db/search_".$HTTP_SERVER_VARS["REMOTE_ADDR"].".dat");
}*/
}
include "footer.php";
?>