search/searching file
search/searching file

--- a/searching.php
+++ b/searching.php
@@ -21,330 +21,293 @@
 // To read the license please visit http://www.gnu.org/copyleft/gpl.html
 // ----------------------------------------------------------------------
 
+
 // Page Setup
 // Set the current page id.  Because search does multiple things there are multiple possibilities
-if (isset($_POST['submit']) || isset($_GET['offset'])) {
-    $current = 'searchresults';
-} else {
-    $current = 'search';
+if(isset($_POST['submit']) || isset($_GET['offset'])) $current = "searchresults";
+else $current = "search";
+if(isset($_GET['action']) && $_GET['action'] == "advanced") $displayform = 1;
+// Now set up the page
+
+$displayform = 1;
+
+
+include ("header.php");
+
+if(file_exists("$skindir/browse.tpl")) $tpl = new TemplatePower( "$skindir/browse.tpl" );
+else $tpl = new TemplatePower("default_tpls/browse.tpl");
+if(file_exists("$skindir/listings.tpl")) $tpl->assignInclude( "listings", "./$skindir/listings.tpl" );
+else $tpl->assignInclude( "listings", "./default_tpls/listings.tpl" );
+
+include("includes/pagesetup.php");
+
+
+$searchtype = (isset($_REQUEST['searchtype']) ? $_REQUEST['searchtype'] : "simple");
+$searchterm =  (isset($_REQUEST['searchterm']) ? escapestring($_REQUEST['searchterm']) : false);
+
+if(isset($_POST['submit']) || isset($_GET['offset'])) {
+	$output .= "<div id=\"pagetitle\">"._RESULTS."</div>";
+	$query = array();
+	$countquery = array();
+	$scountquery = array();	
+	if($searchtype == "fulltext") {
+		$query = "SELECT stories.*, "._PENNAMEFIELD." as penname, stories.date as date, stories.updated as updated FROM "._AUTHORTABLE.", ".TABLEPREFIX."fanfiction_stories as stories, ".TABLEPREFIX."fanfiction_chapters as chapter WHERE chapter.storytext LIKE '%$searchterm%' AND chapter.sid = stories.sid AND stories.uid = "._UIDFIELD;
+		$countquery = "SELECT count(stories.sid) FROM ".TABLEPREFIX."fanfiction_stories as stories, ".TABLEPREFIX."fanfiction_chapters as chapter WHERE chapter.storytext LIKE '%$searchterm%' AND chapter.sid = stories.sid GROUP BY stories.sid";
+		$query .= " "._ORDERBY;
+		search($query, $countquery);
+		$tpl->assign("output", $output);
+		$tpl->printToScreen();
+		dbclose( );			
+		exit( );
+	}
+	if($searchterm && strlen($searchterm) < 3) {
+		errorExit(_SEARCHTERMTOOSHORT);
+	}
+	if($searchterm) {
+		if($searchtype == "title") {
+			$query[] = "stories.title LIKE '%$searchterm%'";
+			$countquery[] = "stories.title LIKE '%$searchterm%'";
+			$scountquery[] = "series.title LIKE '%$searchterm%'";
+		}
+		if($searchtype == "summary") {
+			$query[] = "stories.summary LIKE '%$searchterm%'";
+			$countquery[] = "stories.summary LIKE '%$searchterm%'";
+			$scountquery[] = "series.summary LIKE '%$searchterm%'";
+		}
+		if($searchtype == "penname") {
+			$authorquery = dbquery(_MEMBERLIST." WHERE "._PENNAMEFIELD." LIKE '%$searchterm%' GROUP BY "._UIDFIELD);
+			$authorlist = array();
+			while($auth = dbassoc($authorquery)) {
+				$authorlist[] = $auth['uid'];
+			}
+			if(count($authorlist) > 0) {
+				$authors = implode(",",$authorlist);
+				$query = "SELECT stories.*, "._PENNAMEFIELD." as penname, stories.date as date, stories.updated as updated FROM ("._AUTHORTABLE.", ".TABLEPREFIX."fanfiction_stories as stories) LEFT JOIN ".TABLEPREFIX."fanfiction_coauthors as coauth ON coauth.sid = stories.sid WHERE "._UIDFIELD." = stories.uid AND stories.validated > 0 AND (FIND_IN_SET(stories.uid, '$authors') > 0 OR FIND_IN_SET(coauth.uid, '$authors') > 0) ";
+				$countquery = "SELECT COUNT(stories.sid) FROM ".TABLEPREFIX."fanfiction_stories as stories LEFT JOIN ".TABLEPREFIX."fanfiction_coauthors as coauth ON coauth.sid = stories.sid WHERE stories.validated > 0 AND (FIND_IN_SET(stories.uid, '$authors') > 0 OR FIND_IN_SET(coauth.uid, '$authors') > 0)";
+				search($query, $countquery);
+				$tpl->assign("output", $output);
+				$tpl->printToScreen();
+				dbclose( );			
+				exit( );
+			}
+			else {
+				$query[] = "1 = 0";
+				$countquery[] = "1 = 0";
+				$scountquery[] = "1 = 0";
+			}
+		}
+		if($searchtype == "advanced") {
+			$query[] = "(stories.summary LIKE '%$searchterm%' OR stories.title LIKE '%$searchterm%') ";
+			$countquery[] = "(stories.summary LIKE '%$searchterm%' OR stories.title LIKE '%$searchterm%') ";
+			$scountquery[] = "(summary LIKE '%$searchterm%' OR title LIKE '%$searchterm%') ";
+		}
+	}
+	if(isset($_REQUEST['authors'])) {
+		$authors = isarray($_REQUEST['authors']) ? $_REQUEST['authors'] : explode(",", $_REQUEST['authors']);
+		$authors = array_filter($authors, "isNumber");
+		if($authors) {
+			$authors = implode(",", $authors);
+			$query[] = "FIND_IN_SET(stories.uid, '$authors') > 0";
+			$countquery[] = "FIND_IN_SET(stories.uid, '$authors') > 0";
+			$scountquery[] = "FIND_IN_SET(series.uid, '$authors') > 0";
+		}
+		else {
+			$query[] = "1 = 0";
+			$countquery[] = "1 = 0";
+			$scountquery[] = "1 = 0";
+		}
+	}
+	if(isset($_REQUEST['catid'])) {
+		$catid = is_array($_REQUEST['catid']) ? $_REQUEST['catid'] : explode(",", $_REQUEST['catid']);
+		$catid = array_filter($catid, "isNumber");
+	}
+	if(!isset($catid)) $catid = array("false");
+	$categories = array( );
+	// Get the recursive list.
+	foreach($catid as $cat) {
+		if($cat == "false" || empty($cat)) continue;
+		$categories = array_merge($categories, recurseCategories($cat));
+		}
+	// Now format the SQL
+	foreach($categories as $cat) {
+		$catstories[] = "FIND_IN_SET($cat, stories.catid) > 0 ";
+		$catseries[] = "FIND_IN_SET($cat, series.catid) > 0 ";
+	}
+	// Now implode the SQL list
+	if(!empty($catstories)) {
+		$query[] = "(".implode(" OR ", $catstories).")";
+		$countquery[] = "(".implode(" OR ", $catstories).")";
+		$scountquery[] = "(".implode(" OR ", $catseries).")";
+	}
+	if(isset($_REQUEST['charid'])) {
+		$charid = is_array($_REQUEST['charid']) ? $_REQUEST['charid'] : explode(",", $_REQUEST['charid']);
+	}
+	else $charid = array( );
+	if(isset($_REQUEST['charlist1'])) $charid[] = $_REQUEST['charlist1'];
+	if(isset($_REQUEST['charlist2'])) $charid[] = $_REQUEST['charlist2'];
+	$charid = array_filter($charid, "isNumber");
+	if(count($charid) > 0) {
+		foreach($charid as $c) {
+			if(!empty($c)) {
+				$charstories[] = "FIND_IN_SET($c, stories.charid) > 0 ";
+				$charseries[] = "FIND_IN_SET($c, series.characters) > 0 ";
+			}
+		}
+		if(count($charstories) > 0) {
+			$query[] = "(".implode(" AND ", $charstories).")";
+			$countquery[] = "(".implode(" AND ", $charstories).")";
+		}
+		if(count($charseries) > 0) $scountquery[] = "(".implode(" AND ", $charseries).")";
+	}
+
+	if(isset($_REQUEST['rid'])) $rid = is_array($_REQUEST['rid']) ? $_REQUEST['rid'] : explode(",", $_REQUEST['rid']);
+	else $rid = array();
+	if(count($rid) > 0) {
+		$rid = array_filter($rid, "isNumber");
+		$query[] = findclause('rid', $rid);
+		$countquery[] = findclause('rid', $rid);
+	}
+	if(isset($_REQUEST['complete'])) {
+		$query[] = "stories.completed = '1'";
+		$countquery[] = "stories.completed = '1'";
+	}
+	$classin = array( );
+	$classex = array( );
+	foreach($classtypelist as $id => $vars) {
+		$opts = array( );
+		$exopts = array( );
+		if(isset($_POST["class_".$id])) $opts = array_filter($_POST["class_".$id], "isNumber");
+		else if(isset($_GET["class_".$id])) {
+			$opts = array_merge($opts, explode(",", $_GET["class_".$id]));
+			$opts = array_filter($opts, "isNumber");
+		}
+		else if(isset($_REQUEST[$vars["name"]])) $opts[] = array($_REQUEST[$vars["name"]]);
+		$classin = array_merge($classin, $opts);
+		if(isset($_POST["exclass_".$id])) $exopts = array_filter($_POST["exclass_".$id], "isNumber");
+		else if(isset($_GET["exclass_".$id])) {
+			$exopts = array_merge($exopts, explode(",", $_GET["exclass_".$id]));
+			$exopts = array_filter($exopts, "isNumber");
+		}
+		$classex = array_merge($classex, $exopts);
+		unset($opts, $exopts);
+	}
+	if($classin) {
+		foreach($classin as $class) {
+			$query[] = "FIND_IN_SET($class, stories.classes) > 0";
+			$countquery[] = "FIND_IN_SET($class, stories.classes) > 0";
+			$scountquery[] = "FIND_IN_SET($class, series.classes) > 0";
+		}
+	}
+	if($classex) {
+		foreach($classex as $class) {
+			$query[] = "FIND_IN_SET($class, stories.classes) = 0";
+			$countquery[] = "FIND_IN_SET($class, stories.classes) = 0";
+			$scountquery[] = "FIND_IN_SET($class, series.classes) = 0";
+		}
+	}
+	// Begin story length
+	unset($wordcount);
+	$wordlow = isset($_REQUEST['wordlow']) && isNumber($_REQUEST['wordlow']) ? $_REQUEST['wordlow'] : "-500";
+	$wordhigh = isset($_REQUEST['wordhigh']) && isNumber($_REQUEST['wordhigh']) ? $_REQUEST['wordhigh'] : "1000000";
+	if($wordlow != "-500") $wordcount = "stories.wordcount > ".$wordlow;
+	if($wordhigh != "1000000") 
+	{
+		if($wordcount) $wordcount .= " AND stories.wordcount < ".$wordhigh;
+		else $wordcount = "stories.wordcount < ".$wordhigh;
+	}
+	if($wordhigh < $wordlow) $wordcount = "stories.wordcount < ".$wordlow;
+	if(!empty($wordcount)) {
+		$query[] = "($wordcount)";
+		$countquery[] = "($wordcount)";
+	}
+	// End wordcount
+
+	$codeblocks = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_codeblocks WHERE code_type = 'browseterms'");
+	while($code = dbassoc($codeblocks)) {
+		eval($code['code_text']);
+	}
+
+	$query = (count($query) > 0 ? " AND ".implode(" AND ", $query) : "")." "._ORDERBY;
+	$countquery = count($countquery) > 0 ? " AND ".implode(" AND ", $countquery) : "";
+	if(count($scountquery) > 0) $scountquery = " WHERE ".implode(" AND ", $scountquery);
+	search(_STORYQUERY.$query, _STORYCOUNT.$countquery);
+	$otherresults = array( );
+	$termArray = array_merge($_GET, $_POST);
+	$termsList = array();
+	foreach($termArray as $term => $value) {
+		if($term == "submit" || $term == "wordhigh" || $term == "wordlow" || empty($value) || $term == "formname" || $term == "searchtype") continue;
+		$termsList[$term] = "$term=".(is_array($value) ? implode(",", $value) : $value);
+	}
+	$terms = implode("&amp;", $termsList);
+	if(!empty($scountquery)) {
+		$seriesresults = dbquery(_SERIESCOUNT.$scountquery);
+		list($scount) = dbrow($seriesresults);
+		if($scount > 0) $otherresults[] = "<a href='browse.php?type=series$terms'>$scount "._SERIES."</a>";
+	}
+	$codeblocks = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_codeblocks WHERE code_type = 'otherresults'");
+	while($code = dbassoc($codeblocks)) {
+		eval($code['code_text']);
+	}
+	if(count($otherresults) > 0) $tpl->assign("otherresults", "<div id='otherresults'><span class='label'>"._OTHERRESULTS.":</span> ".implode(", ", $otherresults)."</div>");
 }
-if (isset($_GET['action']) && $_GET['action'] == 'advanced') {
-    $displayform = 1;
-}
-// Now set up the page
-
-$displayform = 1;
-
-include 'header.php';
-
-if (file_exists("$skindir/browse.tpl")) {
-    $tpl = new TemplatePower("$skindir/browse.tpl");
-} else {
-    $tpl = new TemplatePower('default_tpls/browse.tpl');
-}
-if (file_exists("$skindir/listings.tpl")) {
-    $tpl->assignInclude('listings', "./$skindir/listings.tpl");
-} else {
-    $tpl->assignInclude('listings', './default_tpls/listings.tpl');
-}
-
-include 'includes/pagesetup.php';
-
-$searchtype = (isset($_REQUEST['searchtype']) ? $_REQUEST['searchtype'] : 'simple');
-$searchterm = (isset($_REQUEST['searchterm']) ? escapestring($_REQUEST['searchterm']) : false);
-
-if (isset($_POST['submit']) || isset($_GET['offset'])) {
-    $output .= '<div id="pagetitle">'._RESULTS.'</div>';
-    $query = array();
-    $countquery = array();
-    $scountquery = array();
-    if ($searchtype == 'fulltext') {
-        $query = 'SELECT stories.*, '._PENNAMEFIELD.' as penname, UNIX_TIMESTAMP(stories.date) as date, UNIX_TIMESTAMP(stories.updated) as updated FROM '._AUTHORTABLE.', '.TABLEPREFIX.'fanfiction_stories as stories, '.TABLEPREFIX."fanfiction_chapters as chapter WHERE chapter.storytext LIKE '%$searchterm%' AND chapter.sid = stories.sid AND stories.uid = "._UIDFIELD;
-        $countquery = 'SELECT count(stories.sid) FROM '.TABLEPREFIX.'fanfiction_stories as stories, '.TABLEPREFIX."fanfiction_chapters as chapter WHERE chapter.storytext LIKE '%$searchterm%' AND chapter.sid = stories.sid GROUP BY stories.sid";
-        $query .= ' '._ORDERBY;
-        search($query, $countquery);
-        $tpl->assign('output', $output);
-        $tpl->printToScreen();
-        dbclose();
-        exit();
-    }
-    if ($searchterm && strlen($searchterm) < 3) {
-        errorExit(_SEARCHTERMTOOSHORT);
-    }
-    if ($searchterm) {
-        if ($searchtype == 'title') {
-            $query[] = "stories.title LIKE '%$searchterm%'";
-            $countquery[] = "stories.title LIKE '%$searchterm%'";
-            $scountquery[] = "series.title LIKE '%$searchterm%'";
-        }
-        if ($searchtype == 'summary') {
-            $query[] = "stories.summary LIKE '%$searchterm%'";
-            $countquery[] = "stories.summary LIKE '%$searchterm%'";
-            $scountquery[] = "series.summary LIKE '%$searchterm%'";
-        }
-        if ($searchtype == 'penname') {
-            $authorquery = dbquery(_MEMBERLIST.' WHERE '._PENNAMEFIELD." LIKE '%$searchterm%' GROUP BY "._UIDFIELD);
-            $authorlist = array();
-            while ($auth = dbassoc($authorquery)) {
-                $authorlist[] = $auth['uid'];
-            }
-            if (count($authorlist) > 0) {
-                $authors = implode(',', $authorlist);
-                $query = 'SELECT stories.*, '._PENNAMEFIELD.' as penname, UNIX_TIMESTAMP(stories.date) as date, UNIX_TIMESTAMP(stories.updated) as updated FROM ('._AUTHORTABLE.', '.TABLEPREFIX.'fanfiction_stories as stories) LEFT JOIN '.TABLEPREFIX.'fanfiction_coauthors as coauth ON coauth.sid = stories.sid WHERE '._UIDFIELD." = stories.uid AND stories.validated > 0 AND (FIND_IN_SET(stories.uid, '$authors') > 0 OR FIND_IN_SET(coauth.uid, '$authors') > 0) ";
-                $countquery = 'SELECT COUNT(stories.sid) FROM '.TABLEPREFIX.'fanfiction_stories as stories LEFT JOIN '.TABLEPREFIX."fanfiction_coauthors as coauth ON coauth.sid = stories.sid WHERE stories.validated > 0 AND (FIND_IN_SET(stories.uid, '$authors') > 0 OR FIND_IN_SET(coauth.uid, '$authors') > 0)";
-                search($query, $countquery);
-                $tpl->assign('output', $output);
-                $tpl->printToScreen();
-                dbclose();
-                exit();
-            } else {
-                $query[] = '1 = 0';
-                $countquery[] = '1 = 0';
-                $scountquery[] = '1 = 0';
-            }
-        }
-        if ($searchtype == 'advanced') {
-            $query[] = "(stories.summary LIKE '%$searchterm%' OR stories.title LIKE '%$searchterm%') ";
-            $countquery[] = "(stories.summary LIKE '%$searchterm%' OR stories.title LIKE '%$searchterm%') ";
-            $scountquery[] = "(summary LIKE '%$searchterm%' OR title LIKE '%$searchterm%') ";
-        }
-    }
-    if (isset($_REQUEST['authors'])) {
-        $authors = isarray($_REQUEST['authors']) ? $_REQUEST['authors'] : explode(',', $_REQUEST['authors']);
-        $authors = array_filter($authors, 'isNumber');
-        if ($authors) {
-            $authors = implode(',', $authors);
-            $query[] = "FIND_IN_SET(stories.uid, '$authors') > 0";
-            $countquery[] = "FIND_IN_SET(stories.uid, '$authors') > 0";
-            $scountquery[] = "FIND_IN_SET(series.uid, '$authors') > 0";
-        } else {
-            $query[] = '1 = 0';
-            $countquery[] = '1 = 0';
-            $scountquery[] = '1 = 0';
-        }
-    }
-    if (isset($_REQUEST['catid'])) {
-        $catid = is_array($_REQUEST['catid']) ? $_REQUEST['catid'] : explode(',', $_REQUEST['catid']);
-        $catid = array_filter($catid, 'isNumber');
-    }
-    if (!isset($catid)) {
-        $catid = array('false');
-    }
-    $categories = array();
-    // Get the recursive list.
-    foreach ($catid as $cat) {
-        if ($cat == 'false' || empty($cat)) {
-            continue;
-        }
-        $categories = array_merge($categories, recurseCategories($cat));
-    }
-    // Now format the SQL
-    foreach ($categories as $cat) {
-        $catstories[] = "FIND_IN_SET($cat, stories.catid) > 0 ";
-        $catseries[] = "FIND_IN_SET($cat, series.catid) > 0 ";
-    }
-    // Now implode the SQL list
-    if (!empty($catstories)) {
-        $query[] = '('.implode(' OR ', $catstories).')';
-        $countquery[] = '('.implode(' OR ', $catstories).')';
-        $scountquery[] = '('.implode(' OR ', $catseries).')';
-    }
-    if (isset($_REQUEST['charid'])) {
-        $charid = is_array($_REQUEST['charid']) ? $_REQUEST['charid'] : explode(',', $_REQUEST['charid']);
-    } else {
-        $charid = array();
-    }
-    if (isset($_REQUEST['charlist1'])) {
-        $charid[] = $_REQUEST['charlist1'];
-    }
-    if (isset($_REQUEST['charlist2'])) {
-        $charid[] = $_REQUEST['charlist2'];
-    }
-    $charid = array_filter($charid, 'isNumber');
-    if (count($charid) > 0) {
-        foreach ($charid as $c) {
-            if (!empty($c)) {
-                $charstories[] = "FIND_IN_SET($c, stories.charid) > 0 ";
-                $charseries[] = "FIND_IN_SET($c, series.characters) > 0 ";
-            }
-        }
-        if (count($charstories) > 0) {
-            $query[] = '('.implode(' AND ', $charstories).')';
-            $countquery[] = '('.implode(' AND ', $charstories).')';
-        }
-        if (count($charseries) > 0) {
-            $scountquery[] = '('.implode(' AND ', $charseries).')';
-        }
-    }
-
-    if (isset($_REQUEST['rid'])) {
-        $rid = is_array($_REQUEST['rid']) ? $_REQUEST['rid'] : explode(',', $_REQUEST['rid']);
-    } else {
-        $rid = array();
-    }
-    if (count($rid) > 0) {
-        $rid = array_filter($rid, 'isNumber');
-        $query[] = findclause('rid', $rid);
-        $countquery[] = findclause('rid', $rid);
-    }
-    if (isset($_REQUEST['complete'])) {
-        $query[] = "stories.completed = '1'";
-        $countquery[] = "stories.completed = '1'";
-    }
-    $classin = array();
-    $classex = array();
-    foreach ($classtypelist as $id => $vars) {
-        $opts = array();
-        $exopts = array();
-        if (isset($_POST['class_'.$id])) {
-            $opts = array_filter($_POST['class_'.$id], 'isNumber');
-        } elseif (isset($_GET['class_'.$id])) {
-            $opts = array_merge($opts, explode(',', $_GET['class_'.$id]));
-            $opts = array_filter($opts, 'isNumber');
-        } elseif (isset($_REQUEST[$vars['name']])) {
-            $opts[] = array($_REQUEST[$vars['name']]);
-        }
-        $classin = array_merge($classin, $opts);
-        if (isset($_POST['exclass_'.$id])) {
-            $exopts = array_filter($_POST['exclass_'.$id], 'isNumber');
-        } elseif (isset($_GET['exclass_'.$id])) {
-            $exopts = array_merge($exopts, explode(',', $_GET['exclass_'.$id]));
-            $exopts = array_filter($exopts, 'isNumber');
-        }
-        $classex = array_merge($classex, $exopts);
-        unset($opts, $exopts);
-    }
-    if ($classin) {
-        foreach ($classin as $class) {
-            $query[] = "FIND_IN_SET($class, stories.classes) > 0";
-            $countquery[] = "FIND_IN_SET($class, stories.classes) > 0";
-            $scountquery[] = "FIND_IN_SET($class, series.classes) > 0";
-        }
-    }
-    if ($classex) {
-        foreach ($classex as $class) {
-            $query[] = "FIND_IN_SET($class, stories.classes) = 0";
-            $countquery[] = "FIND_IN_SET($class, stories.classes) = 0";
-            $scountquery[] = "FIND_IN_SET($class, series.classes) = 0";
-        }
-    }
-    // Begin story length
-    unset($wordcount);
-    $wordlow = isset($_REQUEST['wordlow']) && isNumber($_REQUEST['wordlow']) ? $_REQUEST['wordlow'] : '-500';
-    $wordhigh = isset($_REQUEST['wordhigh']) && isNumber($_REQUEST['wordhigh']) ? $_REQUEST['wordhigh'] : '1000000';
-    if ($wordlow != '-500') {
-        $wordcount = 'stories.wordcount > '.$wordlow;
-    }
-    if ($wordhigh != '1000000') {
-        if ($wordcount) {
-            $wordcount .= ' AND stories.wordcount < '.$wordhigh;
-        } else {
-            $wordcount = 'stories.wordcount < '.$wordhigh;
-        }
-    }
-    if ($wordhigh < $wordlow) {
-        $wordcount = 'stories.wordcount < '.$wordlow;
-    }
-    if (!empty($wordcount)) {
-        $query[] = "($wordcount)";
-        $countquery[] = "($wordcount)";
-    }
-    // End wordcount
-
-    $codeblocks = dbquery('SELECT * FROM '.TABLEPREFIX."fanfiction_codeblocks WHERE code_type = 'browseterms'");
-    while ($code = dbassoc($codeblocks)) {
-        eval($code['code_text']);
-    }
-
-    $query = (count($query) > 0 ? ' AND '.implode(' AND ', $query) : '').' '._ORDERBY;
-    $countquery = count($countquery) > 0 ? ' AND '.implode(' AND ', $countquery) : '';
-    if (count($scountquery) > 0) {
-        $scountquery = ' WHERE '.implode(' AND ', $scountquery);
-    }
-    search(_STORYQUERY.$query, _STORYCOUNT.$countquery);
-    $otherresults = array();
-    $termArray = array_merge($_GET, $_POST);
-    $termsList = array();
-    foreach ($termArray as $term => $value) {
-        if ($term == 'submit' || $term == 'wordhigh' || $term == 'wordlow' || empty($value) || $term == 'formname' || $term == 'searchtype') {
-            continue;
-        }
-        $termsList[$term] = "$term=".(is_array($value) ? implode(',', $value) : $value);
-    }
-    $terms = implode('&amp;', $termsList);
-    if (!empty($scountquery)) {
-        $seriesresults = dbquery(_SERIESCOUNT.$scountquery);
-        list($scount) = dbrow($seriesresults);
-        if ($scount > 0) {
-            $otherresults[] = "<a href='browse.php?type=series$terms'>$scount "._SERIES.'</a>';
-        }
-    }
-    $codeblocks = dbquery('SELECT * FROM '.TABLEPREFIX."fanfiction_codeblocks WHERE code_type = 'otherresults'");
-    while ($code = dbassoc($codeblocks)) {
-        eval($code['code_text']);
-    }
-    if (count($otherresults) > 0) {
-        $tpl->assign('otherresults', "<div id='otherresults'><span class='label'>"._OTHERRESULTS.':</span> '.implode(', ', $otherresults).'</div>');
-    }
-} else {
-    if ($searchtype == 'simple') {
-        $output .= '<div id="pagetitle">'._SIMPLE."</div><div style='text-align: center;'><form method=\"post\" enctype=\"multipart/form-data\" action=\"searching.php\">
+else {
+	if($searchtype == "simple") {
+		$output .= "<div id=\"pagetitle\">"._SIMPLE."</div><div style='text-align: center;'><form method=\"post\" enctype=\"multipart/form-data\" action=\"search.php\">
 		<div class=\"tblborder\" style=\"width: 320px; padding: 5px; margin: 0 auto;\">
 		<select name=\"searchtype\">
-		<option value=\"penname\">"._PENNAME.'</option>
-		<option value="title">'._TITLE.'</option>
-		<option value="summary">'._SUMMARY.'</option>';
-        if ($store == 'mysql') {
-            $output .= '<option value="fulltext">'._FULLTEXT.'</option>';
-        }
-        $output .= '</select> <INPUT type="text" class="textbox" name="searchterm" size="20"> ';
-        $output .= '<INPUT type="submit" class="button" name="submit" value="'._SUBMIT.'" size="20">
-		<div style="font-size: 8pt; text-align: right;"><a href="searching.php?searchtype=advanced">'._ADVANCED.'</a></div></div></form></div>';
-    } else {
-        $output .= '<div id="pagetitle">'._ADVANCED.'</div><div>
-			<form method="POST" name="form" enctype="multipart/form-data" action="searching.php?searchtype=advanced">
-			<div class="tblborder" style="width: 90%; margin: 0 auto; padding: 10px;">';
-        if ($multiplecats) {
-            include 'includes/categories.php';
-            $output .= '<input type="hidden" name="formname" value="search">';
-        }
-        $output .= "<div style='float: left; width: 99%;'>";
-        if (count($charlist) > 0) {
-            $output .= '<div style="float: left; width: 49%;"><label for="charname">'._CHARACTERS.": </label><br />\n";
-            $output .= '<select name="charid[]"  style="width: 90%;" multiple size="5" id="charid">';
-            foreach ($charlist as $charid => $info) {
-                if ($info['catid'] != -1) {
-                    continue;
-                }
-                $output .= '<option value="'.$charid.'">'.stripslashes($info['name'])."</option>\n";
-            }
-            $output .= '</select></div>';
-        }
-        $result = dbquery('SELECT rid, rating FROM '.TABLEPREFIX.'fanfiction_ratings ORDER BY rating');
-        if (dbnumrows($result)) {
-            $output .= '<div style="float: left; width: 49%;"><label for="rid">'._RATINGS.':</label><br /><select id="rid" style="width: 90%;" multiple size="5"name="rid[]"><option value="-1">'._ALL.'</option>';
-            while ($ratingresults = dbassoc($result)) {
-                $output .= '<option value="'.$ratingresults['rid'].'">'.$ratingresults['rating']."</option>\n";
-            }
-            $output .= '</select></div>';
-        }
-        $output .= '<div style="clear: both;">&nbsp;</div>';
-        $output .= ' <div style="text-align: center;">'._MULTIPLESELECT.'</div>';
-        $result = dbquery('SELECT * FROM '.TABLEPREFIX.'fanfiction_classtypes ORDER BY classtype_name');
-        while ($type = dbassoc($result)) {
-            $result2 = dbquery('SELECT * FROM '.TABLEPREFIX."fanfiction_classes WHERE class_type = '".$type['classtype_id']."' ORDER BY class_name");
-            $select = '';
-            while ($class = dbassoc($result2)) {
-                $select .= '<option value="'.$class['class_id'].'">'.$class['class_name'].'</option>';
-            }
-            $output .= '<div>
-				<div style="float: left; width: 49%; margin-bottom: 1em;"><label for="class_'.$type['classtype_id'].'">'.$type['classtype_title'].' '._INCLUDE.':</label><br />
-					 <select name="class_'.$type['classtype_id'].'[]" id="class_'.$type['classtype_id']."\"  style=\"width: 95%;\" multiple size=\"5\">$select</select></div>
-				<div style=\"float: left; width: 49%; margin-bottom: 1em;\"><label for=\"exclass_".$type['classtype_id'].'">'.$type['classtype_title'].' '._EXCLUDE.':</label><br />
-					 <select name="exclass_'.$type['classtype_id'].'[]"  id="exclass_'.$type['classtype_id']."\"  style=\"width: 95%;\" multiple size=\"5\">$select</select></div>
+		<option value=\"penname\">"._PENNAME."</option>
+		<option value=\"title\">"._TITLE."</option>
+		<option value=\"summary\">"._SUMMARY."</option>";
+		if($store == "mysql")
+			$output .= "<option value=\"fulltext\">"._FULLTEXT."</option>";
+		$output .= "</select> <INPUT type=\"text\" class=\"textbox\" name=\"searchterm\" size=\"20\"> ";
+		$output .= "<INPUT type=\"submit\" class=\"button\" name=\"submit\" value=\""._SUBMIT."\" size=\"20\">
+		<div style=\"font-size: 8pt; text-align: right;\"><a href=\"search.php?searchtype=advanced\">"._ADVANCED."</a></div></div></form></div>";
+	}
+	else {
+		$output .= "<div id=\"pagetitle\">"._ADVANCED."</div><div>
+			<form method=\"POST\" name=\"form\" enctype=\"multipart/form-data\" action=\"search.php?searchtype=advanced\">
+			<div class=\"tblborder\" style=\"width: 90%; margin: 0 auto; padding: 10px;\">";
+		if($multiplecats) {
+			include("includes/categories.php");
+			$output .= "<input type=\"hidden\" name=\"formname\" value=\"search\">";
+		}
+		$output .= "<div style='float: left; width: 99%;'>";
+		if(count($charlist) > 0) {
+			$output .= "<div style=\"float: left; width: 49%;\"><label for=\"charname\">"._CHARACTERS.": </label><br />\n";
+			$output .= "<select name=\"charid[]\"  style=\"width: 90%;\" multiple size=\"5\" id=\"charid\">";
+			foreach($charlist as $charid => $info) {
+				if($info['catid'] != -1) continue;
+				$output .= "<option value=\"".$charid."\">" .stripslashes($info['name'] ). "</option>\n";
+			}
+			$output .= "</select></div>";
+		}
+		$result = dbquery("SELECT rid, rating FROM ".TABLEPREFIX."fanfiction_ratings ORDER BY rating");
+		if(dbnumrows($result)) {
+			$output .= "<div style=\"float: left; width: 49%;\"><label for=\"rid\">"._RATINGS.":</label><br /><select id=\"rid\" style=\"width: 90%;\" multiple size=\"5\"name=\"rid[]\"><option value=\"-1\">"._ALL."</option>";
+			while ($ratingresults = dbassoc($result))
+			{
+				$output .= "<option value=\"".$ratingresults['rid']."\">".$ratingresults['rating']."</option>\n";
+			}
+			$output .= "</select></div>";
+		}
+		$output .= "<div style=\"clear: both;\">&nbsp;</div>";
+		$output .= " <div style=\"text-align: center;\">"._MULTIPLESELECT."</div>";
+		$result = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_classtypes ORDER BY classtype_name");
+		while($type = dbassoc($result)) {
+			$result2 = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_classes WHERE class_type = '".$type['classtype_id']."' ORDER BY class_name");
+			$select = "";
+			while ($class = dbassoc($result2)) {
+ 				$select .= "<option value=\"".$class['class_id']."\">".$class['class_name']."</option>";
+			}
+			$output .= "<div>
+				<div style=\"float: left; width: 49%; margin-bottom: 1em;\"><label for=\"class_".$type['classtype_id']."\">".$type['classtype_title']." "._INCLUDE.":</label><br />
+					 <select name=\"class_".$type['classtype_id']."[]\" id=\"class_".$type['classtype_id']."\"  style=\"width: 95%;\" multiple size=\"5\">$select</select></div>
+				<div style=\"float: left; width: 49%; margin-bottom: 1em;\"><label for=\"exclass_".$type['classtype_id']."\">".$type['classtype_title']." "._EXCLUDE.":</label><br />
+					 <select name=\"exclass_".$type['classtype_id']."[]\"  id=\"exclass_".$type['classtype_id']."\"  style=\"width: 95%;\" multiple size=\"5\">$select</select></div>
 				</div>";
-        }
-        $output .= '</div><label for="completed">'._COMPLETEONLY.':</label> <input type="checkbox" class="checkbox" id="completed" name="completed" value="ON"><label for="wordlow">'._WORDCOUNT.":</label> <select size=\"1\" id=\"wordlow\" name=\"wordlow\">
+		}
+		$output .= "</div><label for=\"completed\">"._COMPLETEONLY.":</label> <input type=\"checkbox\" class=\"checkbox\" id=\"completed\" name=\"completed\" value=\"ON\"><label for=\"wordlow\">"._WORDCOUNT.":</label> <select size=\"1\" id=\"wordlow\" name=\"wordlow\">
   <option value='-500'>&lt; 500</option>
   <option>1000</option>
   <option>5000</option>
@@ -360,17 +323,17 @@
   <option>5000</option>
   <option>1000</option>
   <option value='-500'>&lt; 500</option>
-  </select><br /><br /><label for=\"searchterm\">"._SEARCHTERM.': </label><INPUT type="text" class="textbox" name="searchterm" id="searchterm" size="20">
+  </select><br /><br /><label for=\"searchterm\">"._SEARCHTERM.": </label><INPUT type=\"text\" class=\"textbox\" name=\"searchterm\" id=\"searchterm\" size=\"20\">
   
-  <label for="sortorder">'._SORT.':</label> <select name="sortorder" id="sortorder"><option value="alpha">'._ALPHA.'</option><option value="update">'._MOSTRECENT.'</option></select>';
-        $codequery = dbquery('SELECT * FROM '.TABLEPREFIX."fanfiction_codeblocks WHERE code_type = 'searchform'");
-        while ($code = dbassoc($codequery)) {
-            eval($code['code_text']);
-        }
-        $output .= "<div id='submitdiv'><input name=\"submit\" id=\"submit\" value=\""._SUBMIT.'" type="submit" class="button"></div></div></form></div>';
-    }
+  <label for=\"sortorder\">"._SORT.":</label> <select name=\"sortorder\" id=\"sortorder\"><option value=\"alpha\">"._ALPHA."</option><option value=\"update\">"._MOSTRECENT."</option></select>";
+	$codequery = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_codeblocks WHERE code_type = 'searchform'");
+	while($code = dbassoc($codequery)) {
+		eval($code['code_text']);
+	}
+$output .= "<div id='submitdiv'><input name=\"submit\" id=\"submit\" value=\""._SUBMIT."\" type=\"submit\" class=\"button\"></div></div></form></div>";
+	}
 }
-$tpl->assign('output', $output);
+$tpl->assign("output", $output);
 $tpl->printToScreen();
-dbclose();
-
+dbclose( );
+?>