dirname() ); define('M_URL',MAIN_SOURCE_URL.'/modules/'.$MAIN_PAGE -> dirname() ); define('A_CHARSET', $MAIN_PAGE -> charset() ); include_once(M_PATH.'/inc/url.php'); include_once(MAIN_SOURCE_PATH.'/modules/admin/lang/'.MAIN_LANG.'/lang.php'); include_once(MAIN_SOURCE_PATH.'/inc/class.html.php'); include(MAIN_SOURCE_PATH.'/ext/ajax/JsHttpRequest.php'); $this -> JsHttpRequest = new JsHttpRequest( A_CHARSET ); $this -> act = !empty($_REQUEST['act']) ? $_REQUEST['act'] : $this -> act; $MAIN_PAGE -> set_key($this -> act); $MAIN_PAGE -> set_title( false, 'Обратная связь' ); } public function get(){ //sleep(2); $func = $this -> act; if ( !method_exists($this ,$func) ){ sys_error(ERROR_404); } return $this -> $func(); } // форма обратной связи private function index($e=''){ $t = new PHPTAL( );// $t -> setSnippet('admin','admin_contacts_index'); $t -> error = $e; $t -> row = $_POST; $t -> send = false; return $t -> execute(); } private function send(){ global $MAIN_PAGE; $name = trim($_POST['name']); if ( empty($name) ){ return $this -> index('Ошибка: нужно заполнить поле "Имя"'); } if ( false===sys_is_mail($_POST['email']) ){ return $this -> index('Ошибка: нужно заполнить поле "E-Mail"'); } $title = trim($_POST['title']); if ( empty($title) ){ return $this -> index('Ошибка: нужно заполнить поле "Тема"'); } $message = trim($_POST['message']); if ( empty($message) ){ return $this -> index('Ошибка: нужно заполнить поле "Сообщение"'); } $status = trim($_POST['type']); // отправка сообщения include_once(MAIN_SOURCE_PATH.'/inc/class.mail.php'); $m = mail::load('feedback'); $m -> set('name',$_POST['name']); $m -> set('email',$_POST['email']); $m -> set('title',$_POST['title']); $m -> set('message',$_POST['message']); $m -> set('status',$status); $m -> send_mail( $MAIN_PAGE -> config('sys_mail') ); $t = new PHPTAL(); $t -> send = true; $t -> setSnippet('admin','admin_contacts_index'); return $t -> execute(); } /* AJAX */ private function sendAjax(){ global $MAIN_PAGE; $name = trim($_POST['name']); try{ if ( empty($name) ){ throw new Exception('Ошибка: нужно заполнить поле "Имя"'); } if ( false===sys_is_mail($_POST['email']) ){ throw new Exception('Ошибка: нужно заполнить поле "E-Mail"'); } /* $title = trim($_POST['title']); if ( empty($title) ){ throw new Exception('Ошибка: нужно заполнить поле "Тема"'); }*/ $message = trim($_POST['message']); if ( empty($message) ){ throw new Exception('Ошибка: нужно заполнить поле "Сообщение"'); } $status = trim($_POST['type']); // отправка сообщения include_once(MAIN_SOURCE_PATH.'/inc/class.mail.php'); if (false===$m = mail::load('feedback') ){ throw new Exception('Ошибка: нет шаблона feedback'); } $m -> set('name',$_POST['name']); $m -> set('email',$_POST['email']); $m -> set('title',$_POST['title']); $m -> set('message',$_POST['message']); $m -> set('status',$status); if ( false===$m -> send_mail( $MAIN_PAGE -> config('sys_mail') ) ){ HL::ajaxError( 'Сообщение не отправлено: '.$m -> ErrorInfo ); } HL::ajaxError('Сообщение отправлено'); }catch( Exception $e){ HL::ajaxError($e -> getMessage()); } exit(); } } ?>