X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=report_send.php;h=9bbf9f51cb471522f89df418e67db370dd7eb508;hb=f58ab716cb0cc4b8be8e48723b345bfab29697a6;hp=18e731e8ae9c8afa58e0ae2c7e352befced5dd6a;hpb=098a79f0819ebb89b7d48df4a6b154af4560f68e;p=timetracker.git diff --git a/report_send.php b/report_send.php index 18e731e8..9bbf9f51 100644 --- a/report_send.php +++ b/report_send.php @@ -33,14 +33,14 @@ import('ttSysConfig'); import('ttReportHelper'); // Access check. -if (!ttAccessCheck(right_view_reports)) { +if (!(ttAccessAllowed('view_own_reports') || ttAccessAllowed('view_reports'))) { header('Location: access_denied.php'); exit(); } $sc = new ttSysConfig($user->id); -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')); @@ -48,7 +48,7 @@ if ($request->getMethod() == 'POST') { } else { $cl_receiver = $sc->getValue(SYSC_LAST_REPORT_EMAIL); $cl_cc = $sc->getValue(SYSC_LAST_REPORT_CC); - $cl_subject = $i18n->getKey('form.mail.report_subject'); + $cl_subject = $i18n->get('form.mail.report_subject'); } $form = new Form('mailForm'); @@ -56,25 +56,27 @@ $form->addInput(array('type'=>'text','name'=>'receiver','style'=>'width: 300px;' $form->addInput(array('type'=>'text','name'=>'cc','style'=>'width: 300px;','value'=>$cl_cc)); $form->addInput(array('type'=>'text','name'=>'subject','style'=>'width: 300px;','value'=>$cl_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'))); +$form->addInput(array('type'=>'submit','name'=>'btn_send','value'=>$i18n->get('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->get('error.field'), $i18n->get('form.mail.to')); + if (!ttValidEmailList($cl_cc, true)) $err->add($i18n->get('error.field'), $i18n->get('label.cc')); + if (!ttValidString($cl_subject)) $err->add($i18n->get('error.field'), $i18n->get('label.subject')); + if (!ttValidString($cl_comment, true)) $err->add($i18n->get('error.field'), $i18n->get('label.comment')); + + if ($err->no()) { // Save last report emails for future use. $sc->setValue(SYSC_LAST_REPORT_EMAIL, $cl_receiver); - $sc->setValue(SYSC_LAST_REPORT_CC, $cl_cc); - - // Obtain session bean with report attributes. - $bean = new ActionForm('reportBean', new Form('reportForm')); - // Prepare report body. - $body = ttReportHelper::prepareReportBody($bean, $cl_comment); - + $sc->setValue(SYSC_LAST_REPORT_CC, $cl_cc); + + // Obtain session bean with report attributes. + $bean = new ActionForm('reportBean', new Form('reportForm')); + $options = ttReportHelper::getReportOptions($bean); + + // Prepare report body. + $body = ttReportHelper::prepareReportBody($options, $cl_comment); + import('mail.Mailer'); $mailer = new Mailer(); $mailer->setCharSet(CHARSET); @@ -83,17 +85,28 @@ if ($request->getMethod() == 'POST') { $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.report_sent')); + $msg->add($i18n->get('form.mail.report_sent')); else - $errors->add($i18n->getKey('error.mail_send')); + $err->add($i18n->get('error.mail_send')); + } +} + +$smarty->assign('sender', SENDER); +if (function_exists('imap_mime_header_decode')) { + $elements = imap_mime_header_decode(SENDER); + if (count($elements) > 1) { + // Reassign sender. + $new = $elements[count($elements) - 2]->text; + $smarty->assign('sender', $elements[count($elements) - 2]->text); } } -$smarty->assign('title', $i18n->getKey('title.send_report')); +$smarty->assign('title', $i18n->get('title.send_report')); $smarty->assign('forms', array($form->getName()=>$form->toArray())); $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