4 $CALL_ME_FUNCTIONS["search"] = "gwvpmini_SearchCallMe";
\r
6 // the home_page_provders bit is an array
\r
10 function gwvpmini_SearchCallMe()
\r
13 error_log("in repoadmin callme - err?");
\r
14 error_log(print_r($_REQUEST, true));
\r
15 if(isset($_REQUEST["q"])) {
\r
16 error_log("in repoadmin callme, for Q");
\r
17 $query = $_REQUEST["q"];
\r
18 $qspl = explode("/", $query);
\r
19 if(isset($qspl[0])) {
\r
20 if($qspl[0] == "search") {
\r
21 return "gwvpmini_SearchMainPage";
\r
22 } else return false;
\r
31 function gwvpmini_SearchBuilder()
35 echo "<form method=\"post\" action=\"$BASE_URL/search\">";
36 echo "<input type=\"text\" name=\"searchstring\"><input type=\"submit\" name=\"Search\" value=\"Seach\">";
41 function gwvpmini_SearchMainPage()
43 gwvpmini_goMainPage("gwvpmini_SearchMainPageBody");
46 function gwvpmini_SearchMainPageBody()
50 $search = $_REQUEST["searchstring"];
52 $reps = gwvpmini_findReposLike($search);
53 $ppls = gwvpmini_findPeopleLike($search);
57 /*echo "<pre>repos\n\n";
63 // we need to process the search string into tokens here
65 echo "You need to enter a search string<br>";
69 $vl = gwvpmini_SearchTokenizeString($search);
70 $search_str = $vl["str"];
72 echo "<h2>Results</h2>";
73 echo "Searching for \"$search_str\"<br>Note: Search does not look INSIDE repos<br>";
74 echo "<table><tr><td bgcolor=\"#eeeeff\"><h3>Repo's</h3></td><td bgcolor=\"#eeffee\"><h3>People</h3></td></tr>";
76 echo "<tr valign=\"top\"><td>";
81 echo "<table border=\"1\">";
82 foreach($reps as $rep) {
83 $ownerinfo = gwvpmini_getUser(null, null, $rep["owner"]);
84 $userdets = gwvpmini_HtmlGravatar($ownerinfo["email"], 40, "<br>")."<a href=\"$BASE_URL/user/".$ownerinfo["username"]."\">".$ownerinfo["username"]."</a>";
86 $repodets = "<b><a href=\"$BASE_URL/view/".$rep["name"]."\">".$rep["name"]."</a></b><br>".$rep["desc"];
87 echo "<tr><td>$userdets</td><td>$repodets</td></tr>";
90 } else echo "No Repo's Match";
95 if($ppls != false) {
\r
96 echo "<table border=\"1\">";
97 $ownedrepos = "BLAHBLAH";
\r
98 foreach($ppls as $ppl) {
\r
99 $userdets = gwvpmini_HtmlGravatar($ppl["email"], 40, "<br>")."<a href=\"$BASE_URL/user/".$ppl["username"]."\">".$ppl["username"]."</a>";
100 $repos = gwvpmini_GetOwnedRepos($ppl["username"]);
101 if($repos == false) $ownedrepos = "No Repos";
104 foreach($repos as $repo) {
105 $ownedrepos .= "<b><a href=\"$BASE_URL/view/".$repo["name"]."\">".$repo["name"]."</a></b> - ".$repo["desc"]."<br>";
108 echo "<tr><td>$userdets</td><td>$ownedrepos</td></tr>";
\r
112 } else echo "No People Match";
\r
118 function gwvpmini_SearchTokenizeString($search)
120 $inp = preg_replace("/[^a-zA-Z0-9 ]+/", "", $search);
\r
122 $res = preg_split("/ +/", trim($inp));
\r
126 foreach($res as $r) {
127 if($i == 0) $ret["str"] = "<b>$r</b>";
128 else $ret["str"] .= " <i>and</i> <b>$r</b>";
129 $ret["words"][$i] = $r;