Guest User

Untitled

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