Fixed a problem with predefined expenses missing on mobile pages.
[timetracker.git] / report_send.php
index ce698e3..a19756a 100644 (file)
@@ -40,7 +40,7 @@ if (!ttAccessCheck(right_view_reports)) {
 
 $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'));
@@ -58,23 +58,23 @@ $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('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 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'));
+    // Prepare report body.
+    $body = ttReportHelper::prepareReportBody($bean, $cl_comment);
+
     import('mail.Mailer');
     $mailer = new Mailer();
     $mailer->setCharSet(CHARSET);
@@ -83,11 +83,23 @@ 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->getKey('form.mail.report_sent'));
     else
-      $errors->add($i18n->getKey('error.mail_send'));
+      $err->add($i18n->getKey('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);
   }
 }