%s, %s', $cfg['basepath'], $row['id'], $row['name'], $row['city']); } return $ret; } function search_tags($keyword) { global $cfg; $query = sprintf("SELECT tagname FROM tags WHERE " . "tagname ILIKE '%%%s%%' " . "ORDER BY lower(tagname)", pg_escape_string($keyword)); if (($sth = db_query($query)) === false) return array(); if (pg_NumRows($sth) == 0) return array(); $ret = array(); for ($i=0; $i < pg_NumRows($sth); $i++) { $row = pg_fetch_array($sth, $i); $ret[] = sprintf('Tag %s', $cfg['basepath'], urlencode($row['tagname']), $row['tagname']); } return $ret; } function search_topics($keyword) { global $cfg; $query = sprintf("SELECT id,topic FROM topics WHERE " . "topic ILIKE '%%%s%%' ORDER BY topic", pg_escape_string($keyword)); if (($sth = db_query($query)) === false) return array(); if (pg_NumRows($sth) == 0) return array(); $ret = array(); for ($i=0; $i < pg_NumRows($sth); $i++) { $row = pg_fetch_array($sth, $i); $ret[] = sprintf('Diskussion %s', $cfg['basepath'], $row['id'], $row['topic']); } return $ret; } function process_search() { global $_POST; global $zlist; if (!strlen($_POST['keyword'])) $ret = warning('Sie haben keinen Suchbegriff angegeben!'); else { $results = array_merge(search_zeitungen($_POST['keyword']), search_tags($_POST['keyword']), search_topics($_POST['keyword'])); if (count($results)) { $ret = ''; } else { $zlist['keyword'] = htmlspecialchars($_POST['keyword']); $ret = information(sprintf('Keine Treffer für "%s" gefunden.', $zlist['keyword'])); } } return $ret; } function ajax_search_check() { global $_POST; $keyword = $_POST['keyword']; $query = sprintf("SELECT count(*) FROM zeitungen WHERE deleted IS false AND " . "( name ILIKE '%%%s%%' OR url ILIKE '%%%s%%' " . "OR city ILIKE '%%%s%%' OR description ILIKE '%%%s%%') ", pg_escape_string($keyword), pg_escape_string($keyword), pg_escape_string($keyword), pg_escape_string($keyword)); if (($sth = db_query($query)) !== false) { $row = pg_fetch_array($sth, 0); if ($row[0] > 0) return true; } $query = sprintf("SELECT count(*) FROM tags WHERE " . "tagname ILIKE '%%%s%%' ", pg_escape_string($keyword)); if (($sth = db_query($query)) !== false) { $row = pg_fetch_array($sth, 0); if ($row[0] > 0) return true; } $query = sprintf("SELECT count(*) FROM topics WHERE " . "topic ILIKE '%%%s%%'", pg_escape_string($keyword)); if (($sth = db_query($query)) !== false) { $row = pg_fetch_array($sth, 0); if ($row[0] > 0) return true; } return false; } ?>