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()
83 if (!strlen($_POST['keyword']))
84 $ret = warning('Sie haben keinen Suchbegriff angegeben!');
86 $results = array_merge(search_zeitungen($_POST['keyword']),
87 search_tags($_POST['keyword']),
88 search_topics($_POST['keyword']));
90 if (count($results)) {
91 $ret = '<ul class="gold">';
92 foreach ($results as $res) {
93 $ret .= '<li>' . $res;
97 $zlist['keyword'] = htmlspecialchars($_POST['keyword']);
98 $ret = information(sprintf('Keine Treffer für "%s" gefunden.', $zlist['keyword']));
105 function ajax_search_check()
109 $keyword = $_POST['keyword'];
111 $query = sprintf("SELECT count(*) FROM zeitungen WHERE deleted IS false AND " .
112 "( name ILIKE '%%%s%%' OR url ILIKE '%%%s%%' " .
113 "OR city ILIKE '%%%s%%' OR description ILIKE '%%%s%%') ",
114 pg_escape_string($keyword), pg_escape_string($keyword),
115 pg_escape_string($keyword), pg_escape_string($keyword));
117 if (($sth = db_query($query)) !== false) {
118 $row = pg_fetch_array($sth, 0);
123 $query = sprintf("SELECT count(*) FROM tags WHERE " .
124 "tagname ILIKE '%%%s%%' ",
125 pg_escape_string($keyword));
127 if (($sth = db_query($query)) !== false) {
128 $row = pg_fetch_array($sth, 0);
133 $query = sprintf("SELECT count(*) FROM topics WHERE " .
134 "topic ILIKE '%%%s%%'",
135 pg_escape_string($keyword));
137 if (($sth = db_query($query)) !== false) {
138 $row = pg_fetch_array($sth, 0);