/**
  * 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;
 }