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 "
";
@@ -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 "Repo's | People |
";
+ // repos
+ echo "";
+
+
+
+ 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 "$userdets | $repodets | ";
+ }
+ echo " ";
+ } 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 "$userdets | $ownedrepos | ";
+ }
+
+ echo " ";
+ } 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