diff options
| author | czaks <marcin@6irc.net> | 2013-07-20 20:01:22 -0400 |
|---|---|---|
| committer | czaks <marcin@6irc.net> | 2013-07-20 20:01:22 -0400 |
| commit | 629d616de5275164349608827ad83e8013b4b7ed (patch) | |
| tree | 523c52bdacf35c5a859533829cb85f7851a4b90d /search.php | |
| parent | 472b5181652e5012588d3eafce740cde487788cf (diff) | |
post search: internationalize and use config values
Diffstat (limited to 'search.php')
| -rw-r--r-- | search.php | 31 |
1 files changed, 21 insertions, 10 deletions
@@ -1,11 +1,15 @@ <?php require 'inc/functions.php'; - $queries_per_minutes = Array(15, 2); - $queries_per_minutes_all = Array(50, 2); - $search_limit = 100; + if (!$config['search']['enable']) { + die(_("Post search is disabled")); + } + + $queries_per_minutes = $config['search']['queries_per_minutes']; + $queries_per_minutes_all = $config['search']['queries_per_minutes_all']; + $search_limit = $config['search']['search_limit']; - $boards = Array('new', 'r9k', 'v', 'edu', 'azn', 'h', 'meta'); + $boards = $config['search']['boards']; $body = Element('search_form.html', Array('boards' => $boards, 'board' => isset($_POST['board']) ? $_POST['board'] : false, 'search' => isset($_POST['search']) ? str_replace('"', '"', utf8tohtml($_POST['search'])) : false)); @@ -18,13 +22,13 @@ $query->bindValue(':time', time() - ($queries_per_minutes[1] * 60)); $query->execute() or error(db_error($query)); if($query->fetchColumn() > $queries_per_minutes[0]) - error('Wait a while before searching again, please.'); + error(_('Wait a while before searching again, please.')); $query = prepare("SELECT COUNT(*) FROM `search_queries` WHERE `time` > :time"); $query->bindValue(':time', time() - ($queries_per_minutes_all[1] * 60)); $query->execute() or error(db_error($query)); if($query->fetchColumn() > $queries_per_minutes_all[0]) - error('Wait a while before searching again, please.'); + error(_('Wait a while before searching again, please.')); $query = prepare("INSERT INTO `search_queries` VALUES (:ip, :time, :query)"); @@ -34,6 +38,11 @@ $query->execute() or error(db_error($query)); _syslog(LOG_NOTICE, 'Searched /' . $_POST['board'] . '/ for "' . $phrase . '"'); + + // Cleanup search queries table + $query = prepare("DELETE FROM `search_queries` WHERE `time` <= :time"); + $query->bindValue(':time', time() - ($queries_per_minutes_all[1] * 60)); + $query->execute() or error(db_error($query)); openBoard($_POST['board']); @@ -44,7 +53,7 @@ $name = $m[2]; $value = isset($m[4]) ? $m[4] : $m[3]; - if(!in_array($name, Array('id', 'thread', 'subject', 'name'))) { + if(!in_array($name, array('id', 'thread', 'subject', 'name'))) { // unknown filter return $m[0]; } @@ -116,7 +125,7 @@ if($query->rowCount() == $search_limit) { _syslog(LOG_WARNING, 'Query too broad.'); - $body .= '<p class="unimportant" style="text-align:center">(Query too broad.)</p>'; + $body .= '<p class="unimportant" style="text-align:center">('._('Query too broad.').')</p>'; echo Element('page.html', Array( 'config'=>$config, 'title'=>'Search', @@ -136,7 +145,9 @@ } if(!empty($temp)) - $_body .= '<fieldset><legend>' . $query->rowCount() . ' result' . ($query->rowCount() != 1 ? 's' : '') . ' in <a href="/' . + $_body .= '<fieldset><legend>' . $query->rowCount() . + sprintf(ngettext('%d result in', '%d results in', $query->rowCount()), + $query->rowCount) . ' <a href="/' . sprintf($config['board_path'], $board['uri']) . $config['file_index'] . '">' . sprintf($config['board_abbreviation'], $board['uri']) . ' - ' . $board['title'] . @@ -146,7 +157,7 @@ if(!empty($_body)) $body .= $_body; else - $body .= '<p style="text-align:center" class="unimportant">(No results.)</p>'; + $body .= '<p style="text-align:center" class="unimportant">('._('No results.').')</p>'; } echo Element('page.html', Array( |
