Skip to content
Snippets Groups Projects
AdapterEmailController.php 2.42 KiB
Newer Older
  • Learn to ignore specific revisions
  • Florian Azizian's avatar
    Florian Azizian committed
    <?php
    
    
    Florian Azizian's avatar
    Florian Azizian committed
    /**
    * 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 Adapter Email Controller
    * @author dev@maarch.org
    */
    
    
    Florian Azizian's avatar
    Florian Azizian committed
    namespace ExportSeda\controllers;
    
    
    Florian Azizian's avatar
    Florian Azizian committed
    use Email\controllers\EmailController;
    
    Florian Azizian's avatar
    Florian Azizian committed
    use MessageExchange\models\MessageExchangeModel;
    
    Florian Azizian's avatar
    Florian Azizian committed
    use SrcCore\models\CoreConfigModel;
    use User\models\UserModel;
    
    Florian Azizian's avatar
    Florian Azizian committed
    
    class AdapterEmailController
    {
        public function send($messageObject, $messageId)
        {
            $res['status'] = 0;
            $res['content'] = '';
    
    
            $config = CoreConfigModel::getJsonLoaded(['path' => 'apps/maarch_entreprise/xml/config.json']);
            $gec    = strtolower($config['exportSeda']['M2M']['gec']);
    
    Florian Azizian's avatar
    Florian Azizian committed
    
            if ($gec == 'maarch_courrier') {
    
    Florian Azizian's avatar
    Florian Azizian committed
                $document = ['id' => $messageObject->DataObjectPackage->DescriptiveMetadata->ArchiveUnit[0]->Content->OriginatingSystemId, 'isLinked' => false, 'original' => false];
    
    Florian Azizian's avatar
    Florian Azizian committed
                $userInfo = UserModel::getByLogin(['login' => $messageObject->TransferringAgency->OrganizationDescriptiveMetadata->UserIdentifier, 'select' => ['id', 'mail']]);
    
                if (!empty($messageObject->TransferringAgency->OrganizationDescriptiveMetadata->Contact[0]->Communication[1]->value)) {
                    $senderEmail = $messageObject->TransferringAgency->OrganizationDescriptiveMetadata->Contact[0]->Communication[1]->value;
                } else {
                    $senderEmail = $userInfo['mail'];
                }
    
    
    Florian Azizian's avatar
    Florian Azizian committed
                EmailController::createEmail([
                    'userId'    => $userInfo['id'],
                    'data'      => [
    
    Florian Azizian's avatar
    Florian Azizian committed
                        'sender'        => ['email' => $senderEmail],
    
    Florian Azizian's avatar
    Florian Azizian committed
                        'recipients'    => [$messageObject->ArchivalAgency->OrganizationDescriptiveMetadata->Communication[0]->value],
                        'cc'            => '',
                        'cci'           => '',
                        'object'        => $messageObject->DataObjectPackage->DescriptiveMetadata->ArchiveUnit[0]->Content->Title[0],
                        'body'          => $messageObject->Comment[0]->value,
                        'document'      => $document,
                        'isHtml'        => true,
                        'status'        => 'TO_SEND',
                        'messageExchangeId' => $messageId
                    ]
                ]);
    
                MessageExchangeModel::updateStatusMessage(['messageId' => $messageId, 'status' => 'I']);
    
    Florian Azizian's avatar
    Florian Azizian committed
            }
    
            return $res;
        }
    }