X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=invoice_send.php;h=bc290a6662ebb3db2dc3a2250b0568b35c108c7a;hb=5532fe6cfc2125063ff8040cfa80e20089ac64b0;hp=9f933a0cf8def3e599fcc2e8e96338d5d1021dd2;hpb=5ef582473f6b329be18ad83c61e053fdcd9c6ed5;p=timetracker.git diff --git a/invoice_send.php b/invoice_send.php index 9f933a0c..bc290a66 100644 --- a/invoice_send.php +++ b/invoice_send.php @@ -32,7 +32,7 @@ import('ttInvoiceHelper'); import('ttSysConfig'); // Access check. -if (!ttAccessCheck(right_view_invoices)) { +if (!ttAccessCheck(right_view_invoices) || !$user->isPluginEnabled('iv')) { header('Location: access_denied.php'); exit(); } @@ -45,7 +45,7 @@ $sc = new ttSysConfig($user->id); 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')); @@ -64,20 +64,20 @@ $form->addInput(array('type'=>'text','name'=>'subject','style'=>'width: 300px;', $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('form.mail.cc')); + if (!ttValidString($cl_subject)) $err->add($i18n->getKey('error.field'), $i18n->getKey('form.mail.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); @@ -86,11 +86,21 @@ if ($request->getMethod() == 'POST') { $mailer->setReceiver($cl_receiver); if (isset($cl_cc)) $mailer->setReceiverCC($cl_cc); - $mailer->setSendType(MAIL_MODE); + $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); } }