From 7a9cdeb3b2be5a77ad60b71b84b3174fe57e2bc0 Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Fri, 6 Mar 2020 12:35:07 +0100
Subject: [PATCH] FIX #13207 TIME 0:30 M2M action notification review was
 incorrect

---
 modules/export_seda/AdapterMaarchCourrier.php         |  2 +-
 modules/export_seda/AdapterMaarchRM.php               | 11 +++++++++--
 modules/export_seda/Controllers/AdapterEmail.php      |  2 +-
 modules/export_seda/Controllers/AdapterWS.php         |  8 +++-----
 modules/export_seda/RequestSeda.php                   |  8 ++++----
 modules/export_seda/Transfer.php                      |  6 +++---
 .../exportSeda/controllers/AdapterEmailController.php |  2 +-
 .../controllers/AdapterMaarchCourrierController.php   |  2 +-
 .../exportSeda/controllers/AdapterWSController.php    |  7 +++----
 .../exportSeda/controllers/TransferController.php     |  6 +++---
 .../models/MessageExchangeModelAbstract.php           |  6 +++---
 11 files changed, 32 insertions(+), 28 deletions(-)

diff --git a/modules/export_seda/AdapterMaarchCourrier.php b/modules/export_seda/AdapterMaarchCourrier.php
index 87690f6cd11..33e9300a24d 100755
--- a/modules/export_seda/AdapterMaarchCourrier.php
+++ b/modules/export_seda/AdapterMaarchCourrier.php
@@ -14,7 +14,7 @@ class AdapterMaarchCourrier
     {
         $res = []; // [0] = url, [1] = header, [2] = cookie, [3] = data
 
-        $message = $this->db->getMessageByReference($messageId);
+        $message = $this->db->getMessageByIdentifier($messageId);
 
         $messageObject = json_decode($message->data);
 
diff --git a/modules/export_seda/AdapterMaarchRM.php b/modules/export_seda/AdapterMaarchRM.php
index 7d263b8c171..4eb62525942 100755
--- a/modules/export_seda/AdapterMaarchRM.php
+++ b/modules/export_seda/AdapterMaarchRM.php
@@ -1,10 +1,14 @@
 <?php
 
+require_once __DIR__. DIRECTORY_SEPARATOR. 'RequestSeda.php';
+
 class AdapterMaarchRM{
     private $xml;
+    private $db;
 
     public function __construct()
     {
+        $this->db = new RequestSeda();
         $getXml = false;
         $path = '';
         if (file_exists(
@@ -19,7 +23,7 @@ class AdapterMaarchRM{
                 . DIRECTORY_SEPARATOR . 'export_seda'. DIRECTORY_SEPARATOR . 'xml'
                 . DIRECTORY_SEPARATOR . 'config.xml';
             $getXml = true;
-        } else if (file_exists($_SESSION['config']['corepath'] . 'modules' . DIRECTORY_SEPARATOR . 'export_seda'.  DIRECTORY_SEPARATOR . 'xml' . DIRECTORY_SEPARATOR . 'config.xml')) {
+        } elseif (file_exists($_SESSION['config']['corepath'] . 'modules' . DIRECTORY_SEPARATOR . 'export_seda'.  DIRECTORY_SEPARATOR . 'xml' . DIRECTORY_SEPARATOR . 'config.xml')) {
             $path = $_SESSION['config']['corepath'] . 'modules' . DIRECTORY_SEPARATOR . 'export_seda'
                 . DIRECTORY_SEPARATOR . 'xml' . DIRECTORY_SEPARATOR . 'config.xml';
             $getXml = true;
@@ -30,7 +34,10 @@ class AdapterMaarchRM{
         }
     }
 
-    public function getInformations($reference) {
+    public function getInformations($messageId)
+    {
+        $message = $this->db->getMessageByIdentifier($messageId);
+        $reference = $message->reference;
         $res = []; // [0] = url, [1] = header, [2] = cookie, [3] = data
 
         $res[0] =  (string) $this->xml->CONFIG->urlSAEService. "/medona/Archivetransfer";
diff --git a/modules/export_seda/Controllers/AdapterEmail.php b/modules/export_seda/Controllers/AdapterEmail.php
index 24482f1be54..03fc70d835a 100755
--- a/modules/export_seda/Controllers/AdapterEmail.php
+++ b/modules/export_seda/Controllers/AdapterEmail.php
@@ -44,7 +44,7 @@ class AdapterEmail
                 ]
             ]);
 
-            $this->db->updateStatusMessage($messageObject->MessageIdentifier->value, 'I');
+            $this->db->updateStatusMessage($messageId, 'I');
         }
 
         return $res;
diff --git a/modules/export_seda/Controllers/AdapterWS.php b/modules/export_seda/Controllers/AdapterWS.php
index 287c98df3c3..b5f2203d090 100755
--- a/modules/export_seda/Controllers/AdapterWS.php
+++ b/modules/export_seda/Controllers/AdapterWS.php
@@ -14,15 +14,13 @@ class AdapterWS
     public function send($messageObject, $messageId, $type)
     {
         $transfer = new Transfer();
-
-        $message = $this->db->getMessageByIdentifier($messageId);
-        $res = $transfer->transfer('maarchcourrier', $message->reference, $type);
+        $res = $transfer->transfer('maarchcourrier', $messageId, $type);
 
         if ($res['status'] == 1) {
-            $this->db->updateStatusMessage($message->reference, 'E');
+            $this->db->updateStatusMessage($messageId, 'E');
             return $res;
         }
 
-        $this->db->updateStatusMessage($message->reference, 'S');
+        $this->db->updateStatusMessage($messageId, 'S');
     }
 }
diff --git a/modules/export_seda/RequestSeda.php b/modules/export_seda/RequestSeda.php
index 5f371a41365..1b075d1925d 100755
--- a/modules/export_seda/RequestSeda.php
+++ b/modules/export_seda/RequestSeda.php
@@ -197,7 +197,7 @@ class RequestSeda
 
         $this->statement['getUnitIdentifierByResId']->execute($queryParams);
 
-        $unitIdentifier = $res = $this->statement['getUnitIdentifierByResId']->fetchObject();
+        $unitIdentifier = $this->statement['getUnitIdentifierByResId']->fetchObject();
 
         return $unitIdentifier;
     }
@@ -802,14 +802,14 @@ class RequestSeda
         return true;
     }
 
