Add link to data protection page
[infodrom.org/lists.infodrom.org] / src / search.php3
1 <?
2   if (isset ($_GET["js"]) && $_GET["js"] == 1) {
3     if (!isset ($_GET["keyword"]) || !strlen($_GET["keyword"]) ||
4         !isset ($_GET["lang"]) || !strlen($_GET["lang"]) ||
5         ($_GET["lang"] != 'de' && $_GET["lang"] != 'en'))
6       exit();
7     $dbh = pg_pconnect ("", "", "web");
8     if ($dbh) {
9       $query = sprintf ("SELECT keyword FROM search_compiled "
10                        ."WHERE keyword LIKE '%s%%' AND language = '%s' "
11                        ."ORDER BY scores DESC,keyword LIMIT 10",
12                         pg_escape_string($_GET["keyword"]), $_GET["lang"]);
13       $sth = pg_exec ($dbh, $query);
14       $result = array ();
15       $count = 0;
16       for ($nr=0; $nr < pg_NumRows ($sth) && $count < 85; $nr++) {
17         $row = pg_fetch_array ($sth, $nr);
18         if ($result)
19           $count += 2;
20         $result[] = $row["keyword"];
21         $count += strlen($row["keyword"]);
22       }
23       if ($count > 85)
24         unset ($result[count($result)-1]);
25       echo json_encode ($result) . "\n";
26       exit();
27     } else {
28       exit();
29     }
30   }
31
32
33   if ($_REQUEST[keyword] && ($_REQUEST[site] || $_GET[lang])) {
34     $dbh = pg_pconnect ("", "", "web");
35     if ($dbh) {
36       if ($_REQUEST[site] == "www.google.de" || $_GET[lang] == "de") {
37         $lang = "de";
38         $site = "www.google.de";
39       } else {
40         $lang = "en";
41         $site = "www.google.com";
42       }
43
44       $query = sprintf ("INSERT INTO search_keywords VALUES ('%s','%s','%s','%s')",
45                         pg_escape_string($_REQUEST[keyword]),
46                         $lang,
47                         date ("Y-m-d H:i"),
48                         $_SERVER[REMOTE_ADDR]);
49       pg_exec ($dbh, $query);
50     }
51
52     $url = "http://" . $site . "/search?as_q=" . ereg_replace (" ", "+", $_REQUEST[keyword])
53            . "&as_sitesearch=infodrom.org";
54
55     header ("Location: $url");
56     mail ("joey@luonnotar.infodrom.org", "New Search Request",
57 "Site    : $site
58 Keywords: $_REQUEST[keyword]
59 Host    : " . $_SERVER[REMOTE_ADDR] . "
60 SCRIPT  : " . $_SERVER[SCRIPT_URI] . "
61 URL     : " . $url . "\n", "From: Infodrom Webserver <www-data@luonnotar.infodrom.org>");
62   } else {
63     header ("Location: search.html");
64   }
65 ?>