aboutsummaryrefslogtreecommitdiffstats
path: root/admin/configuration.php
diff options
context:
space:
mode:
authormistic100 <mistic@piwigo.org>2012-02-06 20:22:13 +0000
committermistic100 <mistic@piwigo.org>2012-02-06 20:22:13 +0000
commit1411c5bf52b6122a2b9e01984a9e4ca97bf0fba9 (patch)
treef31e7a50198ca92dec32374608ba2e9ac6493f48 /admin/configuration.php
parentb5c0e17822cc58f7052c92ecc34ba054c6aeff44 (diff)
merge r12872 from trunk
bug:2540 When default photos order is only by rank, failure outside albums git-svn-id: http://piwigo.org/svn/branches/2.3@13037 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'admin/configuration.php')
-rw-r--r--admin/configuration.php14
1 files changed, 12 insertions, 2 deletions
diff --git a/admin/configuration.php b/admin/configuration.php
index 53916199f..8488aa489 100644
--- a/admin/configuration.php
+++ b/admin/configuration.php
@@ -134,15 +134,18 @@ if (isset($_POST['submit']))
{
$order_by = array();
$order_by_inside_category = array();
+
for ($i=0; $i<count($_POST['order_by_field']); $i++)
{
- if ($i>5) continue;
- if ($_POST['order_by_field'][$i] == '')
+ if ( $i >= (count($sort_fields)-1) ) break; // limit to the number of available parameters
+ if ( empty($_POST['order_by_field'][$i]) )
{
array_push($page['errors'], l10n('No field selected'));
+ break;
}
else
{
+ // there is no rank outside categories
if ($_POST['order_by_field'][$i] != 'rank')
{
$order_by[] = $_POST['order_by_field'][$i].' '.$_POST['order_by_direction'][$i];
@@ -150,8 +153,15 @@ if (isset($_POST['submit']))
$order_by_inside_category[] = $_POST['order_by_field'][$i].' '.$_POST['order_by_direction'][$i];
}
}
+ // must define a default order_by if user want to order by rank only
+ if ( count($order_by) == 0 )
+ {
+ $order_by = array('id ASC');
+ }
+
$_POST['order_by'] = 'ORDER BY '.implode(', ', $order_by);
$_POST['order_by_inside_category'] = 'ORDER BY '.implode(', ', $order_by_inside_category);
+ unset($_POST['order_by_field']);
}
}