From 493dfcd85cbebfeeb399a7f9efeedd92495ae757 Mon Sep 17 00:00:00 2001 From: nrpatten Date: Thu, 12 Sep 2013 19:55:59 +1000 Subject: [PATCH] Update mail.class.php --- public/include/classes/mail.class.php | 43 +++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/public/include/classes/mail.class.php b/public/include/classes/mail.class.php index ca1342aa..9160320c 100644 --- a/public/include/classes/mail.class.php +++ b/public/include/classes/mail.class.php @@ -15,6 +15,49 @@ class Mail extends Base { return true; } + /** + * Mail form contact site admin + * @param senderName string senderName + * @param senderEmail string senderEmail + * @param senderSubject string senderSubject + * @param senderMessage string senderMessage + * @param email string config Email address + * @param subject string header subject + * @return bool + **/ + public function contactform($senderName, $senderEmail, $senderSubject, $senderMessage) { + $this->debug->append("STA " . __METHOD__, 4); + if (preg_match('/[^a-z_\.\!\?\-0-9\\s ]/i', $senderName)) { + $this->setErrorMessage('Username may only contain alphanumeric characters'); + return false; + } + if (empty($senderEmail) || !filter_var($senderEmail, FILTER_VALIDATE_EMAIL)) { + $this->setErrorMessage( 'Invalid e-mail address' ); + return false; + } + if (preg_match('/[^a-z_\.\!\?\-0-9\\s ]/i', $senderSubject)) { + $this->setErrorMessage('Subject may only contain alphanumeric characters'); + return false; + } + if (strlen(strip_tags($senderMessage)) < strlen($senderMessage)) { + $this->setErrorMessage('Your message may only contain alphanumeric characters'); + return false; + } + $aData['senderName'] = $senderName; + $aData['senderEmail'] = $senderEmail; + $aData['senderSubject'] = $senderSubject; + $aData['senderMessage'] = $senderMessage; + $aData['email'] = $this->setting->getValue('website_email'); + $aData['subject'] = 'Contact From'; + if ($this->sendMail('contactform/body', $aData)) { + return true; + } else { + $this->setErrorMessage( 'Unable to send email' ); + return false; + } + return false; + } + public function sendMail($template, $aData) { $this->smarty->assign('WEBSITENAME', $this->setting->getValue('website_name')); $this->smarty->assign('SUBJECT', $aData['subject']);