/** * Send message * * @return void */ protected function doActionSend() { $data = \XLite\Core\Request::getInstance()->getData(); $config = \XLite\Core\Config::getInstance()->CDev->ContactUs; $isValid = true; foreach ($this->requiredFields as $key => $name) { if (!isset($data[$key]) || empty($data[$key])) { $isValid = false; \XLite\Core\TopMessage::addError(static::t('The X field is empty', array('name' => $name))); } } if ($isValid && false === filter_var($data['email'], FILTER_VALIDATE_EMAIL)) { $isValid = false; \XLite\Core\TopMessage::addError(\XLite\Core\Translation::lbl('The value of the X field has an incorrect format', array('name' => $this->requiredFields['email']))); } if ($isValid && $config->recaptcha_private_key && $config->recaptcha_public_key) { require_once LC_DIR_MODULES . '/CDev/ContactUs/recaptcha/recaptchalib.php'; $resp = recaptcha_check_answer($config->recaptcha_private_key, $_SERVER['REMOTE_ADDR'], $data['recaptcha_challenge_field'], $data['recaptcha_response_field']); $isValid = $resp->is_valid; if (!$isValid) { \XLite\Core\TopMessage::addError('Please enter the correct captcha'); } } if ($isValid) { $errorMessage = \XLite\Core\Mailer::sendContactUsMessage($data, \XLite\Core\Config::getInstance()->CDev->ContactUs->email ?: \XLite\Core\Config::getInstance()->Company->support_department); if ($errorMessage) { \XLite\Core\TopMessage::addError($errorMessage); } else { unset($data['message']); unset($data['subject']); \XLite\Core\TopMessage::addInfo('Message has been sent'); } } \XLite\Core\Session::getInstance()->contact_us = $data; }