import('ttSysConfig');
// Access check.
-if (!ttAccessCheck(right_view_invoices)) {
+if (!(ttAccessAllowed('manage_invoices') || ttAccessAllowed('view_own_invoices')) || !$user->isPluginEnabled('iv')) {
header('Location: access_denied.php');
exit();
}
if (!$cl_invoice_id || !$invoice)
die ($i18n->getKey('error.sys'));
-if ($request->getMethod() == 'POST') {
+if ($request->isPost()) {
$cl_receiver = trim($request->getParameter('receiver'));
$cl_cc = trim($request->getParameter('cc'));
$cl_subject = trim($request->getParameter('subject'));
$form->addInput(array('type'=>'textarea','name'=>'comment','maxlength'=>'250','style'=>'width: 300px; height: 60px;'));
$form->addInput(array('type'=>'submit','name'=>'btn_send','value'=>$i18n->getKey('button.send')));
-if ($request->getMethod() == 'POST') {
+if ($request->isPost()) {
// Validate user input.
- if (!ttValidEmailList($cl_receiver)) $errors->add($i18n->getKey('error.field'), $i18n->getKey('form.mail.to'));
- if (!ttValidEmailList($cl_cc, true)) $errors->add($i18n->getKey('error.field'), $i18n->getKey('form.mail.cc'));
- if (!ttValidString($cl_subject)) $errors->add($i18n->getKey('error.field'), $i18n->getKey('form.mail.subject'));
- if (!ttValidString($cl_comment, true)) $errors->add($i18n->getKey('error.field'), $i18n->getKey('label.comment'));
-
- if ($errors->isEmpty()) {
+ if (!ttValidEmailList($cl_receiver)) $err->add($i18n->getKey('error.field'), $i18n->getKey('form.mail.to'));
+ if (!ttValidEmailList($cl_cc, true)) $err->add($i18n->getKey('error.field'), $i18n->getKey('label.cc'));
+ if (!ttValidString($cl_subject)) $err->add($i18n->getKey('error.field'), $i18n->getKey('label.subject'));
+ if (!ttValidString($cl_comment, true)) $err->add($i18n->getKey('error.field'), $i18n->getKey('label.comment'));
+
+ if ($err->no()) {
// Save last invoice emails for future use.
$sc->setValue(SYSC_LAST_INVOICE_EMAIL, $cl_receiver);
- $sc->setValue(SYSC_LAST_INVOICE_CC, $cl_cc);
-
- $body = ttInvoiceHelper::prepareInvoiceBody($cl_invoice_id, $cl_comment);
-
+ $sc->setValue(SYSC_LAST_INVOICE_CC, $cl_cc);
+
+ $body = ttInvoiceHelper::prepareInvoiceBody($cl_invoice_id, $cl_comment);
+
import('mail.Mailer');
$mailer = new Mailer();
$mailer->setCharSet(CHARSET);
$mailer->setReceiver($cl_receiver);
if (isset($cl_cc))
$mailer->setReceiverCC($cl_cc);
- $mailer->setSendType(MAIL_MODE);
+ if (!empty($user->bcc_email))
+ $mailer->setReceiverBCC($user->bcc_email);
+ $mailer->setMailMode(MAIL_MODE);
if ($mailer->send($cl_subject, $body))
- $messages->add($i18n->getKey('form.mail.invoice_sent'));
+ $msg->add($i18n->getKey('form.mail.invoice_sent'));
else
- $errors->add($i18n->getKey('error.mail_send'));
+ $err->add($i18n->getKey('error.mail_send'));
+ }
+} // isPost
+
+$smarty->assign('sender', SENDER);
+if (function_exists('imap_mime_header_decode')) {
+ // Decode sender in case it is encoded. PHP IMAP extension must be installed for us to get here.
+ $elements = imap_mime_header_decode(SENDER);
+ if (count($elements) > 1) {
+ // Reassign sender.
+ $smarty->assign('sender', $elements[count($elements) - 2]->text);
}
}
$smarty->assign('onload', 'onLoad="document.mailForm.'.($cl_receiver?'comment':'receiver').'.focus()"');
$smarty->assign('content_page_name', 'mail.tpl');
$smarty->display('index.tpl');
-?>
\ No newline at end of file