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