add config option for default order
This commit is contained in:
parent
2c2f27ca64
commit
152f5fbf26
@ -115,7 +115,7 @@ class Image {
|
|||||||
assert(is_numeric($start));
|
assert(is_numeric($start));
|
||||||
assert(is_numeric($limit));
|
assert(is_numeric($limit));
|
||||||
assert(is_array($tags));
|
assert(is_array($tags));
|
||||||
global $database, $user, $order_sql;
|
global $database, $user, $config, $order_sql;
|
||||||
|
|
||||||
$images = array();
|
$images = array();
|
||||||
|
|
||||||
@ -129,7 +129,7 @@ class Image {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$querylet = Image::build_search_querylet($tags);
|
$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)));
|
$querylet->append(new Querylet(" LIMIT :limit OFFSET :offset", array("limit"=>$limit, "offset"=>$start)));
|
||||||
#var_dump($querylet->sql); var_dump($querylet->variables);
|
#var_dump($querylet->sql); var_dump($querylet->variables);
|
||||||
$result = $database->execute($querylet->sql, $querylet->variables);
|
$result = $database->execute($querylet->sql, $querylet->variables);
|
||||||
|
@ -176,6 +176,7 @@ class Index extends Extension {
|
|||||||
global $config;
|
global $config;
|
||||||
$config->set_default_int("index_images", 24);
|
$config->set_default_int("index_images", 24);
|
||||||
$config->set_default_bool("index_tips", true);
|
$config->set_default_bool("index_tips", true);
|
||||||
|
$config->set_default_string("index_order", "id DESC");
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onPageRequest(PageRequestEvent $event) {
|
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)){
|
else if(preg_match("/^order[=|:](id|width|height|filesize|filename)[_]?(desc|asc)?$/i", $event->term, $matches)){
|
||||||
global $order_sql;
|
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");
|
$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
|
$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++;
|
$this->stpen++;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user