From 9fe001a70af701c0597a16c1411ee1a7fef89d33 Mon Sep 17 00:00:00 2001 From: rvelices Date: Sun, 30 Jun 2013 04:16:01 +0000 Subject: bug 2931: photos sort order, "default" is meaningless (was not working with ascending order fields in admin) git-svn-id: http://piwigo.org/svn/trunk@23675 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/configuration.php | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) (limited to 'admin/configuration.php') diff --git a/admin/configuration.php b/admin/configuration.php index 63bc29f3c..99c0b9666 100644 --- a/admin/configuration.php +++ b/admin/configuration.php @@ -112,21 +112,21 @@ $display_info_checkboxes = array( // image order management $sort_fields = array( '' => '', - 'file ASC' => l10n('File name, A → Z'), + 'file' => l10n('File name, A → Z'), 'file DESC' => l10n('File name, Z → A'), - 'name ASC' => l10n('Photo title, A → Z'), + 'name' => l10n('Photo title, A → Z'), 'name DESC' => l10n('Photo title, Z → A'), 'date_creation DESC' => l10n('Date created, new → old'), - 'date_creation ASC' => l10n('Date created, old → new'), + 'date_creation' => l10n('Date created, old → new'), 'date_available DESC' => l10n('Date posted, new → old'), - 'date_available ASC' => l10n('Date posted, old → new'), + 'date_available' => l10n('Date posted, old → new'), 'rating_score DESC' => l10n('Rating score, high → low'), - 'rating_score ASC' => l10n('Rating score, low → high'), + 'rating_score' => l10n('Rating score, low → high'), 'hit DESC' => l10n('Visits, high → low'), - 'hit ASC' => l10n('Visits, low → high'), - 'id ASC' => l10n('Numeric identifier, 1 → 9'), + 'hit' => l10n('Visits, low → high'), + 'id' => l10n('Numeric identifier, 1 → 9'), 'id DESC' => l10n('Numeric identifier, 9 → 1'), - 'rank ASC' => l10n('Manual sort order'), + 'rank' => l10n('Manual sort order'), ); $comments_order = array( @@ -162,7 +162,7 @@ if (isset($_POST['submit'])) $order_by = $order_by_inside_category = array_slice($_POST['order_by'], 0, ceil(count($sort_fields)/2)); // there is no rank outside categories - if ( ($i = array_search('rank ASC', $order_by)) !== false) + if ( ($i = array_search('rank', $order_by)) !== false) { unset($order_by[$i]); } @@ -170,11 +170,11 @@ if (isset($_POST['submit'])) // must define a default order_by if user want to order by rank only if ( count($order_by) == 0 ) { - $order_by = array('id ASC'); + $order_by = array('id'); } - $_POST['order_by'] = 'ORDER BY '.implode(', ', $order_by); - $_POST['order_by_inside_category'] = 'ORDER BY '.implode(', ', $order_by_inside_category); + $_POST['order_by'] = 'ORDER BY '.implode(',', $order_by); + $_POST['order_by_inside_category'] = 'ORDER BY '.implode(',', $order_by_inside_category); } } else @@ -334,10 +334,18 @@ switch ($page['section']) } else { - $out = array(); $order_by = trim($conf['order_by_inside_category']); $order_by = str_replace('ORDER BY ', null, $order_by); - $order_by = explode(', ', $order_by); + $order_by = explode(',', $order_by); + foreach($order_by as &$order) + { + $order = trim($order); + if (substr_compare($order, ' ASC', -4)==0) + { + $order = substr($order, 0, -4); + } + } + unset($order); } $template->assign( -- cgit v1.2.3