require_once('initialize.php');
import('form.Form');
import('form.ActionForm');
-import('ttSysConfig');
+import('ttUserConfig');
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);
+$uc = new ttUserConfig();
-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'));
$cl_comment = trim($request->getParameter('comment'));
} 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_receiver = $uc->getValue(SYSC_LAST_REPORT_EMAIL);
+ $cl_cc = $uc->getValue(SYSC_LAST_REPORT_CC);
+ $cl_subject = $i18n->get('form.mail.report_subject');
}
$form = new Form('mailForm');
$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);
-
+ $uc->setValue(SYSC_LAST_REPORT_EMAIL, $cl_receiver);
+ $uc->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);
$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