/**
  * Edit email
  *
  * @param void
  * @return null
  */
 function edit_mail()
 {
     if (logged_user()->isGuest()) {
         flash_error(lang('no access permissions'));
         ajx_current("empty");
         return;
     }
     $this->setTemplate('add_mail');
     if (array_var($_GET, 'id', '') == '') {
         flash_error('Invalid parameter.');
         ajx_current("empty");
     }
     $original_mail = MailContents::findById(get_id('id', $_GET));
     if (!$original_mail) {
         flash_error('Invalid parameter.');
         ajx_current("empty");
     }
     $mail_accounts = MailAccounts::getMailAccountsByUser(logged_user());
     if (count($mail_accounts) < 1) {
         flash_error(lang('no mail accounts set'));
         ajx_current("empty");
         return;
     }
     $mail_data = array_var($_POST, 'mail', null);
     if (!is_array($mail_data)) {
         $body = $original_mail->getBodyHtml() == '' ? $original_mail->getBodyPlain() : $original_mail->getBodyHtml();
         //Attachs
         $attachs = array();
         if ($original_mail->getHasAttachments()) {
             $attachments = self::readAttachmentsFromFileSystem($original_mail, $att_version);
             foreach ($attachments as $att) {
                 $fName = $att["name"];
                 $fileType = $att["type"];
                 $fid = gen_id();
                 $attachs[] = "FwdMailAttach:{$fName}:{$fileType}:{$fid}";
                 if ($att_version >= 2) {
                     @copy($att['path'], ROOT . "/tmp/" . logged_user()->getId() . "_" . $original_mail->getAccountId() . "_FwdMailAttach_{$fid}");
                 } else {
                     file_put_contents(ROOT . "/tmp/" . logged_user()->getId() . "_" . $original_mail->getAccountId() . "_FwdMailAttach_{$fid}", $att['data']);
                 }
             }
         }
         $mail_data = array('to' => $original_mail->getTo(), 'cc' => $original_mail->getCc(), 'bcc' => $original_mail->getBcc(), 'subject' => $original_mail->getSubject(), 'body' => $body, 'type' => $original_mail->getBodyHtml() != '' ? 'html' : 'plain', 'account_id' => $original_mail->getAccountId(), 'conversation_id' => $original_mail->getConversationId(), 'in_reply_to_id' => $original_mail->getMessageId(), 'original_id' => $original_mail->getId(), 'last_mail_in_conversation' => MailContents::getLastMailIdInConversation($original_mail->getConversationId(), true), 'id' => $original_mail->getId(), 'draft_edit' => 1, 'attachs' => $attachs);
         // array
     }
     // if
     tpl_assign('mail', $original_mail);
     tpl_assign('mail_data', $mail_data);
     tpl_assign('mail_accounts', $mail_accounts);
 }