dfbf3215e2ef2a972168f1e1d1971035c0ec0068
[atutor.git] / mods / wiki / plugins / linking / instanturl_find.php
1 <?php
2
3 /*
4    This plugin enables the [find:] moniker, which searches (for partial
5    matches) in "instant" and "interwiki" URLs, and alternatively selects
6    a similiar wiki page. As last resort falls back on google search.
7 */
8
9
10 $ewiki_plugins["intermap"]["find"] = "ewiki_linking_findany";
11
12 function ewiki_linking_findany($moniker, $page) {
13
14    global $ewiki_config;
15
16    #-- lists
17    $page_i = strtolower($page);
18    $search = array_merge(
19       $ewiki_config["instant"],
20       $ewiki_config["interwiki"]
21    );
22    foreach ($search as $pn=>$url) {
23       if (strtolower($pn) == $page_i) {
24          return($url);
25       }
26    }
27
28    #-- find a page
29    $result = ewiki_db::SEARCH("id",$page_i);
30    while ($row = $result->get()) {
31       if (($row["flags"] & EWIKI_DB_F_TYPE) == EWIKI_DB_F_TEXT) {
32          return(ewiki_script("", $row["id"]));
33       }
34    }   
35
36    #-- Google saves the day!
37    return("http://www.google.com/search?q=".urlencode($page));
38 }
39
40
41 ?>