Advertisement
Guest User

Untitled

a guest
Sep 14th, 2013
56
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.     $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
Advertisement