/** * Create new Email record (and link to given record) including attachments * @global Users $current_user * @global PearDataBase $adb * @param MailManager_Message_Model $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'] = $current_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; }
/** * Create new Email record (and link to given record) including attachments * @global Users $current_user * @global PearDataBase $db * @param MailManager_Message_Model $mailrecord * @param String $module * @param CRMEntity $linkfocus * @return Integer */ public function __CreateNewEmail($mailrecord, $module, $linkfocus) { $currentUserModel = Users_Record_Model::getCurrentUserModel(); $handler = vtws_getModuleHandlerFromName('Emails', $currentUserModel); $meta = $handler->getMeta(); if ($meta->hasWriteAccess() != true) { return false; } $recordModel = Vtiger_Record_Model::getCleanInstance('Emails'); $recordModel->set('subject', $mailrecord->_subject); if (!empty($module)) { $recordModel->set('parent_type', $module); } if (!empty($linkfocus->id)) { $recordModel->set('parent_id', "{$linkfocus->id}@-1|"); } $recordModel->set('description', $mailrecord->getBodyHTML()); $recordModel->set('assigned_user_id', $currentUserModel->get('id')); //Opensource fix mailmanager related data $recordModel->set('date_start', date('Y-m-d', $mailrecord->_date)); $recordModel->set('time_start', date('H:i', $mailrecord->_date)); $recordModel->set('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 $recordModel->set('from_email', $from); $recordModel->set('saved_toid', $to); $recordModel->set('ccmail', $cc); $recordModel->set('bccmail', $bcc); $recordModel->save(); // TODO: Handle attachments of the mail (inline/file) $this->__SaveAttachements($mailrecord, 'Emails', $recordModel); return $recordModel->getId(); }