From 465986d06cff9380c5bf6c0dbe4eadde7e1cc4b7 Mon Sep 17 00:00:00 2001 From: ctrlcctrlv Date: Sat, 19 Apr 2014 23:02:42 +0200 Subject: [PATCH] use all boards for search.php if boards are not specified --- inc/functions.php | 22 ++++++++++++++++------ search.php | 6 +++++- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/inc/functions.php b/inc/functions.php index 1393f580..cb198e6c 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -612,17 +612,27 @@ function hasPermission($action = null, $board = null, $_mod = null) { return true; } -function listBoards() { +function listBoards($just_uri = false) { global $config; - if ($config['cache']['enabled'] && ($boards = cache::get('all_boards'))) - return $boards; + $just_uri ? $cache_name = 'all_boards_uri' : $cache_name = 'all_boards'; - $query = query("SELECT * FROM ``boards`` ORDER BY `uri`") or error(db_error()); - $boards = $query->fetchAll(); + if ($config['cache']['enabled'] && ($boards = cache::get($cache_name))) + return $boards; + if (!$just_uri) { + $query = query("SELECT ``boards``.`uri` uri, ``boards``.`title` title, ``boards``.`subtitle` subtitle, ``board_create``.`time` time FROM ``boards`` LEFT JOIN ``board_create`` ON ``boards``.`uri` = ``board_create``.`uri` ORDER BY ``boards``.`uri`") or error(db_error()); + $boards = $query->fetchAll(); + } else { + $boards = array(); + $query = query("SELECT `uri` FROM ``boards``") or error(db_error()); + while ($board = $query->fetchColumn()) { + $boards[] = $board; + } + } + if ($config['cache']['enabled']) - cache::set('all_boards', $boards); + cache::set($cache_name, $boards); return $boards; } diff --git a/search.php b/search.php index beb8743d..394aa3ff 100644 --- a/search.php +++ b/search.php @@ -9,7 +9,11 @@ $queries_per_minutes_all = $config['search']['queries_per_minutes_all']; $search_limit = $config['search']['search_limit']; - $boards = $config['search']['boards']; + if (isset($config['search']['boards'])) { + $boards = $config['search']['boards']; + } else { + $boards = listBoards(TRUE); + } $body = Element('search_form.html', Array('boards' => $boards, 'board' => isset($_GET['board']) ? $_GET['board'] : false, 'search' => isset($_GET['search']) ? str_replace('"', '"', utf8tohtml($_GET['search'])) : false));