/** * Zpracování údajů z POSTu (bez spam validace) a případné zodeslání mailu * * @author Martin Hlaváč * @link http://www.ktstudio.cz * * @param array $values * @return boolean */ protected function processMail(array $values) { if (count($values) > 0) { $firstName = htmlspecialchars(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::FIRST_NAME)); $lastName = htmlspecialchars(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::LAST_NAME)); $name = htmlspecialchars(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::NAME)); $email = htmlspecialchars(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::EMAIL)); $phone = htmlspecialchars(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::PHONE)); $message = htmlspecialchars(KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::MESSAGE)); $fullName = $name ?: "{$firstName} {$lastName}"; if (KT::issetAndNotEmpty($fullName) && KT::issetAndNotEmpty($email) && KT::issetAndNotEmpty($phone) && KT::issetAndNotEmpty($message) && is_email($email)) { $ktWpInfo = new KT_WP_Info(); $requestUrl = KT::getRequestUrl(); $requestLink = "<a href=\"{$requestUrl}\">{$requestUrl}</a>"; $content = sprintf(__("Jméno: %s", "KT_CORE_DOMAIN"), $fullName) . "<br>"; $content .= sprintf(__("E-mail: %s", "KT_CORE_DOMAIN"), $email) . "<br>"; $content .= sprintf(__("Telefon: %s", "KT_CORE_DOMAIN"), $phone) . "<br><br>"; $content .= __("Zpráva:", "KT_CORE_DOMAIN") . "<br><br>{$message}<br><br>"; $content .= sprintf(__("Provedeno z URL adresy: %s", "KT_CORE_DOMAIN"), $requestLink) . "<br><br>---<br>"; $content .= sprintf($this->getEmailSignature(), $ktWpInfo->getUrl()); $contactFormEmail = apply_filters("kt_contact_form_email_filter", $this->getFormEmail()); $mailer = new KT_Mailer($contactFormEmail, $ktWpInfo->getName(), sprintf($this->getEmailTitle(), $ktWpInfo->getName())); $mailer->setReplyToEmail($email); $mailer->setContent($content); return $sendResult = $mailer->send(); } } return false; }
/** @return string */ protected function initPermalink() { return $this->permalink = KT::getRequestUrl(); }
/** * Kontrola a zpracování (odeslaných) dat (z POSTu), pokud je to možné * * @author Martin Hlaváč * @link http://www.ktstudio.cz */ public function process() { if (KT::arrayIssetAndNotEmpty($_POST)) { $form = $this->getForm(); if (!$form->nonceValidate()) { wp_die(__("Chyba zpracování zdrojové adresy...", KT_DOMAIN)); exit; } $form->validate(); if (!$form->hasError()) { $values = filter_input(INPUT_POST, KT_Contact_Form_Base_Config::FORM_PREFIX, FILTER_DEFAULT, FILTER_REQUIRE_ARRAY); if (KT::arrayIssetAndNotEmpty($values)) { $spam = KT::arrayTryGetValue($values, KT_Contact_Form_Base_Config::FAVOURITE); if (KT::issetAndNotEmpty($spam)) { wp_die(__("Vyplnili jste nepovolený kontrolní prvek...", KT_DOMAIN)); exit; } if ($this->processMail($values)) { wp_redirect(add_query_arg(self::PROCESSED_PARAM, "1", KT::getRequestUrl())); exit; } } } add_action(KT_PROJECT_NOTICES_ACTION, array(&$this, "renderErrorNotice")); } }