From 00dfd719b08424ef7238f4df753ad62f1e917c6d Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Tue, 2 Jul 2019 17:30:00 +0100
Subject: [PATCH] FIX #10771 TIME 0:30 check broken link in action send to
 Maarch Parapheur

---
 .../controllers/ListTemplateController.php    | 29 +++++++++++++++++--
 1 file changed, 26 insertions(+), 3 deletions(-)

diff --git a/src/app/entity/controllers/ListTemplateController.php b/src/app/entity/controllers/ListTemplateController.php
index 7d4da5d2eb7..45daeb02a86 100755
--- a/src/app/entity/controllers/ListTemplateController.php
+++ b/src/app/entity/controllers/ListTemplateController.php
@@ -14,16 +14,17 @@
 
 namespace Entity\controllers;
 
-use Group\models\ServiceModel;
-use SrcCore\models\CoreConfigModel;
-use SrcCore\models\ValidatorModel;
 use Entity\models\EntityModel;
 use Entity\models\ListTemplateModel;
+use Group\models\ServiceModel;
 use History\controllers\HistoryController;
 use Respect\Validation\Validator;
 use Slim\Http\Request;
 use Slim\Http\Response;
+use SrcCore\models\CoreConfigModel;
+use SrcCore\models\CurlModel;
 use SrcCore\models\DatabaseModel;
+use SrcCore\models\ValidatorModel;
 use User\models\UserModel;
 
 class ListTemplateController
@@ -277,6 +278,28 @@ class ListTemplateController
 
                 $userInfos = UserModel::getByLowerLogin(['login' => $value['item_id'], 'select' => ['external_id']]);
                 $listTemplates[$key]['externalId'] = json_decode($userInfos['external_id'], true);
+                if (!empty($listTemplates[$key]['externalId']['maarchParapheur'])) {
+                    $loadedXml = CoreConfigModel::getXmlLoaded(['path' => 'modules/visa/xml/remoteSignatoryBooks.xml']);
+                    if ($loadedXml->signatoryBookEnabled == 'maarchParapheur') {
+                        foreach ($loadedXml->signatoryBook as $value) {
+                            if ($value->id == "maarchParapheur") {
+                                $url      = $value->url;
+                                $userId   = $value->userId;
+                                $password = $value->password;
+                                break;
+                            }
+                        }
+                        $curlResponse = CurlModel::execSimple([
+                            'url'           => rtrim($url, '/') . '/rest/users/'.$listTemplates[$key]['externalId']['maarchParapheur'],
+                            'basicAuth'     => ['user' => $userId, 'password' => $password],
+                            'headers'       => ['content-type:application/json'],
+                            'method'        => 'GET'
+                        ]);
+                        if (empty($curlResponse['response']['user'])) {
+                            unset($listTemplates[$key]['externalId']['maarchParapheur']);
+                        }
+                    }
+                }
             }
         }
 
-- 
GitLab