/** * * @param array $options An associative array with the following * key value/pairs: * - groupwareEmailItemsId: The id of the email message to return * - userId: the id of the user to whom this email message belongs @param Array $options * @param Conjoon_BeanContext_Decoratable $model * * @return Conjoon_Modules_Groupware_Email_Message_Dto */ protected function _build(array $options, Conjoon_BeanContext_Decoratable $model) { $groupwareEmailItemsId = $options['groupwareEmailItemsId']; $userId = $options['userId']; /** * @see Conjoon_BeanContext_Decorator */ require_once 'Conjoon/BeanContext/Decorator.php'; /** * @see Conjoon_Modules_Groupware_Email_Message_Filter_MessageResponse */ require_once 'Conjoon/Modules/Groupware/Email/Message/Filter/MessageResponse.php'; $messageDecorator = new Conjoon_BeanContext_Decorator($model, new Conjoon_Modules_Groupware_Email_Message_Filter_MessageResponse(array(), Conjoon_Filter_Input::CONTEXT_RESPONSE)); $message = $messageDecorator->getEmailMessageAsDto($groupwareEmailItemsId, $userId); if (!$message) { return null; } require_once 'Conjoon/Modules/Groupware/Email/Attachment/Filter/AttachmentResponse.php'; $attachmentDecorator = new Conjoon_BeanContext_Decorator('Conjoon_Modules_Groupware_Email_Attachment_Model_Attachment', new Conjoon_Modules_Groupware_Email_Attachment_Filter_AttachmentResponse(array(), Conjoon_Filter_Input::CONTEXT_RESPONSE)); $attachments = $attachmentDecorator->getAttachmentsForItemAsDto($groupwareEmailItemsId); $message->attachments = $attachments; return $message; }