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>";
79 // get_gravatar( $email, $s = 80, $d = 'mm', $r = 'g', $img = false, $atts = array() ) {
81 echo "<table border=\"1\">";
82 foreach($reps as $rep) {
83 $ownerinfo = gwvpmini_getUser(null, null, $rep["owner"]);
84 $userdets = get_gravatar($ownerinfo["email"], 40, 'mm', 'g', true);
85 $userdets .= "<br><a href=\"$BASE_URL/user/".$ownerinfo["username"]."\">".$ownerinfo["username"]."</a>";
87 $repodets = "<b>".$rep["name"]."</b><br>".$rep["desc"];
88 echo "<tr><td>$userdets</td><td>$repodets</td></tr>";
91 } else echo "No Repo's Match";
96 if($ppls != false) {
\r
97 echo "<table border=\"1\">";
98 $ownedrepos = "BLAHBLAH";
\r
99 foreach($ppls as $ppl) {
\r
100 $userdets = get_gravatar($ppl["email"], 40, 'mm', 'g', true);
101 $userdets .= "<br><a href=\"$BASE_URL/user/".$ppl["username"]."\">".$ppl["username"]."</a>";
102 $repos = gwvpmini_GetOwnedRepos($ppl["username"]);
103 if($repos == false) $ownedrepos = "No Repos";
106 foreach($repos as $repo) {
107 $ownedrepos .= "<b><a href=\"$BASE_URL/view/".$repo["name"]."\">".$repo["name"]."</a></b> - ".$repo["desc"]."<br>";
110 echo "<tr><td>$userdets</td><td>$ownedrepos</td></tr>";
\r
114 } else echo "No People Match";
\r
120 function gwvpmini_SearchTokenizeString($search)
122 $inp = preg_replace("/[^a-zA-Z0-9 ]+/", "", $search);
\r
124 $res = preg_split("/ +/", trim($inp));
\r
128 foreach($res as $r) {
129 if($i == 0) $ret["str"] = "<b>$r</b>";
130 else $ret["str"] .= " <i>and</i> <b>$r</b>";
131 $ret["words"][$i] = $r;