Current Path : /var/www/html/clients/e-nkama.ru/e-nkama_bitrix/bitrix/templates/nk/js/textmistake/ |
Current File : /var/www/html/clients/e-nkama.ru/e-nkama_bitrix/bitrix/templates/nk/js/textmistake/textmistake.php |
<?php /** * @author <github.com/tarampampam> * @weblog http://blog.kplus.pro/ * @project https://github.com/tarampampam/jquery.textmistake * * @version 0.1 * * @licensy Licensed under the MIT, license text: http://goo.gl/JsVjCF */ ### Settings ################################################################### //error_reporting(0); // Errors output must be disabled by default define('MailFrom', 'noreply@e-nkama.ru'); define('MailTo', 'smi.nk@mail.ru'); define('RemoveHTML', true); ################################################################################ function validateEmail($email) { // http://stackoverflow.com/a/46181/2252921 return (preg_match('/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)'. '|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])'. '|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/', $email) === 1) ? true : false; } function exitWithMessage($msg, $code = 0){ die(json_encode(array('msg' => $msg, 'code' => $code))); } function secureClear($text) { return htmlspecialchars(strip_tags($text)); } header('Content-Type: application/json'); // If empty POST - we will die if(empty($_POST)) { header("HTTP/1.0 503 Service Unavailable"); exitWithMessage('Direct access not allowed'); } elseif(isset($_POST['message']) and is_array($_POST['message']) and !empty($_POST['message'])) { $message = $_POST['message']; $mailTo = (string) ''; $mailFrom = (string) ''; // Check mail destination if(defined('MailTo') and validateEmail(MailTo)) $mailTo = MailTo; elseif(!empty($message['to'][0]['email']) and validateEmail($message['to'][0]['email'])) $mailTo = $message['to'][0]['email']; if(empty($mailTo)) exitWithMessage('Empty or invalid email address for sending'); // Check mail sender if(defined('MailFrom') and validateEmail(MailFrom)) $mailFrom = MailFrom; elseif(!empty($message['from_email']) and validateEmail($message['from_email'])) $mailFrom = $message['from_email']; if(empty($mailFrom)) exitWithMessage('Empty or invalid email sender'); // Remove html (if needed) if(defined('RemoveHTML') and RemoveHTML) { $message['subject'] = secureClear($message['subject']); $message['html'] = str_replace( array('<strong>', '</strong>', '<b>', '</b>'), '##', $message['html']); $message['html'] = secureClear($message['html']); } // Check subject if (empty($message['subject'])) exitWithMessage('Empty subject'); // Check mail body if (empty($message['html'])) exitWithMessage('Empty or invalid mail body'); // Prepare sendmail headers $headers = "MIME-Version: 1.0\r\n". "Content-Type: text/".((defined('RemoveHTML') and RemoveHTML) ? "plain" : "html")."; charset=\"utf-8\"\r\n"; $headers .= "From: ".$mailFrom."\r\n". "Reply-To: ".$mailFrom."\r\n". "Return-Path: ".$mailFrom."\r\n"; // And sending mail if(!mail($mailTo, '=?UTF-8?B?'.base64_encode($message['subject']).'?=', $message['html'], $headers)) { exitWithMessage('Sendmail server error :('); } exitWithMessage('Your message was sent successfully', 1); }