From 7ef753ddf6f806b15e1886693f03f72afc8b30b5 Mon Sep 17 00:00:00 2001
From: "kevin.dezaphi" <kevin.dezaphi@maarch.org>
Date: Fri, 28 Sep 2018 17:59:52 +0200
Subject: [PATCH] FEAT #8406 fix alt_identifier with order

---
 .../maarch_entreprise/documents_list_copies.php | 17 ++++++++++++++---
 .../documents_list_with_attachments.php         | 17 ++++++++++++++---
 modules/visa/documents_list_with_signatory.php  | 17 ++++++++++++++---
 3 files changed, 42 insertions(+), 9 deletions(-)

diff --git a/apps/maarch_entreprise/documents_list_copies.php b/apps/maarch_entreprise/documents_list_copies.php
index 775c7507207..de81f18fcc4 100755
--- a/apps/maarch_entreprise/documents_list_copies.php
+++ b/apps/maarch_entreprise/documents_list_copies.php
@@ -154,10 +154,21 @@ if (!empty($order_field) && !empty($order)) {
             $list->setOrder();
             $list->setOrderField($arr_order[0]);
         }
-        if ($_SESSION['current_basket']['basket_res_order'] == 'alt_identifier') {
-            $orderstr = 'order by order_alphanum(alt_identifier)'.' desc';
+        $basket_res_order = explode(' ', $_SESSION['current_basket']['basket_res_order']);
+        if ($basket_res_order[0] == 'alt_identifier') {
+            $orderstr = 'order by order_alphanum(alt_identifier)';
+            if (empty($basket_res_order[1])) {
+                $orderstr .= 'desc';
+            } else {
+                $orderstr .= $basket_res_order[1];
+            }
         } else {
-            $orderstr = 'order by '.$_SESSION['current_basket']['basket_res_order'].' desc';
+            $orderstr = 'order by '.$_SESSION['current_basket']['basket_res_order'].' ';
+            if (empty($basket_res_order[1])) {
+                $orderstr .= 'desc';
+            } else {
+                $orderstr .= $basket_res_order[1];
+            }
         }
         $_SESSION['last_order_basket'] = $orderstr;
     } else {
diff --git a/apps/maarch_entreprise/documents_list_with_attachments.php b/apps/maarch_entreprise/documents_list_with_attachments.php
index c992f3db8a8..fe2a2a8dd2a 100755
--- a/apps/maarch_entreprise/documents_list_with_attachments.php
+++ b/apps/maarch_entreprise/documents_list_with_attachments.php
@@ -154,10 +154,21 @@ if (!empty($order_field) && !empty($order)) {
             $list->setOrder();
             $list->setOrderField($arr_order[0]);
         }
-        if ($_SESSION['current_basket']['basket_res_order'] == 'alt_identifier') {
-            $orderstr = 'order by order_alphanum(alt_identifier)';
+        $basket_res_order = explode(' ', $_SESSION['current_basket']['basket_res_order']);
+        if ($basket_res_order[0] == 'alt_identifier') {
+            $orderstr = 'order by order_alphanum(alt_identifier) ';
+            if (empty($basket_res_order[1])) {
+                $orderstr .= 'desc';
+            } else {
+                $orderstr .= $basket_res_order[1];
+            }
         } else {
-            $orderstr = 'order by '.$_SESSION['current_basket']['basket_res_order'];
+            $orderstr = 'order by '.$_SESSION['current_basket']['basket_res_order'].' ';
+            if (empty($basket_res_order[1])) {
+                $orderstr .= 'desc';
+            } else {
+                $orderstr .= $basket_res_order[1];
+            }
         }
         $_SESSION['last_order_basket'] = $orderstr;
     } else {
diff --git a/modules/visa/documents_list_with_signatory.php b/modules/visa/documents_list_with_signatory.php
index 7811ae0a39f..0d7d502944c 100755
--- a/modules/visa/documents_list_with_signatory.php
+++ b/modules/visa/documents_list_with_signatory.php
@@ -153,10 +153,21 @@ if (!empty($order_field) && !empty($order)) {
             $list->setOrder();
             $list->setOrderField($arr_order[0]);
         }
-        if ($_SESSION['current_basket']['basket_res_order'] == 'alt_identifier') {
-            $orderstr = 'order by order_alphanum(alt_identifier)'.' desc';
+        $basket_res_order = explode(' ', $_SESSION['current_basket']['basket_res_order']);
+        if ($basket_res_order[0] == 'alt_identifier') {
+            $orderstr = 'order by order_alphanum(alt_identifier) ';
+            if (empty($basket_res_order[1])) {
+                $orderstr .= 'desc';
+            } else {
+                $orderstr .= $basket_res_order[1];
+            }
         } else {
-            $orderstr = 'order by '.$_SESSION['current_basket']['basket_res_order'].' desc';
+            $orderstr = 'order by '.$_SESSION['current_basket']['basket_res_order'].' ';
+            if (empty($basket_res_order[1])) {
+                $orderstr .= 'desc';
+            } else {
+                $orderstr .= $basket_res_order[1];
+            }
         }
         $_SESSION['last_order_basket'] = $orderstr;
     } else {
-- 
GitLab