-    public function updateStatusMessage($reference, $status)
+    public function updateStatusMessage($messageId, $status)
     {
         $queryParams = [];
         $queryParams[] = $status;
-        $queryParams[] = $reference;
+        $queryParams[] = $messageId;
 
         try {
-            $query = "UPDATE message_exchange SET status = ? WHERE reference = ?";
+            $query = "UPDATE message_exchange SET status = ? WHERE message_id = ?";
 
             $smtp = $this->db->query($query, $queryParams);
         } catch (Exception $e) {
diff --git a/modules/export_seda/Transfer.php b/modules/export_seda/Transfer.php
index 059bc96b50e..6bd7815968f 100755
--- a/modules/export_seda/Transfer.php
+++ b/modules/export_seda/Transfer.php
@@ -30,7 +30,7 @@ class Transfer
         }
     }
 
-    public function transfer($target, $reference, $type = null)
+    public function transfer($target, $messageId, $type = null)
     {
         $adapter = '';
         $res['status'] = 0;
@@ -48,9 +48,9 @@ class Transfer
 
         // [0] = url, [1] = header, [2] = cookie, [3] = data
         if ($type) {
-            $param = $adapter->getInformations($reference, $type);
+            $param = $adapter->getInformations($messageId, $type);
         } else {
-            $param = $adapter->getInformations($reference);
+            $param = $adapter->getInformations($messageId);
         }
 
         try {
diff --git a/src/app/external/exportSeda/controllers/AdapterEmailController.php b/src/app/external/exportSeda/controllers/AdapterEmailController.php
index 7c6c0090895..fae12601acc 100755
--- a/src/app/external/exportSeda/controllers/AdapterEmailController.php
+++ b/src/app/external/exportSeda/controllers/AdapterEmailController.php
@@ -55,7 +55,7 @@ class AdapterEmailController
                 ]
             ]);
 
-            MessageExchangeModel::updateStatusMessage(['reference' => $messageObject->MessageIdentifier->value, 'status' => 'I']);
+            MessageExchangeModel::updateStatusMessage(['messageId' => $messageId, 'status' => 'I']);
         }
 
         return $res;
