From 152f5fbf26791c142eedc9bedb5d7ac0505b378d Mon Sep 17 00:00:00 2001 From: Daku Date: Fri, 3 Jan 2014 08:24:47 +0000 Subject: [PATCH] add config option for default order --- core/imageboard.pack.php | 4 ++-- ext/index/main.php | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/core/imageboard.pack.php b/core/imageboard.pack.php index ac4d0ea5..0bf145e9 100644 --- a/core/imageboard.pack.php +++ b/core/imageboard.pack.php @@ -115,7 +115,7 @@ class Image { assert(is_numeric($start)); assert(is_numeric($limit)); assert(is_array($tags)); - global $database, $user, $order_sql; + global $database, $user, $config, $order_sql; $images = array(); @@ -129,7 +129,7 @@ class Image { } $querylet = Image::build_search_querylet($tags); - $querylet->append(new Querylet($order_sql ?: " ORDER BY images.id DESC")); + $querylet->append(new Querylet(" ORDER BY images.".($order_sql ?: $config->get_string("index_order")))); $querylet->append(new Querylet(" LIMIT :limit OFFSET :offset", array("limit"=>$limit, "offset"=>$start))); #var_dump($querylet->sql); var_dump($querylet->variables); $result = $database->execute($querylet->sql, $querylet->variables); diff --git a/ext/index/main.php b/ext/index/main.php index b2df34f0..1831ec68 100644 --- a/ext/index/main.php +++ b/ext/index/main.php @@ -176,6 +176,7 @@ class Index extends Extension { global $config; $config->set_default_int("index_images", 24); $config->set_default_bool("index_tips", true); + $config->set_default_string("index_order", "id DESC"); } public function onPageRequest(PageRequestEvent $event) { @@ -327,11 +328,10 @@ class Index extends Extension { } else if(preg_match("/^order[=|:](id|width|height|filesize|filename)[_]?(desc|asc)?$/i", $event->term, $matches)){ global $order_sql; - $order = strtolower($matches[1]); + $ord = strtolower($matches[1]); $sort = isset($matches[2]) ? strtoupper($matches[2]) : (preg_match("/^(id|filename)$/", $matches[1]) ? "ASC" : "DESC"); - // $event->add_querylet(new Querylet("ORDER BY images.:order :sort", array("order" => $order, "sort" => $sort))); + $order_sql = "$ord $sort"; $event->add_querylet(new Querylet("1=1")); //small hack to avoid metatag being treated as normal tag - $order_sql = " ORDER BY images.$order $sort"; } $this->stpen++;