From ddcd270a000500434adcf264fb0896b476b6d8af Mon Sep 17 00:00:00 2001
From: Damien <damien.burel@maarch.org>
Date: Tue, 30 Apr 2019 16:00:54 +0200
Subject: [PATCH] FEAT #8958 TIME 0:30 Migrate remoteSignatoryBooks.xml

---
 migration/19.04/migrate.sh                    |  1 +
 .../19.04/refactorRemoteSignatoryBooks.php    | 46 +++++++++++++++++++
 2 files changed, 47 insertions(+)
 create mode 100644 migration/19.04/refactorRemoteSignatoryBooks.php

diff --git a/migration/19.04/migrate.sh b/migration/19.04/migrate.sh
index 7afeb536cd7..427f37a3ac1 100755
--- a/migration/19.04/migrate.sh
+++ b/migration/19.04/migrate.sh
@@ -5,3 +5,4 @@ php ./migrateExport.php
 php ./migrateFeature.php
 php ./migrateNewNature.php
 php ./refactorPriorities.php
+php ./refactorRemoteSignatoryBooks.php
diff --git a/migration/19.04/refactorRemoteSignatoryBooks.php b/migration/19.04/refactorRemoteSignatoryBooks.php
new file mode 100644
index 00000000000..be684c1fb1c
--- /dev/null
+++ b/migration/19.04/refactorRemoteSignatoryBooks.php
@@ -0,0 +1,46 @@
+<?php
+
+chdir('../..');
+
+$migrated = 0;
+$nonReadableFiles = [];
+$customs =  scandir('custom');
+
+foreach ($customs as $custom) {
+    if ($custom == 'custom.xml' || $custom == '.' || $custom == '..') {
+        continue;
+    }
+
+    $priorities = [];
+    $path = "custom/{$custom}/modules/visa/xml/remoteSignatoryBooks.xml";
+    if (file_exists($path)) {
+        if (!is_readable($path) || !is_writable($path)) {
+            $nonReadableFiles[] = $path;
+            continue;
+        }
+        $loadedXml = simplexml_load_file($path);
+        if ($loadedXml) {
+            $newSignatoryBook = $loadedXml->addChild('signatoryBook');
+            $newSignatoryBook->addChild('id', 'maarchParapheur');
+            $newSignatoryBook->addChild('userId', ' ');
+            $newSignatoryBook->addChild('password', ' ');
+            $newSignatoryBook->addChild('url', ' ');
+            $newSignatoryBook->addChild('signature', 'SIGN');
+            $newSignatoryBook->addChild('annotation', 'NOTE');
+            $newSignatoryBook->addChild('externalValidated', 'VAL');
+            $newSignatoryBook->addChild('externalRefused', 'REF');
+
+            $res = $loadedXml->asXML();
+            $fp = fopen($path, "w+");
+            if ($fp) {
+                fwrite($fp, $res);
+            }
+            ++$migrated;
+        }
+    }
+}
+
+foreach ($nonReadableFiles as $file) {
+    printf("The file %s it is not readable or not writable.\n", $file);
+}
+printf($migrated . " custom(s) avec un fichier remoteSignatoryBooks.xml trouvé(s) et refactoré(s).\n");
-- 
GitLab