From 72b00c63cdf7d534cff72048a858af9fef27e63e Mon Sep 17 00:00:00 2001 From: Alexandre Morin <alexandre.morin@maarch.org> Date: Fri, 24 Mar 2017 10:33:59 +0100 Subject: [PATCH] Zip function --- modules/export_seda/ArchiveTransfer.php | 69 +++++++++++++++++++++++++ modules/export_seda/export.php | 43 --------------- modules/export_seda/export_seda.php | 3 ++ 3 files changed, 72 insertions(+), 43 deletions(-) delete mode 100644 modules/export_seda/export.php diff --git a/modules/export_seda/ArchiveTransfer.php b/modules/export_seda/ArchiveTransfer.php index 4416c2b01ff..860d938df3a 100644 --- a/modules/export_seda/ArchiveTransfer.php +++ b/modules/export_seda/ArchiveTransfer.php @@ -103,6 +103,22 @@ class ArchiveTransfer { return $xml; } + public function deleteMessage($listResId) + { + if (!$listResId) { + return false; + } + + foreach ($listResId as $resId) { + $unitIdentifiers = $this->getUnitIdentifier($resId); + foreach ($unitIdentifiers as $unitIdentifier) { + $this->deleteSeda($unitIdentifier->message_id); + $this->deleteUnitIdentifier($unitIdentifier->message_id); + } + } + + return true; + } private function sendAttachment($messageObject) { $messageId = $messageObject->messageIdentifier->value; @@ -356,6 +372,27 @@ class ArchiveTransfer { return $custodialHistoryItem; } + /////////////////// + /// Requete SQL /// + /////////////////// + + private function getUnitIdentifier($resId) + { + $queryParams = []; + + $queryParams[] = $resId; + + $query = "SELECT * FROM unit_identifier WHERE res_id = ?"; + + $smtp = $this->db->query($query,$queryParams); + + $unitIdentifier = []; + while ($res = $smtp->fetchObject()) { + $unitIdentifier[] = $res; + } + + return $unitIdentifier; + } private function getCourrier($resId) { @@ -557,4 +594,36 @@ class ArchiveTransfer { return true; } + + private function deleteSeda($messageId) + { + $queryParams = []; + + $queryParams[] = $messageId; + try { + $query = "DELETE FROM seda WHERE message_id = ?"; + + $smtp = $this->db->query($query,$queryParams); + } catch (Exception $e) { + return false; + } + + return true; + } + + private function deleteUnitIdentifier($messageId) + { + $queryParams = []; + + $queryParams[] = $messageId; + try { + $query = "DELETE FROM unit_identifier WHERE message_id = ?"; + + $smtp = $this->db->query($query,$queryParams); + } catch (Exception $e) { + return false; + } + + return true; + } } \ No newline at end of file diff --git a/modules/export_seda/export.php b/modules/export_seda/export.php deleted file mode 100644 index ee9569f71e1..00000000000 --- a/modules/export_seda/export.php +++ /dev/null @@ -1,43 +0,0 @@ -<?php - -/* -* Copyright 2008-2017 Maarch -* -* This file is part of Maarch Framework. -* -* Maarch Framework is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* Maarch Framework is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with Maarch Framework. If not, see <http://www.gnu.org/licenses/>. -*/ - -require_once __DIR__.'/ArchiveTransferReply.php'; -require_once __DIR__.'/ArchiveTransfer.php'; -require_once __DIR__.'/Acknowledgement.php'; -// Args -//ARCHIVE TRANSFER - -//$listResId = ['100','101','102']; - -//$archiveTransfer = new ArchiveTransfer(); -//$message = $archiveTransfer->receive($listResId); -//$archiveTransfer->sendXml($message); - - -// ACKNOWLEDGEMENT -//$acknowledgement = new Acknowledgement(); -//$acknowledgement->send(__DIR__. DIRECTORY_SEPARATOR ."seda2". DIRECTORY_SEPARATOR . $message->messageIdentifier->value .".xml"); - -//ARCHIVE TRANSFER REPLY -/* -$archiveTransferReply = new ArchiveTransfertReply(); -$archiveTransferReply->receive(__DIR__. DIRECTORY_SEPARATOR ."seda2". DIRECTORY_SEPARATOR . "bblier-20170216-163047_reply.xml"); -*/ \ No newline at end of file diff --git a/modules/export_seda/export_seda.php b/modules/export_seda/export_seda.php index 7aa23949ed3..1b1a48c6393 100644 --- a/modules/export_seda/export_seda.php +++ b/modules/export_seda/export_seda.php @@ -31,6 +31,9 @@ require_once __DIR__.'/ArchiveTransfer.php'; function get_form_txt($values, $path_manage_action, $id_action, $table, $module, $coll_id, $mode) { $archiveTransfer = new ArchiveTransfer(); + $result = $archiveTransfer->deleteMessage($values); + + $result = $archiveTransfer->receive($values); $db = new Database(); -- GitLab