3 function search_zeitungen($keyword)
7 $query = sprintf("SELECT id,name,city FROM zeitungen WHERE deleted IS false AND " .
8 "( name ILIKE '%%%s%%' OR url ILIKE '%%%s%%' " .
9 "OR city ILIKE '%%%s%%' OR description ILIKE '%%%s%%') " .
11 pg_escape_string($keyword), pg_escape_string($keyword),
12 pg_escape_string($keyword), pg_escape_string($keyword));
14 if (($sth = db_query($query)) === false) return array();
16 if (pg_num_rows($sth) == 0) return array();
19 for ($i=0; $i < pg_num_rows($sth); $i++) {
20 $row = pg_fetch_array($sth, $i);
22 $ret[] = sprintf('<a href="%szeitung/%d.html">%s</a>, %s',
23 $cfg['basepath'], $row['id'], $row['name'], $row['city']);
29 function search_tags($keyword)
33 $query = sprintf("SELECT tagname FROM tags WHERE " .
34 "tagname ILIKE '%%%s%%' " .
35 "ORDER BY lower(tagname)",
36 pg_escape_string($keyword));
38 if (($sth = db_query($query)) === false) return array();
40 if (pg_num_rows($sth) == 0) return array();
43 for ($i=0; $i < pg_num_rows($sth); $i++) {
44 $row = pg_fetch_array($sth, $i);
46 $ret[] = sprintf('Tag <a href="%stag/%s.html">%s</a>',
47 $cfg['basepath'], urlencode($row['tagname']),
54 function search_topics($keyword)
58 $query = sprintf("SELECT id,topic FROM topics WHERE " .
59 "topic ILIKE '%%%s%%' ORDER BY topic",
60 pg_escape_string($keyword));
62 if (($sth = db_query($query)) === false) return array();
64 if (pg_num_rows($sth) == 0) return array();
67 for ($i=0; $i < pg_num_rows($sth); $i++) {
68 $row = pg_fetch_array($sth, $i);
70 $ret[] = sprintf('Diskussion <a href="%stopic/%d.html">%s</a>',
71 $cfg['basepath'], $row['id'],
78 function process_search()
82 if (!strlen($_POST['keyword']))
83 $ret = warning('Sie haben keinen Suchbegriff angegeben!');
85 $results = array_merge(search_zeitungen($_POST['keyword']),
86 search_tags($_POST['keyword']),
87 search_topics($_POST['keyword']));
89 if (count($results)) {
90 $ret = '<ul class="gold">';
91 foreach ($results as $res) {
92 $ret .= '<li>' . $res;
96 $zlist['keyword'] = htmlspecialchars($_POST['keyword']);
97 $ret = information(sprintf('Keine Treffer für "%s" gefunden.', $zlist['keyword']));
104 function ajax_search_check()
106 $keyword = $_POST['keyword'];
108 $query = sprintf("SELECT count(*) FROM zeitungen WHERE deleted IS false AND " .
109 "( name ILIKE '%%%s%%' OR url ILIKE '%%%s%%' " .
110 "OR city ILIKE '%%%s%%' OR description ILIKE '%%%s%%') ",
111 pg_escape_string($keyword), pg_escape_string($keyword),
112 pg_escape_string($keyword), pg_escape_string($keyword));
114 if (($sth = db_query($query)) !== false) {
115 $row = pg_fetch_array($sth, 0);
120 $query = sprintf("SELECT count(*) FROM tags WHERE " .
121 "tagname ILIKE '%%%s%%' ",
122 pg_escape_string($keyword));
124 if (($sth = db_query($query)) !== false) {
125 $row = pg_fetch_array($sth, 0);
130 $query = sprintf("SELECT count(*) FROM topics WHERE " .
131 "topic ILIKE '%%%s%%'",
132 pg_escape_string($keyword));
134 if (($sth = db_query($query)) !== false) {
135 $row = pg_fetch_array($sth, 0);