Advertisement
Guest User

Untitled

a guest
Sep 14th, 2013
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if ($do=='view'){
  2.  
  3.     // Получаем форму
  4.     $form = cmsForm::getFormData(cmsCore::request('form_id', 'int'));
  5.     if(!$form) { cmsCore::error404(); }
  6.  
  7.     // Получаем данные полей формы
  8.     $form_fields = cmsForm::getFormFields($form['id']);
  9.     // Если полей нет, 404
  10.     if(!$form_fields) { cmsCore::error404(); }
  11.  
  12.     $errors = array();
  13.  
  14.     // Получаем данные формы
  15.     // Если не переданы, назад
  16.     $form_input = cmsForm::getFieldsInputValues($form['id']);
  17.     if(!$form_input) {
  18.         $errors[] = $_LANG['FORM_ERROR'];
  19.     }
  20.     // Проверяем значения формы
  21.     foreach ($form_input['errors'] as $field_error) {
  22.         if($field_error){
  23.             $errors[] = $field_error;
  24.         }
  25.     }
  26.     // проверяем каптчу
  27.     if(!cmsCore::checkCaptchaCode(cmsCore::request('code', 'str'))) {
  28.         $errors[] = $_LANG['ERR_CAPTCHA'];
  29.     }
  30.  
  31.     if($errors){
  32.         if(cmsCore::isAjax()){
  33.             cmsCore::jsonOutput(array('error' => true,
  34.                                       'text' => end($errors)));
  35.         } else {
  36.             foreach ($errors as $error) {
  37.                 cmsCore::addSessionMessage($error, 'error');
  38.             }
  39.             cmsCore::redirectBack();
  40.         }
  41.     }
  42.  
  43.     if (!cmsUser::checkCsrfToken()) { cmsCore::error404(); }
  44.  
  45.     // Подготовим начало письма
  46.     if($form['sendto']=='mail'){
  47.          $mail_message  = $_LANG['FORM'].': ' . $form['title'];
  48.          $mail_message .=  "\n----------------------------------------------\n\n";
  49.     } else {
  50.          $mail_message  = '<h3>'.$_LANG['FORM'].': ' . $form['title'] . '</h3>';
  51.     }
  52.     // Добавляем заполненные поля в письмо
  53.     foreach ($form_fields as $field) {
  54.  
  55.         if($form_input['values'][$field['id']]){
  56.             if($form['sendto'] == 'mail'){
  57.                 $mail_message .= $field['title'] . ":\n" . $form_input['values'][$field['id']] . "\n\n";
  58.             } else {
  59.                 $mail_message .= '<h5>'.$field['title'] . '</h5><p>'.$form_input['values'][$field['id']].'</p>';
  60.             }
  61.         }
  62.  
  63.     }
  64.  
  65.     // Отправляем форму
  66.     if ($form['sendto']=='mail'){
  67.         cmsCore::mailText($form['email'], cmsConfig::getConfig('sitename').': '.$form['title'], $mail_message);
  68.     } else {
  69.         cmsUser::sendMessage(-2, $form['user_id'], $mail_message);
  70.     }
  71.  
  72.     cmsUser::sessionClearAll();
  73.  
  74.     if(cmsCore::isAjax()){
  75.         cmsCore::jsonOutput(array('error' => false,
  76.                                   'text' => $_LANG['FORM_IS_SEND']));
  77.     } else {
  78.         cmsCore::addSessionMessage($_LANG['FORM_IS_SEND'], 'info');
  79.         cmsCore::redirectBack();
  80.     }
  81.  
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement