/** * Create new Email record (and link to given record) including attachments * @global Users $current_user * @global PearDataBase $adb * @param MailManager_Model_Message $mailrecord * @param String $module * @param CRMEntity $linkfocus * @return Integer */ function __CreateNewEmail($mailrecord, $module, $linkfocus) { global $current_user, $adb; if (!$current_user) { $current_user = Users::getActiveAdminUser(); } $handler = vtws_getModuleHandlerFromName('Emails', $current_user); $meta = $handler->getMeta(); if ($meta->hasWriteAccess() != true) { return false; } $focus = new Emails(); $focus->column_fields['activitytype'] = 'Emails'; $focus->column_fields['subject'] = $mailrecord->_subject; if (!empty($module)) { $focus->column_fields['parent_type'] = $module; } if (!empty($linkfocus->id)) { $focus->column_fields['parent_id'] = "{$linkfocus->id}@-1|"; } $focus->column_fields['description'] = $mailrecord->getBodyHTML(); $focus->column_fields['assigned_user_id'] = $linkfocus->column_fields['assigned_user_id']; $focus->column_fields["date_start"] = date('Y-m-d', $mailrecord->_date); $focus->column_fields["email_flag"] = 'MailManager'; $from = $mailrecord->_from[0]; $to = $mailrecord->_to[0]; $cc = !empty($mailrecord->_cc) ? implode(',', $mailrecord->_cc) : ''; $bcc = !empty($mailrecord->_bcc) ? implode(',', $mailrecord->_bcc) : ''; //emails field were restructured and to,bcc and cc field are JSON arrays $focus->column_fields['from_email'] = $from; $focus->column_fields['saved_toid'] = $to; $focus->column_fields['ccmail'] = $cc; $focus->column_fields['bccmail'] = $bcc; $focus->save('Emails'); $emailid = $focus->id; // TODO: Handle attachments of the mail (inline/file) $this->__SaveAttachements($mailrecord, 'Emails', $focus); return $emailid; }