Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if ($do=='view'){
- // Получаем форму
- $form = cmsForm::getFormData(cmsCore::request('form_id', 'int'));
- if(!$form) { cmsCore::error404(); }
- // Получаем данные полей формы
- $form_fields = cmsForm::getFormFields($form['id']);
- // Если полей нет, 404
- if(!$form_fields) { cmsCore::error404(); }
- $errors = array();
- // Получаем данные формы
- // Если не переданы, назад
- $form_input = cmsForm::getFieldsInputValues($form['id']);
- if(!$form_input) {
- $errors[] = $_LANG['FORM_ERROR'];
- }
- // Проверяем значения формы
- foreach ($form_input['errors'] as $field_error) {
- if($field_error){
- $errors[] = $field_error;
- }
- }
- // проверяем каптчу
- if(!cmsCore::checkCaptchaCode(cmsCore::request('code', 'str'))) {
- $errors[] = $_LANG['ERR_CAPTCHA'];
- }
- if($errors){
- if(cmsCore::isAjax()){
- cmsCore::jsonOutput(array('error' => true,
- 'text' => end($errors)));
- } else {
- foreach ($errors as $error) {
- cmsCore::addSessionMessage($error, 'error');
- }
- cmsCore::redirectBack();
- }
- }
- if (!cmsUser::checkCsrfToken()) { cmsCore::error404(); }
- // Подготовим начало письма
- if($form['sendto']=='mail'){
- $mail_message = $_LANG['FORM'].': ' . $form['title'];
- $mail_message .= "\n----------------------------------------------\n\n";
- } else {
- $mail_message = '<h3>'.$_LANG['FORM'].': ' . $form['title'] . '</h3>';
- }
- // Добавляем заполненные поля в письмо
- foreach ($form_fields as $field) {
- if($form_input['values'][$field['id']]){
- if($form['sendto'] == 'mail'){
- $mail_message .= $field['title'] . ":\n" . $form_input['values'][$field['id']] . "\n\n";
- } else {
- $mail_message .= '<h5>'.$field['title'] . '</h5><p>'.$form_input['values'][$field['id']].'</p>';
- }
- }
- }
- // Отправляем форму
- if ($form['sendto']=='mail'){
- cmsCore::mailText($form['email'], cmsConfig::getConfig('sitename').': '.$form['title'], $mail_message);
- } else {
- cmsUser::sendMessage(-2, $form['user_id'], $mail_message);
- }
- cmsUser::sessionClearAll();
- if(cmsCore::isAjax()){
- cmsCore::jsonOutput(array('error' => false,
- 'text' => $_LANG['FORM_IS_SEND']));
- } else {
- cmsCore::addSessionMessage($_LANG['FORM_IS_SEND'], 'info');
- cmsCore::redirectBack();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement