use all boards for search.php if boards are not specified

This commit is contained in:
ctrlcctrlv 2014-04-19 23:02:42 +02:00 committed by czaks
parent 7eb2bef107
commit 465986d06c
2 changed files with 21 additions and 7 deletions

View File

@ -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')))
$just_uri ? $cache_name = 'all_boards_uri' : $cache_name = 'all_boards';
if ($config['cache']['enabled'] && ($boards = cache::get($cache_name)))
return $boards;
$query = query("SELECT * FROM ``boards`` ORDER BY `uri`") or error(db_error());
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;
}

View File

@ -9,7 +9,11 @@
$queries_per_minutes_all = $config['search']['queries_per_minutes_all'];
$search_limit = $config['search']['search_limit'];
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));