Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
/**
* Copyright Maarch since 2008 under licence GPLv3.
* See LICENCE.txt file at the root folder for more details.
* This file is part of Maarch software.
*
*/
/**
* @brief Send Message Exchange Review Controller
* @author dev@maarch.org
*/
namespace MessageExchange\controllers;
use MessageExchange\models\MessageExchangeModel;
class SendMessageExchangeController
{
public static function saveMessageExchange($aArgs = [])
{
$dataObject = $aArgs['dataObject'];
$oData = new \stdClass();
$oData->messageId = MessageExchangeModel::generateUniqueId();
$oData->date = $dataObject->Date;
$oData->MessageIdentifier = new \stdClass();
$oData->MessageIdentifier->value = $dataObject->MessageIdentifier->value;
$oData->TransferringAgency = new \stdClass();
$oData->TransferringAgency->Identifier = new \stdClass();
$oData->TransferringAgency->Identifier->value = $dataObject->TransferringAgency->Identifier->value;
$oData->ArchivalAgency = new \stdClass();
$oData->ArchivalAgency->Identifier = new \stdClass();
$oData->ArchivalAgency->Identifier->value = $dataObject->ArchivalAgency->Identifier->value;
$oData->archivalAgreement = new \stdClass();
$oData->archivalAgreement->value = ""; // TODO : ???
$replyCode = "";
if (!empty($dataObject->ReplyCode)) {
$replyCode = $dataObject->ReplyCode;
}
$oData->replyCode = new \stdClass();
$oData->replyCode = $replyCode;
$dataObject = self::cleanBase64Value(['dataObject' => $dataObject]);
$aDataExtension = [
'status' => 'W',
'fullMessageObject' => $dataObject,
'resIdMaster' => $aArgs['res_id_master'],
'SenderOrgNAme' => $dataObject->TransferringAgency->OrganizationDescriptiveMetadata->Contact[0]->DepartmentName,
'RecipientOrgNAme' => $dataObject->ArchivalAgency->OrganizationDescriptiveMetadata->Name,
'filePath' => $aArgs['file_path'],
];
$messageId = MessageExchangeModel::insertMessage([
"data" => $oData,
"type" => $aArgs['type'],
"dataExtension" => $aDataExtension,
"userId" => $aArgs['userId']
]);
return $messageId;
}
protected static function cleanBase64Value($aArgs = [])
{
$dataObject = $aArgs['dataObject'];
$aCleanDataObject = [];
if (!empty($dataObject->DataObjectPackage->BinaryDataObject)) {
foreach ($dataObject->DataObjectPackage->BinaryDataObject as $key => $value) {
$value->Attachment->value = "";
$aCleanDataObject[$key] = $value;
}
$dataObject->DataObjectPackage->BinaryDataObject = $aCleanDataObject;
}
return $dataObject;
}
}