public static function validate($params, $fields, $form, $title, $description) { global $frm_vars; $frm_settings = FrmAppHelper::get_settings(); if (($_POST && isset($_POST['frm_page_order_' . $form->id]) || FrmProFormsHelper::going_to_prev($form->id)) && !FrmProFormsHelper::saving_draft()) { $errors = ''; $fields = FrmFieldsHelper::get_form_fields($form->id); $submit = isset($form->options['submit_value']) ? $form->options['submit_value'] : $frm_settings->submit_value; $values = $fields ? FrmEntriesHelper::setup_new_vars($fields, $form) : array(); require FrmAppHelper::plugin_path() . '/classes/views/frm-entries/new.php'; add_filter('frm_continue_to_create', '__return_false'); } else { if ($form->editable && isset($form->options['single_entry']) && $form->options['single_entry'] && $form->options['single_entry_type'] == 'user') { $user_ID = get_current_user_id(); if ($user_ID) { $entry = FrmEntry::getAll(array('it.user_id' => $user_ID, 'it.form_id' => $form->id), '', 1, true); if ($entry) { $entry = reset($entry); } } else { $entry = false; } if ($entry && !empty($entry) && (!isset($frm_vars['created_entries'][$form->id]) || !isset($frm_vars['created_entries'][$form->id]['entry_id']) || $entry->id != $frm_vars['created_entries'][$form->id]['entry_id'])) { FrmProEntriesController::show_responses($entry, $fields, $form, $title, $description); } else { $record = $frm_vars['created_entries'][$form->id]['entry_id']; $saved_message = isset($form->options['success_msg']) ? $form->options['success_msg'] : $frm_settings->success_msg; if (FrmProFormsHelper::saving_draft()) { $saved_message = isset($form->options['draft_msg']) ? $form->options['draft_msg'] : __('Your draft has been saved.', 'formidable'); } $saved_message = apply_filters('frm_content', $saved_message, $form, $record ? $record : false); $message = wpautop(do_shortcode($record ? $saved_message : $frm_settings->failed_msg)); $message = '<div class="frm_message" id="message">' . $message . '</div>'; FrmProEntriesController::show_responses($record, $fields, $form, $title, $description, $message); } add_filter('frm_continue_to_create', '__return_false'); } else { if (FrmProFormsHelper::saving_draft()) { $record = isset($frm_vars['created_entries']) && isset($frm_vars['created_entries'][$form->id]) ? $frm_vars['created_entries'][$form->id]['entry_id'] : 0; if (!$record) { return; } $saved_message = ''; FrmProFormsHelper::save_draft_msg($saved_message, $form, $record); $message = FrmFormsHelper::get_success_message(array('message' => $saved_message, 'form' => $form, 'entry_id' => $record, 'class' => 'frm_message')); FrmProEntriesController::show_responses($record, $fields, $form, $title, $description, $message); add_filter('frm_continue_to_create', '__return_false'); } } } }
public static function confirmation($method, $form, $form_options, $entry_id, $args = array()) { $opt = !isset($args['action']) || $args['action'] == 'create' ? 'success' : 'edit'; if ($method == 'page' && is_numeric($form_options[$opt . '_page_id'])) { global $post; if (!$post || $form_options[$opt . '_page_id'] != $post->ID) { $page = get_post($form_options[$opt . '_page_id']); $old_post = $post; $post = $page; $content = apply_filters('frm_content', $page->post_content, $form, $entry_id); echo apply_filters('the_content', $content); $post = $old_post; } } else { if ($method == 'redirect') { global $frm_vars; add_filter('frm_use_wpautop', '__return_false'); $success_url = apply_filters('frm_content', trim($form_options[$opt . '_url']), $form, $entry_id); $success_msg = isset($form_options[$opt . '_msg']) ? $form_options[$opt . '_msg'] : __('Please wait while you are redirected.', 'formidable'); $redirect_msg = '<div class="' . esc_attr(FrmFormsHelper::get_form_style_class($form)) . '"><div class="frm-redirect-msg frm_message">' . $success_msg . '<br/>' . sprintf(__('%1$sClick here%2$s if you are not automatically redirected.', 'formidable'), '<a href="' . esc_url($success_url) . '">', '</a>') . '</div></div>'; $redirect_msg = apply_filters('frm_redirect_msg', $redirect_msg, array('entry_id' => $entry_id, 'form_id' => $form->id, 'form' => $form)); $args['id'] = $entry_id; add_filter('frm_redirect_url', 'FrmProEntriesController::redirect_url'); //delete the entry on frm_redirect_url hook $success_url = apply_filters('frm_redirect_url', $success_url, $form, $args); $doing_ajax = FrmAppHelper::doing_ajax(); if (isset($args['ajax']) && $args['ajax'] && $doing_ajax) { echo json_encode(array('redirect' => $success_url)); die; } else { if (!$doing_ajax && !headers_sent()) { wp_redirect(esc_url_raw($success_url)); die; } } add_filter('frm_use_wpautop', '__return_true'); $response = $redirect_msg; $response .= "<script type='text/javascript'>jQuery(document).ready(function(){ setTimeout(window.location='" . esc_url_raw($success_url) . "', 8000); });</script>"; if (headers_sent()) { echo $response; } else { wp_redirect(esc_url_raw($success_url)); die; } } else { $frm_settings = FrmAppHelper::get_settings(); $frmpro_settings = FrmProAppHelper::get_settings(); $msg = $opt == 'edit' ? $frmpro_settings->edit_msg : $frm_settings->success_msg; $message = isset($form->options[$opt . '_msg']) ? $form->options[$opt . '_msg'] : $msg; // Replace $message with save draft message if we are saving a draft FrmProFormsHelper::save_draft_msg($message, $form); $class = 'frm_message'; $message = FrmFormsHelper::get_success_message(compact('message', 'form', 'entry_id', 'class')); return $message; } } }