X-Git-Url: http://git.pjr.cc/?a=blobdiff_plain;f=gwvpmini%2Fgwvpmini_search.php;h=6e72fe9c2d27f6a46f6af368adadef29af3d80f7;hb=767cce5392550af03a6701b3d1826f680878d699;hp=0711779ccc6cd245b5d3ee83e9435a0bff2f3b2b;hpb=6042a4d8bc6f911ceba615482d922b6e641602a2;p=gwvp-mini.git diff --git a/gwvpmini/gwvpmini_search.php b/gwvpmini/gwvpmini_search.php index 0711779..6e72fe9 100644 --- a/gwvpmini/gwvpmini_search.php +++ b/gwvpmini/gwvpmini_search.php @@ -1,7 +1,7 @@ "; + echo "
"; echo ""; echo "
"; @@ -43,9 +46,119 @@ function gwvpmini_SearchMainPage() gwvpmini_goMainPage("gwvpmini_SearchMainPageBody"); } +function gwvpmini_SearchMainPageRedir() +{ + global $BASE_URL; + + $_SESSION["search"] = $_REQUEST["searchstring"]; + header("Location: $BASE_URL/search"); + + return; +} + function gwvpmini_SearchMainPageBody() { - echo "You searched for ".$_REQUEST["searchstring"]; + global $BASE_URL; + + $search = ""; + if(isset($_SESSION["search"])) { + $search = $_SESSION["search"]; + unset($_SESSION["search"]); + } else { + $query = $_REQUEST["q"]; + $qspl = explode("/", $query); + if(isset($qspl[1])) { + $search = $qspl[1]; + } + } + + $reps = gwvpmini_findReposLike($search); + $ppls = gwvpmini_findPeopleLike($search); + + + + /*echo "
repos\n\n";
+	print_r($reps);
+	echo "\n\nppl\n\n";
+	print_r($ppls);
+	echo "
";*/ + + // we need to process the search string into tokens here + if($search == "") { + echo "You need to enter a search string
"; + return; + } + + $vl = gwvpmini_SearchTokenizeString($search); + $search_str = $vl["str"]; + + echo "

Results

"; + echo "Searching for \"$search_str\"
Note: Search does not look INSIDE repos
"; + echo ""; + // repos + echo "

Repo's

People

"; + + + + if($reps != false) { + echo ""; + foreach($reps as $rep) { + $ownerinfo = gwvpmini_getUser(null, null, $rep["owner"]); + $userdets = gwvpmini_HtmlGravatar($ownerinfo["email"], 40, "
")."".$ownerinfo["username"].""; + + $repodets = "".$rep["name"]."
".$rep["desc"]; + echo ""; + } + echo "
$userdets$repodets
"; + } else echo "No Repo's Match"; + + + echo "
"; + // people + if($ppls != false) { + echo ""; + $ownedrepos = "BLAHBLAH"; + foreach($ppls as $ppl) { + $userdets = gwvpmini_HtmlGravatar($ppl["email"], 40, "
")."".$ppl["username"].""; + $repos = gwvpmini_GetOwnedRepos($ppl["username"]); + if($repos == false) $ownedrepos = "No Repos"; + else { + $ownedrepos = ""; + foreach($repos as $repo) { + $ownedrepos .= "".$repo["name"]." - ".$repo["desc"]."
"; + } + } + echo ""; + } + + echo "
$userdets$ownedrepos
"; + } else echo "No People Match"; + + + echo "
"; +} + +function gwvpmini_SearchTokenizeString($search) +{ + $inp = preg_replace("/[^a-zA-Z0-9 ]+/", "", $search); + + $res = preg_split("/ +/", trim($inp)); + + $ret["str"] = ""; + $i = 0; + foreach($res as $r) { + if($i == 0) $ret["str"] = "$r"; + else $ret["str"] .= " and $r"; + $ret["words"][$i] = $r; + $i++; + } + + /*echo "
";
+	print_r($ret);
+	echo "
";*/ + + return $ret; + } ?> \ No newline at end of file