/** * Function that outputs the HTML of the confirm page. * * @since 1.0.3 * @return $output */ function ninja_forms_mp_output_confirm_page($form_id) { global $nf_mp_confirm_title, $ninja_forms_processing, $ninja_forms_fields; // Get the pages for the current form. $pages = $ninja_forms_processing->get_form_setting('mp_pages'); if (is_array($pages)) { if (is_object($ninja_forms_processing)) { ?> <div id="mp_confirm_msg" class="ninja-forms-mp-confirm-msg"><?php echo $ninja_forms_processing->get_form_setting('mp_confirm_msg'); ?> </div> <?php } else { $html = ''; } $current_page = $ninja_forms_processing->get_extra_value('_current_page'); foreach ($pages as $num => $vars) { if (function_exists('ninja_forms_conditionals_field_filter')) { $show = ninja_forms_mp_check_page_conditional($form_id, $num); } else { $show = true; } //if ( $show ) { $show_title = true; if (isset($vars['page_title']) and $vars['page_title'] != '') { $first_field = $vars['first_field']; $nf_mp_confirm_title[$first_field] = $vars['page_title']; add_action('ninja_forms_display_before_field', 'ninja_forms_mp_output_confirm_page_titles', 10.5, 2); } foreach ($vars['fields'] as $field_id) { $field = $ninja_forms_processing->get_field_settings($field_id); if ($show) { $ninja_forms_processing->update_extra_value('_current_page', $num); } else { $ninja_forms_processing->update_extra_value('_current_page', 0); } if (isset($ninja_forms_fields[$field['type']])) { $field_type = $field['type']; $type = $ninja_forms_fields[$field['type']]; if (isset($field['data']['req'])) { $req = $field['data']['req']; } else { $req = ''; } $default_label_pos = $type['default_label_pos']; $display_wrap = $type['display_wrap']; $display_label = $type['display_label']; $sub_edit_function = $type['sub_edit_function']; $display_function = $type['display_function']; //Check to see if we are currently editing a form submission. //If we are, then $display_function should be set to the sub_edit_function instead. if (is_object($ninja_forms_processing)) { $sub_id = $ninja_forms_processing->get_form_setting('sub_id'); } else { if (isset($_REQUEST['sub_id'])) { $sub_id = $_REQUEST['sub_id']; } else { $sub_id = ''; } } if ($sub_id != '' and $sub_edit_function != '') { //$display_function = $sub_edit_function; } $process_field = $type['process_field']; $data = $field['data']; //These filters can be used to temporarily modify the settings of a field, i.e. default_value. $data = apply_filters('ninja_forms_field', $data, $field_id); //Check the show_field value of our $data array. If it is set to false, don't output the field. if (isset($data['show_field'])) { $show_field = $data['show_field']; } else { $show_field = true; } if (isset($data['display_style'])) { $display_style = $data['display_style']; } else { $display_style = ''; } if ($display_function != '' and $show_field) { if (isset($data['label_pos'])) { $label_pos = $data['label_pos']; } else { $label_pos = ''; } if ($label_pos == '') { $label_pos = $default_label_pos; } if (isset($data['visible'])) { $visible = $data['visible']; } else { $visible = true; } do_action('ninja_forms_display_before_field', $field_id, $data); //Check to see if display_wrap has been disabled. If it hasn't, show the wrapping DIV. if ($display_wrap) { $field_wrap_class = ninja_forms_get_field_wrap_class($field_id); $field_wrap_class = apply_filters('ninja_forms_field_wrap_class', $field_wrap_class, $field_id); do_action('ninja_forms_display_before_opening_field_wrap', $field_id, $data); ?> <div class="<?php echo $field_wrap_class; ?> " style="<?php echo $display_style; ?> " id="ninja_forms_field_<?php echo $field_id; ?> _div_wrap" data-visible="<?php echo $visible; ?> "> <?php do_action('ninja_forms_display_after_opening_field_wrap', $field_id, $data); } //Check to see if display_label has been disabled. If it hasn't, show the label. if ($display_label) { if ($label_pos == 'left' or $label_pos == 'above') { // Check the label position variable. If it is left or above, show the label. do_action('ninja_forms_display_before_field_label', $field_id, $data); do_action('ninja_forms_display_field_label', $field_id, $data); do_action('ninja_forms_display_after_field_label', $field_id, $data); } } //Check to see if there is a registered display function. If so, call it. if ($display_function != '') { do_action('ninja_forms_display_before_field_function', $field_id, $data); $arguments['field_id'] = $field_id; $arguments['data'] = $data; call_user_func_array($display_function, $arguments); do_action('ninja_forms_display_after_field_function', $field_id, $data); if ($label_pos == 'left' or $label_pos == 'inside') { do_action('ninja_forms_display_field_help', $field_id, $data); } } //Check to see if display_label has been disabled. If it hasn't, show the label. if ($display_label) { if ($label_pos == 'right' or $label_pos == 'below') { // Check the label position variable. If it is right or below, show the label. do_action('ninja_forms_display_before_field_label', $field_id, $data); do_action('ninja_forms_display_field_label', $field_id, $data); do_action('ninja_forms_display_after_field_label', $field_id, $data); } } //Check to see if display_wrap has been disabled. If it hasn't close the wrapping DIV if ($display_wrap) { do_action('ninja_forms_display_before_closing_field_wrap', $field_id, $data); ?> </div> <?php do_action('ninja_forms_display_after_closing_field_wrap', $field_id, $data); } do_action('ninja_forms_display_after_field', $field_id, $data); } } } $ninja_forms_processing->update_extra_value('_current_page', $current_page); } ?> <input type="hidden" id="mp_confirm_page" name="_mp_confirm" value="1"> <?php } }
/** * Outputs the HTML for the Multi-Part Form Breadcrumb Navigation. * **/ function ninja_forms_mp_display_breadcrumb($form_id) { global $ninja_forms_loading, $ninja_forms_processing; if (isset($ninja_forms_loading)) { $form_data = $ninja_forms_loading->get_all_form_settings(); $pages = $ninja_forms_loading->get_form_setting('mp_pages'); } else { $form_data = $ninja_forms_processing->get_all_form_settings(); $pages = $ninja_forms_processing->get_form_setting('mp_pages'); } if (isset($form_data['multi_part']) and $form_data['multi_part'] == 1) { $display = 1; $display = apply_filters('ninja_forms_mp_display_breadcrumbs_visbility', $display, $form_id); if ($display == 1) { $display = ''; } else { $display = 'display:none;'; } $page_count = count($pages); if (is_object($ninja_forms_processing)) { $current_page = $ninja_forms_processing->get_extra_value('_current_page'); } else { $current_page = 1; } if (isset($form_data['mp_breadcrumb']) and $form_data['mp_breadcrumb'] == 1) { ?> <ul id="ninja_forms_form_<?php echo $form_id; ?> _mp_breadcrumbs" class="ninja-forms-mp-breadcrumbs" style="<?php echo $display; ?> "> <?php if (is_array($pages) and !empty($pages)) { foreach ($pages as $number => $page) { $show = ninja_forms_mp_check_page_conditional($form_id, $number); if ($show) { $style = ''; } else { $style = 'display:none;'; } if ($number == $current_page) { $class = 'ninja-forms-mp-breadcrumb-active ninja-forms-form-' . $form_id . '-mp-breadcrumb-active'; } else { $class = 'ninja-forms-mp-breadcrumb-inactive ninja-forms-form-' . $form_id . '-mp-breadcrumb-inactive'; } ?> <li> <input type="submit" id="ninja_forms_field_<?php echo $page['id']; ?> _breadcrumb" name="_mp_page_<?php echo $number; ?> " value="<?php echo $page['page_title']; ?> " class="<?php echo $class; ?> ninja-forms-mp-nav" rel="<?php echo $number; ?> " style="<?php echo $style; ?> "> </li> <?php } } ?> </ul> <?php } ?> <ul style="display:none;"> <?php if (is_array($pages) and !empty($pages)) { foreach ($pages as $page => $vars) { $field_id = $vars['id']; //Figure out if this page should be hidden. if (function_exists('ninja_forms_mp_check_page_conditional')) { $show = ninja_forms_mp_check_page_conditional($form_id, $page); } else { $show = true; } if ($show) { $show = 1; } else { $show = 0; } if ($page == $current_page) { $class = 'ninja-forms-form-' . $form_id . '-mp-page-list-active'; } else { $class = 'ninja-forms-form-' . $form_id . '-mp-page-list-inactive'; } ?> <li> <input type="hidden" id="ninja_forms_field_<?php echo $field_id; ?> " value="<?php echo $show; ?> " rel="<?php echo $page; ?> " class="<?php echo $class; ?> ninja-forms-form-<?php echo $form_id; ?> -mp-page-show"> <input type="hidden" id="ninja_forms_field_<?php echo $field_id; ?> _type" value="_page_divider"> </li> <?php } } ?> </ul> <?php } }
function ninja_forms_mp_nav($form_id) { global $ninja_forms_loading, $ninja_forms_processing; if (isset($ninja_forms_loading)) { $form_data = $ninja_forms_loading->get_all_form_settings(); $all_fields = $ninja_forms_loading->get_all_fields(); $pages = $ninja_forms_loading->get_form_setting('mp_pages'); } else { $form_data = $ninja_forms_processing->get_all_form_settings(); $all_fields = $ninja_forms_processing->get_all_fields(); $pages = $ninja_forms_processing->get_form_setting('mp_pages'); } if (isset($form_data['multi_part'])) { $multi_part = $form_data['multi_part']; } else { $multi_part = 0; } if (isset($form_data['ajax'])) { $ajax = 1; } else { $ajax = 0; } $ajax = 1; if ($multi_part == 1) { if (isset($_REQUEST['_current_page'])) { $current_page = $_REQUEST['_current_page']; } else { $current_page = 1; } if (is_object($ninja_forms_processing) and $ninja_forms_processing->get_extra_value('_current_page') and $form_id == $ninja_forms_processing->get_form_ID()) { $current_page = $ninja_forms_processing->get_extra_value('_current_page'); } if (is_object($ninja_forms_processing) and $ninja_forms_processing->get_form_setting('sub_id')) { $sub_id = $ninja_forms_processing->get_form_setting('sub_id'); } else { $sub_id = ''; } if (is_object($ninja_forms_processing) and $ninja_forms_processing->get_error('confirm-submit') !== false) { $confirm = true; } else { $confirm = false; } $page_count = count($pages); $x = $current_page + 1; $show_next = false; while ($x <= $page_count) { if (ninja_forms_mp_check_page_conditional($form_id, $x)) { $show_next = true; break; } $x++; } if (!$confirm) { $style = ''; } else { $style = 'style="display:none;"'; } if ($sub_id != '') { ?> <input type="hidden" name="_sub_id" value="<?php echo $sub_id; ?> "> <?php } ?> <input type="hidden" name="_current_page" value="<?php echo $current_page; ?> "> <div id="ninja_forms_form_<?php echo $form_id; ?> _mp_nav_wrap" class="ninja-forms-mp-nav-wrap" <?php echo $style; ?> > <?php if ($ajax == 1) { if ($current_page == 1 and $current_page < $page_count) { $prev_style = 'display:none;'; $next_style = ''; if (!$show_next) { $next_style = 'display:none;'; } } else { if ($current_page > 1 and $current_page < $page_count) { $prev_style = ''; $next_style = ''; if (!$show_next) { $next_style = 'display:none;'; } } else { if ($current_page == $page_count) { $prev_style = ''; $next_style = 'display:none;'; } } } ?> <input type="submit" name="_prev" class="ninja-forms-mp-nav ninja-forms-mp-prev" id="ninja_forms_form_<?php echo $form_id; ?> _mp_prev" value="<?php _e('Previous', 'ninja-forms-mp'); ?> " style="<?php echo $prev_style; ?> "> <input type="submit" name="_next" class="ninja-forms-mp-nav ninja-forms-mp-next" id="ninja_forms_form_<?php echo $form_id; ?> _mp_next" value="<?php _e('Next', 'ninja-forms-mp'); ?> " style="<?php echo $next_style; ?> "> <?php } else { if ($current_page != 1 and $next_style) { ?> <input type="submit" name="_prev" class="ninja-forms-mp-nav ninja-forms-mp-prev" id="ninja_forms_form_<?php echo $form_id; ?> _mp_prev" value="<?php _e('Previous', 'ninja-forms-mp'); ?> "> <?php } if ($current_page < $page_count) { ?> <input type="submit" name="_next" class="ninja-forms-mp-nav ninja-forms-mp-next" id="ninja_forms_form_<?php echo $form_id; ?> _mp_next" value="<?php _e('Next', 'ninja-forms-mp'); ?> "> <?php } } ?> </div> <?php } }
function ninja_forms_mp_breadcrumb_update_current_page() { global $ninja_forms_processing; $form_id = $ninja_forms_processing->get_form_ID(); $nav = ''; $all_extras = $ninja_forms_processing->get_all_extras(); if (is_array($all_extras) and !empty($all_extras)) { foreach ($all_extras as $key => $val) { if (strpos($key, '_mp_page_') !== false) { $nav = str_replace('_mp_page_', '', $key); $ninja_forms_processing->update_extra_value('_current_page', $nav); $show = ninja_forms_mp_check_page_conditional($form_id, $nav); if (!$show) { $ninja_forms_processing->update_extra_value('_prev', 'Previous'); ninja_forms_mp_nav_update_current_page(); } } } } return $nav; }