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; } } }
public static function load_datepicker_js($frm_vars) { if (!isset($frm_vars['datepicker_loaded']) || empty($frm_vars['datepicker_loaded']) || !is_array($frm_vars['datepicker_loaded'])) { return; } $frmpro_settings = FrmProAppHelper::get_settings(); reset($frm_vars['datepicker_loaded']); $datepicker = key($frm_vars['datepicker_loaded']); $load_lang = false; foreach ($frm_vars['datepicker_loaded'] as $date_field_id => $options) { if (strpos($date_field_id, '^') === 0) { // this is a repeating field $trigger_id = 'input[id^="' . str_replace('^', '', $date_field_id) . '"]'; } else { $trigger_id = '#' . $date_field_id; } ?> $(document).on('focusin','<?php echo $trigger_id; ?> ', function(){ $.datepicker.setDefaults($.datepicker.regional['']); $(this).datepicker($.extend($.datepicker.regional['<?php echo $options['locale']; ?> '],{dateFormat:'<?php echo $frmpro_settings->cal_date_format; ?> ',changeMonth:true,changeYear:true,yearRange:'<?php echo $options['start_year'] . ':' . $options['end_year']; ?> ',defaultDate:<?php echo empty($options['default_date']) ? "''" : 'new Date(' . $options['default_date'] . ')'; do_action('frm_date_field_js', $date_field_id, $options); ?> })); }); <?php if (!empty($options['locale']) && !$load_lang) { $load_lang = true; $base_url = FrmAppHelper::jquery_ui_base_url(); wp_enqueue_script('jquery-ui-i18n', $base_url . '/i18n/jquery-ui-i18n.min.js'); // this was enqueued late, so make sure it gets printed add_action('wp_footer', 'print_footer_scripts', 21); } } self::load_timepicker_js($datepicker, $frm_vars); }