diff --git a/src/app/external/exportSeda/controllers/AdapterMaarchCourrierController.php b/src/app/external/exportSeda/controllers/AdapterMaarchCourrierController.php
index 31f94e6af36..4444a3dbc0b 100755
--- a/src/app/external/exportSeda/controllers/AdapterMaarchCourrierController.php
+++ b/src/app/external/exportSeda/controllers/AdapterMaarchCourrierController.php
@@ -25,7 +25,7 @@ class AdapterMaarchCourrierController
     {
         $res = []; // [0] = url, [1] = header, [2] = cookie, [3] = data
 
-        $message = MessageExchangeModel::getMessageByReference(['reference' => $messageId]);
+        $message = MessageExchangeModel::getMessageByIdentifier(['messageId' => $messageId]);
         $messageObject = json_decode($message['data']);
 
         $docserver     = DocserverModel::getByDocserverId(['docserverId' => $message['docserver_id']]);
diff --git a/src/app/external/exportSeda/controllers/AdapterWSController.php b/src/app/external/exportSeda/controllers/AdapterWSController.php
index c9824b59961..cd0e07762a5 100755
--- a/src/app/external/exportSeda/controllers/AdapterWSController.php
+++ b/src/app/external/exportSeda/controllers/AdapterWSController.php
@@ -20,14 +20,13 @@ class AdapterWSController
 {
     public function send($messageObject, $messageId, $type)
     {
-        $message = MessageExchangeModel::getMessageByIdentifier(['messageId' => $messageId]);
-        $res     = TransferController::transfer('maarchcourrier', $message['reference'], $type);
+        $res     = TransferController::transfer('maarchcourrier', $messageId, $type);
 
         if ($res['status'] == 1) {
-            MessageExchangeModel::updateStatusMessage(['reference' => $message['reference'], 'status' => 'E']);
+            MessageExchangeModel::updateStatusMessage(['messageId' => $messageId, 'status' => 'E']);
             return $res;
         }
 
-        MessageExchangeModel::updateStatusMessage(['reference' => $message['reference'], 'status' => 'S']);
+        MessageExchangeModel::updateStatusMessage(['messageId' => $messageId, 'status' => 'S']);
     }
 }
diff --git a/src/app/external/exportSeda/controllers/TransferController.php b/src/app/external/exportSeda/controllers/TransferController.php
index 8c28bf9ea49..6d45bc7f8aa 100755
--- a/src/app/external/exportSeda/controllers/TransferController.php
+++ b/src/app/external/exportSeda/controllers/TransferController.php
@@ -18,7 +18,7 @@ use SrcCore\models\CoreConfigModel;
 
 class TransferController
 {
-    public static function transfer($target, $reference, $type = null)
+    public static function transfer($target, $messageId, $type = null)
     {
         $xml            = CoreConfigModel::getXmlLoaded(['path' => 'modules/export_seda/xml/config.xml']);
         $adapter        = '';
@@ -37,9 +37,9 @@ class TransferController
 
         // [0] = url, [1] = header, [2] = cookie, [3] = data
         if ($type) {
-            $param = $adapter->getInformations($reference, $type);
+            $param = $adapter->getInformations($messageId, $type);
         } else {
-            $param = $adapter->getInformations($reference);
+            $param = $adapter->getInformations($messageId);
         }
 
         try {
diff --git a/src/app/external/messageExchange/models/MessageExchangeModelAbstract.php b/src/app/external/messageExchange/models/MessageExchangeModelAbstract.php
index cbe3569a82f..0a2f03d4052 100755
--- a/src/app/external/messageExchange/models/MessageExchangeModelAbstract.php
+++ b/src/app/external/messageExchange/models/MessageExchangeModelAbstract.php
@@ -83,15 +83,15 @@ abstract class MessageExchangeModelAbstract
 
     public static function updateStatusMessage(array $aArgs)
     {
-        ValidatorModel::notEmpty($aArgs, ['status','reference']);
+        ValidatorModel::notEmpty($aArgs, ['status','messageId']);
 
         DatabaseModel::update([
             'table'     => 'message_exchange',
             'set'       => [
                 'status'     => $aArgs['status']
             ],
-            'where'     => ['reference = ?'],
-            'data'      => [$aArgs['reference']]
+            'where'     => ['message_id = ?'],
+            'data'      => [$aArgs['messageId']]
         ]);
 
         return true;
-- 
GitLab