function ninja_forms_preview_link($form_id = '', $echo = true) { if ($form_id == '') { if (isset($_REQUEST['form_id'])) { $form_id = absint($_REQUEST['form_id']); } else { $form_id = ''; } } $base = home_url(); $form_data = ninja_forms_get_form_by_id($form_id); $append_page = Ninja_Forms()->form($form_id)->get_setting('append_page'); if (empty($append_page)) { $opt = nf_get_settings(); if (isset($opt['preview_id'])) { $page_id = $opt['preview_id']; } else { $page_id = ''; } } else { $page_id = $append_page; } if ($echo) { $preview_link = '<a target="_blank" href="' . $base . '/?page_id=' . $page_id . '&preview=true&form_id=' . $form_id . '">' . __('Preview Form', 'ninja-forms') . '</a>'; } else { $preview_link = $base . '/?page_id=' . $page_id . '&preview=true&form_id=' . $form_id; } return $preview_link; }
/** * Create a submission. * * @access public * @since 2.7 * @return int $sub_id */ public function create($form_id = '') { // Create Submission $post = array('post_status' => 'publish', 'post_type' => 'nf_sub'); $sub_id = wp_insert_post($post); // Add our form ID to the submission Ninja_Forms()->sub($sub_id)->update_form_id($form_id); // Get the current sequential ID $form = ninja_forms_get_form_by_id($form_id); if (isset($form['data']['last_sub'])) { $seq_num = $form['data']['last_sub'] + 1; } else { // If we don't have a starting number, start at 1 $seq_num = 1; } $seq_num = apply_filters('nf_sub_seq_num', $seq_num, $form_id); // Add the sequential ID to the post meta Ninja_Forms()->sub($sub_id)->update_seq_num($seq_num); // Update our form data with the new "last seq id." $form['data']['last_sub'] = $seq_num; $args = array('update_array' => array('data' => serialize($form['data'])), 'where' => array('id' => $form_id)); ninja_forms_update_form($args); // Update our sub count Ninja_Forms()->form($form_id)->sub_count = $seq_num - 1; return $sub_id; }
function ninja_forms_export_form($form_id) { if ($form_id == '') { return; } $plugin_settings = nf_get_settings(); $form_row = ninja_forms_get_form_by_id($form_id); $data = $form_row['data']; $form_title = $data['form_title']; $form_row = ninja_forms_serialize_form($form_id); $form_title = preg_replace('/[^a-zA-Z0-9-]/', '', $form_title); $form_title = str_replace(" ", "-", $form_title); if (isset($plugin_settings['date_format'])) { $date_format = $plugin_settings['date_format']; } else { $date_format = 'm/d/Y'; } //$today = date($date_format); $current_time = current_time('timestamp'); $today = date($date_format, $current_time); header("Content-type: application/csv"); header('Content-Disposition: attachment; filename="' . $form_title . '"-"' . $today . '".nff"'); header("Pragma: no-cache"); header("Expires: 0"); echo $form_row; die; }
function ninja_forms_preview_link($form_id = '', $echo = true) { if ($form_id == '') { if (isset($_REQUEST['form_id'])) { $form_id = absint($_REQUEST['form_id']); } else { $form_id = ''; } } $base = home_url(); $form_data = ninja_forms_get_form_by_id($form_id); //if( '' == $form_data['data']['append_page'] ) { if (!isset($form_data['data']['append_page']) or empty($form_data['data']['append_page'])) { // See the comment above about this check. !empty will ensure that it's not either empty quotes or null. $opt = get_option('ninja_forms_settings'); if (isset($opt['preview_id'])) { $page_id = $opt['preview_id']; } else { $page_id = ''; } } else { $page_id = $form_data['data']['append_page']; } if ($echo) { $preview_link = '<a target="_blank" href="' . $base . '/?page_id=' . $page_id . '&preview=true&form_id=' . $form_id . '">' . __('Preview Form', 'ninja-forms') . '</a>'; } else { $preview_link = $base . '/?page_id=' . $page_id . '&preview=true&form_id=' . $form_id; } return $preview_link; }
function ninja_forms_mp_save_form($form_id, $data) { $form_row = ninja_forms_get_form_by_id($form_id); $form_data = $form_row['data']; if (isset($form_data['multi_part'])) { $multi_part = $form_data['multi_part']; } else { $multi_part = 0; } if ($data['multi_part'] == 0 and $multi_part == 1) { $all_fields = ninja_forms_get_fields_by_form_id($form_id); if (is_array($all_fields) and !empty($all_fields)) { foreach ($all_fields as $field) { if ($field['type'] == '_page_divider') { ninja_forms_delete_field($field['id']); } } } } else { if ($data['multi_part'] == 1 and $multi_part == 0) { $args = array('type' => '_page_divider', 'order' => -1); ninja_forms_insert_field($form_id, $args); } } }
function ninja_forms_get_form_by_sub_id($sub_id) { global $wpdb; $form_id = Ninja_Forms()->sub($sub_id)->form_id; $form_row = ninja_forms_get_form_by_id($form_id); return $form_row; }
/** * Outputs the HTML for the ajax processing div. Only used when submitting via ajax. * **/ function ninja_forms_display_process_message($form_id) { global $ninja_forms_processing_error, $ninja_forms_processing_response; $plugin_settings = nf_get_settings(); $form_row = ninja_forms_get_form_by_id($form_id); $process_label = __($plugin_settings['process_label'], 'ninja-forms'); if (isset($form_row['data']['ajax'])) { $ajax = $form_row['data']['ajax']; } else { $ajax = 0; } if ($ajax == 1) { ?> <div id="ninja_forms_form_<?php echo $form_id; ?> _process_msg" style="display:none;" class="ninja-forms-processing"> <?php echo $process_label; ?> <img src="<?php echo NINJA_FORMS_URL; ?> /images/loading.gif" alt="loading"> </div> <?php } }
function nf_check_post() { if (isset($_POST['_ninja_forms_display_submit']) and absint($_POST['_ninja_forms_display_submit']) == 1) { // If our nonce isn't set, bail if (!isset($_POST['_wpnonce'])) { return false; } // If our nonce doesn't validate, bail if (!wp_verify_nonce($_POST['_wpnonce'], 'nf_form_' . absint($_POST['_form_id']))) { return false; } $form_row = ninja_forms_get_form_by_id(absint($_POST['_form_id'])); if (isset($form_row['data']['ajax'])) { $ajax = $form_row['data']['ajax']; } else { $ajax = ''; } if ($ajax != 1) { add_action('init', 'ninja_forms_setup_processing_class', 5); add_action('init', 'ninja_forms_pre_process', 999); } else { if ($ajax == 1 and $_REQUEST['action'] == 'ninja_forms_ajax_submit') { add_action('init', 'ninja_forms_setup_processing_class', 5); add_action('init', 'ninja_forms_pre_process', 999); } } } }
function ninja_forms_mp_display_css($form_id) { $form_row = ninja_forms_get_form_by_id($form_id); $form_data = $form_row['data']; if (isset($form_data['multi_part']) and $form_data['multi_part'] == 1) { wp_enqueue_style('ninja-forms-mp-display', NINJA_FORMS_MP_URL . '/css/ninja-forms-mp-display.css'); } }
function ninja_forms_display_response_message($form_id) { global $ninja_forms_processing; // if ( ! is_object( $ninja_forms_processing ) || $ninja_forms_processing->get_form_ID() != $form_id ) { // return false; // } $plugin_settings = nf_get_settings(); $form_row = ninja_forms_get_form_by_id($form_id); if (isset($form_row['data']['ajax'])) { $ajax = $form_row['data']['ajax']; } else { $ajax = 0; } if ($ajax == 0 and (is_object($ninja_forms_processing) and !$ninja_forms_processing->get_all_errors() and !$ninja_forms_processing->get_all_success_msgs())) { $display = 'display:none;'; } else { $display = ''; } if (is_object($ninja_forms_processing)) { if ($ninja_forms_processing->get_errors_by_location('general')) { $class = 'ninja-forms-error-msg'; } else { if ($ninja_forms_processing->get_all_success_msgs()) { $class = 'ninja-forms-success-msg'; } else { $class = ''; } } } else { $class = ''; } $class = apply_filters('ninja_forms_display_response_message_class', $class, $form_id); //if ( $class != '' ) { echo '<div id="ninja_forms_form_' . $form_id . '_response_msg" style="' . $display . '" class="ninja-forms-response-msg ' . $class . '">'; if (isset($ninja_forms_processing) && $ninja_forms_processing->get_form_ID() == $form_id) { if (is_object($ninja_forms_processing)) { if ($ninja_forms_processing->get_form_ID() == $form_id) { if ($ninja_forms_processing->get_errors_by_location('general')) { foreach ($ninja_forms_processing->get_errors_by_location('general') as $error) { echo '<div>'; echo $error['msg']; echo '</div>'; } } if ($ninja_forms_processing->get_all_success_msgs()) { foreach ($ninja_forms_processing->get_all_success_msgs() as $success) { echo '<div>'; echo $success; echo '</div>'; } } } } } echo '</div>'; //} }
function ninja_forms_manage_sub_form_check($user_id, $form_id) { $user = get_userdata($user_id); $form_row = ninja_forms_get_form_by_id($form_id); $form_data = $form_row['data']; if (isset($form_data['manage_sub']) and $form_data['manage_sub'] == 1) { if (isset($form_data['edit_sub']) and $form_data['edit_sub'] == 1) { $edit_setting = true; } else { $edit_setting = false; } if (isset($form_data['delete_sub']) and $form_data['delete_sub'] == 1) { $delete_setting = true; } else { $delete_setting = false; } $edit = false; $delete = false; if (isset($form_data['sub_edit_user_list']) and $form_data['sub_edit_user_list'] != '') { $user_list = explode(',', $form_data['sub_edit_user_list']); if (in_array($user_id, $user_list)) { $edit = $edit_setting; $delete = $delete_setting; } } if (isset($form_data['manage_sub_roles']) and is_array($form_data['manage_sub_roles'])) { if (is_object($user) and !empty($user)) { foreach ($user->roles as $user_role) { foreach ($user->roles as $user_role) { if (in_array($user_role, $form_data['manage_sub_roles'])) { $edit = $edit_setting; $delete = $delete_setting; break 2; } } } } } if (isset($form_data['override_sub_rules']) and $form_data['override_sub_rules'] == 1) { $override = true; } else { $override = false; } $args = array('edit' => $edit, 'delete' => $delete, 'override' => $override); return $args; } else { return false; } }
function ninja_forms_register_field_upload() { $args = array('name' => 'File Upload', 'edit_options' => array(array('type' => 'text', 'name' => 'upload_types', 'label' => '<strong>' . __('Allowed File Types', 'ninja-forms') . '</strong><br/>' . __('Comma Separated List of allowed file types. An empty list means all file types are accepted. (i.e. .jpg, .gif, .png, .pdf) This is not fool-proof and can be tricked, please remember that there is always a danger in allowing users to upload files.'), 'class' => 'widefat'), array('type' => 'text', 'name' => 'upload_rename', 'label' => '<strong>' . __('Rename Uploaded File', 'ninja-forms') . '</strong><br />' . __('Advanced renaming options. If you do not want to rename the files, leave this box blank', 'ninja-forms') . ' <a href="#" class="ninja-forms-rename-help">' . __('Get help renaming files', 'ninja-forms') . '</a>', 'class' => 'widefat'), array('type' => 'checkbox', 'name' => 'media_library', 'label' => __('Add this file to the WordPress Media Library?', 'ninja-forms-uploads')), array('type' => 'checkbox', 'name' => 'email_attachment', 'label' => __('Email file as an attachment to administrators.', 'ninja-forms-uploads'))), 'edit_function' => 'ninja_forms_field_upload_edit', 'display_function' => 'ninja_forms_field_upload_display', 'group' => 'standard_fields', 'edit_label' => true, 'edit_label_pos' => true, 'edit_req' => true, 'edit_custom_class' => true, 'edit_help' => true, 'edit_desc' => true, 'edit_meta' => false, 'sidebar' => 'template_fields', 'edit_conditional' => true, 'conditional' => array('value' => array('type' => 'text')), 'pre_process' => 'ninja_forms_field_upload_pre_process', 'edit_sub_pre_process' => 'ninja_forms_field_upload_pre_process', 'process' => 'ninja_forms_field_upload_process', 'edit_sub_process' => 'ninja_forms_field_upload_process', 'req_validation' => 'ninja_forms_field_upload_req_validation'); if (isset($_REQUEST['form_id'])) { $form_row = ninja_forms_get_form_by_id($_REQUEST['form_id']); $form_data = $form_row['data']; if (isset($form_data['create_post']) and $form_data['create_post'] == 1) { $option = array('type' => 'checkbox', 'name' => 'featured_image', 'label' => __('Set as featured image for the Post.'), 'class' => 'ninja-forms-upload-multi', 'width' => 'wide'); array_push($args['edit_options'], $option); } } if (function_exists('ninja_forms_register_field')) { ninja_forms_register_field('_upload', $args); } }
function ninja_forms_display_open_form_tag($form_id) { $form_row = ninja_forms_get_form_by_id($form_id); if (isset($form_row['data']['ajax'])) { $ajax = $form_row['data']['ajax']; } else { $ajax = 0; } if ($ajax == 1) { if (is_ssl()) { $url = admin_url('admin-ajax.php', 'https'); } else { $url = admin_url('admin-ajax.php', 'http'); } $url = apply_filters('ninja_forms_ajax_url', $url, $form_id); $url = add_query_arg('action', 'ninja_forms_ajax_submit', $url); //$url = add_query_arg('action', 'test', $url); } else { $url = ''; } $display = 1; $display = apply_filters('ninja_forms_display_form_visibility', $display, $form_id); if ($display != 1) { $hide_class = " ninja-forms-no-display"; } else { $hide_class = ""; } $form_class = ''; $form_class = apply_filters('ninja_forms_form_class', $form_class, $form_id); if (!empty($form_class)) { $form_class = ' ' . $form_class; } ?> <form id="ninja_forms_form_<?php echo $form_id; ?> " enctype="multipart/form-data" method="post" name="" action="<?php echo $url; ?> " class="ninja-forms-form<?php echo $form_class; echo $hide_class; ?> "> <?php }
function ninja_forms_mp_filter_fields($field_results, $form_id) { global $ninja_forms_processing; if (isset($ninja_forms_processing) and $ninja_forms_processing->get_error('confirm-submit')) { return $field_results; } $form_row = ninja_forms_get_form_by_id($form_id); $form_data = $form_row['data']; $form_data = apply_filters('ninja_forms_display_form_form_data', $form_data); if (isset($form_data['ajax'])) { $ajax = $form_data['ajax']; } else { $ajax = 0; } $ajax = 1; if ($ajax != 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 (isset($form_data['multi_part'])) { $multi_part = $form_data['multi_part']; } else { $multi_part = 0; } if ($multi_part == 1) { if (is_array($field_results) and !empty($field_results)) { $pages = array(); $x = 0; foreach ($field_results as $field) { if ($field['type'] == '_page_divider') { $x++; } $pages[$x][] = $field; } } $page_count = count($pages); $field_results = $pages[$current_page]; } } return $field_results; }
function ninja_forms_mp_register_edit_field_ul() { if (isset($_REQUEST['form_id'])) { $form_id = $_REQUEST['form_id']; $form_row = ninja_forms_get_form_by_id($form_id); $form_data = $form_row['data']; if (isset($form_data['multi_part'])) { $multi_part = $form_data['multi_part']; } else { $multi_part = 0; } if ($multi_part == 1) { remove_action('ninja_forms_edit_field_ul', 'ninja_forms_edit_field_output_ul'); add_action('ninja_forms_edit_field_ul', 'ninja_forms_edit_field_output_mp_ul'); add_action('ninja_forms_edit_field_before_ul', 'ninja_forms_edit_field_open_div'); } } }
/** * Front-end display of widget. * * @see WP_Widget::widget() * * @param array $args Widget arguments. * @param array $instance Saved values from database. */ public function widget($args, $instance) { extract($args); $form_id = $instance['form_id']; $form_row = ninja_forms_get_form_by_id($form_id); $form_data = $form_row['data']; if (isset($form_data['form_title'])) { $title = $form_data['form_title']; } else { $title = ''; } $title = apply_filters('widget_title', $title); $display_title = $instance['display_title']; echo $before_widget; if (!empty($title) and $display_title == 1) { echo $before_title . $title . $after_title; } ninja_forms_display_form($form_id); echo $after_widget; }
function ninja_forms_display_form_visibility($display, $form_id) { global $ninja_forms_processing; $form_row = ninja_forms_get_form_by_id($form_id); $form_data = $form_row['data']; if (is_object($ninja_forms_processing)) { $hide_complete = $ninja_forms_processing->get_form_setting('hide_complete'); } else { if (isset($form_data['hide_complete'])) { $hide_complete = $form_data['hide_complete']; } else { $hide_complete = 0; } } //If the plugin setting 'hide complete' has been set and a success message exists, hide the form. if ($hide_complete == 1 and (is_object($ninja_forms_processing) and $ninja_forms_processing->get_form_setting('processing_complete') == 1) and $ninja_forms_processing->get_form_ID() == $form_id) { $display = 0; } return $display; }
function ninja_forms_mp_check_page_conditional_before_pre_process() { global $ninja_forms_processing; $form_id = $ninja_forms_processing->get_form_ID(); $form_row = ninja_forms_get_form_by_id($form_id); if (isset($form_row['data']['multi_part']) and $form_row['data']['multi_part'] == 1) { if (isset($form_row['data']['ajax']) and $form_row['data']['ajax'] == 1) { if (function_exists('ninja_forms_conditionals_field_filter')) { $pages = $ninja_forms_processing->get_form_setting('mp_pages'); if (is_array($pages) and !empty($pages)) { foreach ($pages as $page => $vars) { $show = ninja_forms_mp_check_page_conditional($form_id, $page); if (!$show) { ninja_forms_mp_conditional_remove_page($form_id, $page); } } } } } } }
function ninja_forms_display_form_title($form_id) { $form_row = ninja_forms_get_form_by_id($form_id); $form_data = $form_row['data']; if (isset($form_data['show_title'])) { $show_title = $form_data['show_title']; } else { $show_title = 0; } if (isset($form_data['form_title'])) { $form_title = $form_data['form_title']; } else { $form_title = ''; } $title_class = 'ninja-forms-form-title'; $title_class = apply_filters('ninja_forms_form_title_class', $title_class, $form_id); $form_title = '<h2 class="' . $title_class . '">' . $form_title . '</h2>'; $form_title = apply_filters('ninja_forms_form_title', $form_title, $form_id); if ($show_title == 1) { echo $form_title; } }
function ninja_forms_mp_admin_css() { if (isset($_REQUEST['form_id'])) { $form_id = $_REQUEST['form_id']; } else { $form_id = ''; } if ($form_id != '' and $form_id != 'new' and $form_id != 'all') { $form_row = ninja_forms_get_form_by_id($form_id); $form_data = $form_row['data']; if (isset($form_data['multi_part'])) { $multi_part = $form_data['multi_part']; } else { $multi_part = 0; } if ($multi_part == 1) { if (isset($_REQUEST['page']) and $_REQUEST['page'] == 'ninja-forms') { wp_enqueue_style('ninja-forms-mp-admin', NINJA_FORMS_MP_URL . '/css/ninja-forms-mp-admin.css', array('ninja-forms-admin')); } } } }
function ninja_forms_save_form_settings($form_id, $data) { global $wpdb, $ninja_forms_admin_update_message; $form_row = ninja_forms_get_form_by_id($form_id); $form_data = $form_row['data']; foreach ($data as $key => $val) { $form_data[$key] = $val; } if ($form_id != 'new') { $date_updated = date('Y-m-d H:i:s', strtotime('now')); $data_array = array('data' => serialize($form_data), 'date_updated' => $date_updated); $wpdb->update(NINJA_FORMS_TABLE_NAME, $data_array, array('id' => $form_id)); } else { $data_array = array('data' => serialize($form_data)); $wpdb->insert(NINJA_FORMS_TABLE_NAME, $data_array); $redirect = add_query_arg(array('form_id' => $wpdb->insert_id, 'update_message' => urlencode(__('Form Settings Saved', 'ninja-forms')))); do_action('ninja_forms_save_new_form_settings', $wpdb->insert_id, $data); wp_redirect($redirect); exit; } $update_msg = __('Form Settings Saved', 'ninja-forms'); return $update_msg; }
function ninja_forms_register_sidebar_post_fields() { $add_field = apply_filters('ninja_forms_use_post_fields', false); if (!$add_field) { return false; } if (isset($_REQUEST['form_id'])) { $form_id = absint($_REQUEST['form_id']); } else { $form_id = ''; } if (function_exists('ninja_forms_get_current_tab')) { $current_tab = ninja_forms_get_current_tab(); } if ($form_id != '' and $current_tab == 'fields') { $form_row = ninja_forms_get_form_by_id($form_id); if (is_array($form_row) and !empty($form_row)) { $form_data = $form_row['data']; if (isset($form_data['create_post'])) { $create_post = $form_data['create_post']; } else { $create_post = ''; } } else { $create_post = ''; } } else { $create_post = ''; } $args = array('name' => 'Post Creation Fields', 'page' => 'ninja-forms', 'tab' => 'builder', 'display_function' => 'ninja_forms_sidebar_display_fields'); if ($create_post == 1) { if (function_exists('ninja_forms_register_sidebar')) { ninja_forms_register_sidebar('post_fields', $args); } } }
function format_value($value, $post_id, $field) { if (!$value) { return false; } if ($value == 'null') { return false; } if (is_array($value)) { foreach ($value as $k => $v) { $form = ninja_forms_get_form_by_id($v); $value[$k] = $form; } } else { $value = ninja_forms_get_form_by_id($value); } return $value; }
/** * Output our field editing metabox to the CPT editing page. * * @access public * @since 2.7 * @return void */ public function save_sub_metabox($post) { $date_submitted = apply_filters('nf_edit_sub_date_submitted', date('M j, Y @ h:i', strtotime($post->post_date)), $post->ID); $date_modified = apply_filters('nf_edit_sub_date_modified', date('M j, Y @ h:i', strtotime($post->post_modified)), $post->ID); if ($post->post_author != 0) { $user_data = get_userdata($post->post_author); $first_name = $user_data->first_name; $last_name = $user_data->last_name; if ($first_name != '' && $last_name != '') { $name = $first_name . ' ' . $last_name; } else { if ($user_data->display_name != '') { $name = $user_data->display_name; } else { $name = $user_data->user_login; } } $name = apply_filters('nf_edit_sub_username', $name, $post->post_author); } $form_id = Ninja_Forms()->sub($post->ID)->form_id; $form = ninja_forms_get_form_by_id($form_id); $form_title = $form['data']['form_title']; ?> <input type="hidden" name="nf_edit_sub" value="1"> <div class="submitbox" id="submitpost"> <div id="minor-publishing"> <div id="misc-publishing-actions"> <div class="misc-pub-section misc-pub-post-status"> <label for="post_status"><?php _e('#', 'ninja-forms'); ?> :</label> <span id="sub-seq-num-display"><?php echo Ninja_Forms()->sub($post->ID)->get_seq_num(); ?> </span> </div> <div class="misc-pub-section misc-pub-post-status"> <label for="post_status"><?php _e('Status', 'ninja-forms'); ?> :</label> <span id="sub-status-display"><?php echo apply_filters('nf_sub_edit_status', __('Submitted', 'ninja-forms'), $post->ID); ?> </span> <?php do_action('nf_sub_edit_after_status', $post); ?> </div> <div class="misc-pub-section misc-pub-post-status"> <label for="post_status"><?php _e('Form', 'ninja-forms'); ?> :</label> <span id="sub-form-title-display"><?php echo $form_title; ?> </span> </div> <div class="misc-pub-section curtime misc-pub-curtime"> <span id="timestamp"> <?php _e('Submitted on', 'ninja-forms'); ?> : <b><?php echo $date_submitted; ?> </b> </span> <?php do_action('nf_sub_edit_date_submitted', $post); ?> </div> <div class="misc-pub-section curtime misc-pub-curtime"> <span id="timestamp"> <?php _e('Modified on', 'ninja-forms', $post); ?> : <b><?php echo $date_modified; ?> </b> </span> <?php do_action('nf_sub_edit_date_modified', $post); ?> </div> <?php if ($post->post_author != 0) { ?> <div class="misc-pub-section misc-pub-visibility" id="visibility"> <?php _e('Submitted By', 'ninja-forms'); ?> : <span id="post-visibility-display"><?php echo $name; ?> </span> </div> <?php } ?> </div> </div> <div id="major-publishing-actions"> <div id="delete-action"> <!-- <a class="submitdelete deletion" href="<?php echo get_delete_post_link($post->ID); ?> ">Move to Trash</a>--></div> <div id="publishing-action"> <span class="spinner"></span> <input name="original_publish" type="hidden" id="original_publish" value="<?php _e('Update', 'ninja-forms'); ?> "> <input name="save" type="submit" class="button button-primary button-large" id="publish" accesskey="p" value="<?php _e('Update', 'ninja-forms'); ?> "> </div> <div class="clear"></div> </div> </div> <?php }
function ninja_forms_output_tab_metabox($form_id = '', $slug, $metabox) { $plugin_settings = nf_get_settings(); if ($form_id != '') { $form_row = ninja_forms_get_form_by_id($form_id); $current_settings = $form_row['data']; } else { $form_id = ''; $current_settings = nf_get_settings(); } $page = $metabox['page']; $tab = $metabox['tab']; $title = $metabox['title']; if (isset($metabox['settings'])) { $settings = $metabox['settings']; } else { $settings = ''; } if (isset($metabox['display_function'])) { $display_function = $metabox['display_function']; } else { $display_function = ''; } if ($metabox['state'] == 'closed') { $state = 'display:none;'; } else { $state = ''; } if (isset($plugin_settings['metabox_state'][$page][$tab][$slug])) { $state = $plugin_settings['metabox_state'][$page][$tab][$slug]; } if (isset($metabox['display_container'])) { $display_container = $metabox['display_container']; } else { $display_container = true; } if ($display_container) { ?> <div id="ninja_forms_metabox_<?php echo $slug; ?> " class="postbox "> <span class="item-controls"> <a class="item-edit metabox-item-edit" id="edit_id" title="<?php _e('Edit Menu Item', 'ninja-forms'); ?> " href="#"><?php _e('Edit Menu Item', 'ninja-forms'); ?> </a> </span> <h3 class="hndle"><span><?php _e($title, 'ninja-forms'); ?> </span></h3> <div class="inside" style="<?php echo $state; ?> "> <table class="form-table"> <tbody> <?php } if (is_array($settings) and !empty($settings)) { foreach ($settings as $s) { $value = ''; if (isset($s['name'])) { $name = $s['name']; } else { $name = ''; } $name_array = ''; if (strpos($name, '[') !== false) { $name_array = str_replace(']', '', $name); $name_array = explode('[', $name_array); } if (isset($s['type'])) { $type = $s['type']; } else { $type = ''; } if (isset($s['desc'])) { $desc = $s['desc']; } else { $desc = ''; } if (isset($s['help_text'])) { $help_text = $s['help_text']; } else { $help_text = ''; } if (isset($s['label'])) { $label = $s['label']; } else { $label = ''; } if (isset($s['class'])) { $class = $s['class']; } else { $class = ''; } if (isset($s['tr_class'])) { $tr_class = $s['tr_class']; } else { $tr_class = ''; } if (isset($s['max_file_size'])) { $max_file_size = $s['max_file_size']; } else { $max_file_size = ''; } if (isset($s['select_all'])) { $select_all = $s['select_all']; } else { $select_all = false; } if (isset($s['default_value'])) { $default_value = $s['default_value']; } else { $default_value = ''; } if (isset($s['style'])) { $style = $s['style']; } else { $style = ''; } if (isset($s['size'])) { $size = $s['size']; } else { $size = ''; } if (isset($s['min'])) { $min = $s['min']; } else { $min = 0; } if (isset($s['max'])) { $max = $s['max']; } else { $max = ''; } if (is_array($name_array)) { $tmp = ''; foreach ($name_array as $n) { if ($tmp == '') { if (isset($current_settings[$n])) { $tmp = $current_settings[$n]; } } else { if (isset($tmp[$n])) { $tmp = $tmp[$n]; } } } $value = !is_array($tmp) && !is_object($tmp) ? $tmp : ''; } else { if (isset($current_settings[$name])) { if (is_array($current_settings[$name])) { $value = ninja_forms_stripslashes_deep($current_settings[$name]); } else { $value = stripslashes($current_settings[$name]); } } else { $value = ''; } } if ($value == '') { $value = $default_value; } ?> <tr id="row_<?php echo $name; ?> " <?php if ($tr_class != '') { ?> class="<?php echo $tr_class; ?> "<?php } ?> <?php if ($style != '') { ?> style="<?php echo $style; ?> "<?php } ?> > <?php if ($s['type'] == 'desc' and !$label) { ?> <td colspan="2"> <?php } else { ?> <th scope="row"> <label for="<?php echo $name; ?> "><?php echo $label; ?> </label> </th> <td> <?php } ?> <?php switch ($s['type']) { case 'text': $value = ninja_forms_esc_html_deep($value); ?> <input type="text" class="code widefat <?php echo $class; ?> " name="<?php echo $name; ?> " id="<?php echo $name; ?> " value="<?php echo $value; ?> " /> <?php if ($help_text != '') { ?> <a href="#" class="tooltip"> <img id="" class='ninja-forms-help-text' src="<?php echo NINJA_FORMS_URL; ?> images/question-ico.gif" title=""> <span> <img class="callout" src="<?php echo NINJA_FORMS_URL; ?> /images/callout.gif" /> <?php echo $help_text; ?> </span> </a> <?php } break; case 'number': $value = ninja_forms_esc_html_deep($value); ?> <input type="number" class="code <?php echo $class; ?> " name="<?php echo $name; ?> " id="<?php echo $name; ?> " value="<?php echo $value; ?> " min="<?php echo $min; ?> " max="<?php echo $max; ?> " /> <?php if ($help_text != '') { ?> <a href="#" class="tooltip"> <img id="" class='ninja-forms-help-text' src="<?php echo NINJA_FORMS_URL; ?> images/question-ico.gif" title=""> <span> <img class="callout" src="<?php echo NINJA_FORMS_URL; ?> /images/callout.gif" /> <?php echo $help_text; ?> </span> </a> <?php } break; case 'select': ?> <select name="<?php echo $name; ?> " id="<?php echo $name; ?> " class="<?php echo $class; ?> "> <?php if (is_array($s['options']) and !empty($s['options'])) { foreach ($s['options'] as $option) { ?> <option value="<?php echo $option['value']; ?> " <?php selected($value, $option['value']); ?> ><?php echo $option['name']; ?> </option> <?php } } ?> </select> <?php if ($help_text != '') { ?> <a href="#" class="tooltip"> <img id="" class='ninja-forms-help-text' src="<?php echo NINJA_FORMS_URL; ?> images/question-ico.gif" title=""> <span> <img class="callout" src="<?php echo NINJA_FORMS_URL; ?> images/callout.gif" /> <?php echo $help_text; ?> </span> </a> <?php } break; case 'multi_select': if ($value == '') { $value = array(); } ?> <input type="hidden" name="<?php echo $name; ?> " value=""> <select name="<?php echo $name; ?> []" id="<?php echo $name; ?> " class="<?php echo $class; ?> " multiple="multiple" size="<?php echo $size; ?> "> <?php if (is_array($s['options']) and !empty($s['options'])) { foreach ($s['options'] as $option) { ?> <option value="<?php echo $option['value']; ?> " <?php selected(in_array($option['value'], $value)); ?> ><?php echo $option['name']; ?> </option> <?php } } ?> </select> <?php if ($help_text != '') { ?> <a href="#" class="tooltip"> <img id="" class='ninja-forms-help-text' src="<?php echo NINJA_FORMS_URL; ?> images/question-ico.gif" title=""> <span> <img class="callout" src="<?php echo NINJA_FORMS_URL; ?> /images/callout.gif" /> <?php echo $help_text; ?> </span> </a> <?php } break; case 'checkbox': ?> <input type="hidden" name="<?php echo $name; ?> " value="0"> <input type="checkbox" name="<?php echo $name; ?> " value="1" <?php checked($value, 1); ?> id="<?php echo $name; ?> " class="<?php echo $class; ?> "> <?php if ($help_text != '') { ?> <a href="#" class="tooltip"> <img id="" class='ninja-forms-help-text' src="<?php echo NINJA_FORMS_URL; ?> images/question-ico.gif" title=""> <span> <img class="callout" src="<?php echo NINJA_FORMS_URL; ?> images/callout.gif" /> <?php echo $help_text; ?> </span> </a> <?php } break; case 'checkbox_list': if ($value == '') { $value = array(); } ?> <input type="hidden" name="<?php echo $name; ?> " value=""> <?php if ($select_all) { ?> <label> <input type="checkbox" name="" value="" id="<?php echo $name; ?> _select_all" class="ninja-forms-select-all" title="ninja-forms-<?php echo $name; ?> "> - <?php _e('Select All', 'ninja-forms'); ?> </label> <?php } else { if (is_array($s['options']) and isset($s['options'][0])) { $option_name = $s['options'][0]['name']; $option_value = $s['options'][0]['value']; ?> <label> <input type="checkbox" class="ninja-forms-<?php echo $name; ?> <?php echo $class; ?> " name="<?php echo $name; ?> []" value="<?php echo $option_value; ?> " <?php checked(in_array($option_value, $value)); ?> id="<?php echo $option_name; ?> "> <?php echo $option_name; ?> </label> <?php } } ?> <?php if (is_array($s['options']) and !empty($s['options'])) { $x = 0; foreach ($s['options'] as $option) { if (!$select_all and $x > 0 or $select_all) { $option_name = $option['name']; $option_value = $option['value']; ?> <label> <input type="checkbox" class="ninja-forms-<?php echo $name; ?> <?php echo $class; ?> " name="<?php echo $name; ?> []" value="<?php echo $option_value; ?> " <?php checked(in_array($option_value, $value)); ?> id="<?php echo $option_name; ?> "> <?php echo $option_name; ?> </label> <?php } $x++; } } break; case 'radio': if (is_array($s['options']) and !empty($s['options'])) { $x = 0; ?> <?php foreach ($s['options'] as $option) { ?> <input type="radio" name="<?php echo $name; ?> " value="<?php echo $option['value']; ?> " id="<?php echo $name . "_" . $x; ?> " <?php checked($value, $option['value']); ?> class="<?php echo $class; ?> "> <label for="<?php echo $name . "_" . $x; ?> "><?php echo $option['name']; ?> </label> <?php if ($help_text != '') { ?> <a href="#" class="tooltip"> <img id="" class='ninja-forms-help-text' src="<?php echo NINJA_FORMS_URL; ?> images/question-ico.gif" title=""> <span> <img class="callout" src="<?php echo NINJA_FORMS_URL; ?> images/callout.gif" /> <?php echo $help_text; ?> </span> </a> <?php } ?> <br /> <?php $x++; } } break; case 'textarea': $value = ninja_forms_esc_html_deep($value); ?> <textarea name="<?php echo $name; ?> " id="<?php echo $name; ?> " class="<?php echo $class; ?> "><?php echo $value; ?> </textarea> <?php break; case 'rte': $args = apply_filters('ninja_forms_admin_metabox_rte', array()); wp_editor($value, $name, $args); break; case 'file': ?> <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_file_size; ?> " /> <input type="file" name="<?php echo $name; ?> " id="<?php echo $name; ?> " class="<?php echo $class; ?> "> <?php break; case 'desc': echo $desc; break; case 'hidden': ?> <input type="hidden" name="<?php echo $name; ?> " id="<?php echo $name; ?> " value="<?php echo $value; ?> "> <?php break; case 'submit': ?> <input type="submit" name="<?php echo $name; ?> " class="<?php echo $class; ?> " value="<?php echo $label; ?> "> <?php break; case 'button': // set a default value for $class to maintain the standard WordPress UI if (isset($class) && empty($class)) { $class = "button-secondary"; } ?> <input type="button" name="<?php echo $name; ?> " id="<?php echo $name; ?> " class="<?php echo $class; ?> " value="<?php echo $label; ?> "> <?php break; default: if (isset($s['display_function'])) { $s_display_function = $s['display_function']; if ($s_display_function != '') { $arguments['form_id'] = $form_id; $arguments['data'] = $current_settings; $arguments['field'] = $s; call_user_func_array($s_display_function, $arguments); } } break; } if ($desc != '' and $s['type'] != 'desc') { ?> <p class="description"> <?php echo $desc; ?> </p> <?php } echo '</td></tr>'; } } if ($display_function != '') { if ($form_id != '') { $arguments['form_id'] = $form_id; } $arguments['metabox'] = $metabox; call_user_func_array($display_function, $arguments); } if ($display_container) { ?> </tbody> </table> </div> </div> <?php } }
function ninja_forms_display_js($form_id, $local_vars = '') { global $post, $ninja_forms_display_localize_js, $wp_locale, $ninja_forms_loading, $ninja_forms_processing; if (defined('NINJA_FORMS_JS_DEBUG') && NINJA_FORMS_JS_DEBUG) { $suffix = ''; $src = 'dev'; } else { $suffix = '.min'; $src = 'min'; } // Get all of our form fields to see if we need to include the datepicker and/or jqueryUI $datepicker = 0; $qtip = 0; $mask = 0; $currency = 0; $rating = 0; $calc_value = array(); $calc_fields = array(); $calc_eq = false; $sub_total = false; $tax = false; if (isset($ninja_forms_loading)) { $fields = $ninja_forms_loading->get_all_fields(); } else { $fields = $ninja_forms_processing->get_all_fields(); } if (is_array($fields) and !empty($fields)) { foreach ($fields as $field_id => $user_value) { if (isset($ninja_forms_loading)) { $field = $ninja_forms_loading->get_field_settings($field_id); } else { $field = $ninja_forms_processing->get_field_settings($field_id); } if (isset($field['id'])) { $field_id = $field['id']; } else { $field_id = ''; } if (isset($field['type'])) { $field_type = $field['type']; } else { $field_type = ''; } $field['data'] = apply_filters('ninja_forms_display_script_field_data', $field['data'], $field_id); if (isset($field['data']['datepicker']) and $field['data']['datepicker'] == 1) { $datepicker = 1; } if (isset($field['data']['show_help']) and $field['data']['show_help'] == 1) { $qtip = 1; } if (isset($field['data']['mask']) and $field['data']['mask'] != '') { $mask = 1; } if (isset($field['data']['mask']) and $field['data']['mask'] == 'currency') { $currency = 1; } if ($field_type == '_rating') { $rating = 1; } // Populate an array of calculation values for the form fields. // Check to see if this field has a calc_value. If it does, add this to our calc_value array so that we can tell what it is in our JS. if (isset($field['data']['calc_value'])) { $calc_value[$field_id] = $field['data']['calc_value']; } else { if ($field_type == '_list') { // Get a list of options and their 'calc' setting. if (isset($field['data']['list']['options']) and is_array($field['data']['list']['options'])) { $list_options = $field['data']['list']['options']; foreach ($list_options as $option) { if (isset($field['data']['list_show_value']) and $field['data']['list_show_value'] == 1) { $key = $option['value']; } else { $key = $option['label']; } if (!isset($option['calc']) or isset($option['calc']) and empty($option['calc'])) { $option['calc'] = 0; } $calc_value[$field_id][$key] = $option['calc']; } } } } // Check to see if this is a tax field; if ($field_type == '_tax') { $tax = $field_id; } // Check to see if this is a calculation field. If it is, store it in our calc_fields array along with its method. if ($field_type == '_calc') { if (isset($field['data']['calc_method'])) { $calc_method = $field['data']['calc_method']; } else { $calc_method = 'auto'; } // Check to see if this is a sub_total calculation if (isset($field['data']['payment_sub_total']) and $field['data']['payment_sub_total'] == 1) { $sub_total = $field_id; } switch ($calc_method) { case 'auto': $calc_fields[$field_id] = array('method' => 'auto'); break; case 'fields': $field_ops = $field['data']['calc']; $calc_fields[$field_id] = array('method' => 'fields', 'fields' => $field_ops); break; case 'eq': $calc_fields[$field_id] = array('method' => 'eq', 'eq' => $field['data']['calc_eq']); $calc_eq = true; break; } $calc_fields[$field_id]['places'] = $field['data']['calc_places']; } } // Loop through our fields again looking for calc fields that are totals. foreach ($fields as $field_id => $user_value) { if (isset($ninja_forms_loading)) { $field = $ninja_forms_loading->get_field_settings($field_id); } else { $field = $ninja_forms_processing->get_field_settings($field_id); } if (isset($field['id'])) { $field_id = $field['id']; } else { $field_id = ''; } if (isset($field['type'])) { $field_type = $field['type']; } else { $field_type = ''; } if ($field_type == '_calc') { if (isset($field['data']['payment_total']) and $field['data']['payment_total'] == 1) { if ($sub_total and $tax and $field['data']['calc_method'] == 'auto') { $calc_fields[$field_id]['method'] = 'eq'; $calc_fields[$field_id]['eq'] = 'field_' . $sub_total . ' + ( field_' . $sub_total . ' * field_' . $tax . ' )'; $calc_eq = true; } } } } } // Loop through our fields once more to add them to our calculation field with the method of 'eq'. if ($calc_eq) { foreach ($calc_fields as $calc_id => $calc) { if ($calc['method'] == 'eq') { foreach ($fields as $field_id => $user_value) { if (isset($ninja_forms_loading)) { $field = $ninja_forms_loading->get_field_settings($field_id); } else { $field = $ninja_forms_processing->get_field_settings($field_id); } if (preg_match("/\\bfield_" . $field_id . "\\b/i", $calc['eq'])) { $calc_fields[$calc_id]['fields'][] = $field['id']; } } } } } if ($datepicker == 1) { wp_enqueue_script('jquery-ui-datepicker'); } if ($qtip == 1) { wp_enqueue_script('jquery-qtip', NINJA_FORMS_URL . '/js/min/jquery.qtip.min.js', array('jquery', 'jquery-ui-position')); } if ($mask == 1) { wp_enqueue_script('jquery-maskedinput', NINJA_FORMS_URL . '/js/min/jquery.maskedinput.min.js', array('jquery')); } if ($currency == 1) { wp_enqueue_script('jquery-autonumeric', NINJA_FORMS_URL . '/js/min/autoNumeric.min.js', array('jquery')); } if ($rating == 1) { wp_enqueue_script('jquery-rating', NINJA_FORMS_URL . '/js/min/jquery.rating.min.js', array('jquery')); } $form_row = ninja_forms_get_form_by_id($form_id); $form_row = apply_filters('ninja_forms_display_form_form_data', $form_row); if (isset($form_row['data']['ajax'])) { $ajax = $form_row['data']['ajax']; } else { $ajax = 0; } if (isset($form_row['data']['hide_complete'])) { $hide_complete = $form_row['data']['hide_complete']; } else { $hide_complete = 0; } if (isset($form_row['data']['clear_complete'])) { $clear_complete = $form_row['data']['clear_complete']; } else { $clear_complete = 0; } $ninja_forms_js_form_settings['ajax'] = $ajax; $ninja_forms_js_form_settings['hide_complete'] = $hide_complete; $ninja_forms_js_form_settings['clear_complete'] = $clear_complete; $calc_settings['calc_value'] = ''; $calc_settings['calc_fields'] = ''; if (!empty($calc_value)) { $calc_settings['calc_value'] = $calc_value; } $calc_settings['calc_fields'] = $calc_fields; $plugin_settings = get_option("ninja_forms_settings"); if (isset($plugin_settings['date_format'])) { $date_format = $plugin_settings['date_format']; } else { $date_format = 'm/d/Y'; } $date_format = ninja_forms_date_to_datepicker($date_format); $currency_symbol = $plugin_settings['currency_symbol']; $password_mismatch = esc_html(stripslashes($plugin_settings['password_mismatch'])); $msg_format = $plugin_settings['msg_format']; $msg_format = 'inline'; wp_enqueue_script('ninja-forms-display', NINJA_FORMS_URL . '/js/' . $src . '/ninja-forms-display' . $suffix . '.js', array('jquery', 'jquery-form')); if (!isset($ninja_forms_display_localize_js) or !$ninja_forms_display_localize_js) { wp_localize_script('ninja-forms-display', 'ninja_forms_settings', array('ajax_msg_format' => $msg_format, 'password_mismatch' => $password_mismatch, 'plugin_url' => NINJA_FORMS_URL, 'date_format' => $date_format, 'currency_symbol' => $currency_symbol)); $ninja_forms_display_localize_js = true; } wp_localize_script('ninja-forms-display', 'thousandsSeparator', addslashes($wp_locale->number_format['thousands_sep'])); wp_localize_script('ninja-forms-display', 'decimalPoint', addslashes($wp_locale->number_format['decimal_point'])); wp_localize_script('ninja-forms-display', 'ninja_forms_form_' . $form_id . '_settings', $ninja_forms_js_form_settings); wp_localize_script('ninja-forms-display', 'ninja_forms_form_' . $form_id . '_calc_settings', $calc_settings); wp_localize_script('ninja-forms-display', 'ninja_forms_password_strength', array('empty' => __('Strength indicator', 'ninja-forms'), 'short' => __('Very weak', 'ninja-forms'), 'bad' => __('Weak', 'ninja-forms'), 'good' => _x('Medium', 'password strength', 'ninja-forms'), 'strong' => __('Strong', 'ninja-forms'), 'mismatch' => __('Mismatch', 'ninja-forms'))); }
/** * Get a form by field id * * @since 1.0 * @param int $field_id * @param array $form */ function ninja_forms_get_form_by_field_id($field_id) { global $wpdb; $form_id = $wpdb->get_row($wpdb->prepare("SELECT form_id FROM " . NINJA_FORMS_FIELDS_TABLE_NAME . " WHERE id = %d", $field_id), ARRAY_A); $form_id = $form_id['form_id']; $form = ninja_forms_get_form_by_id($form_id); return $form; }
/** * Removes old email settings form a single form. * * @since 2.8.4 * @return void */ function nf_remove_old_email_send_to( $form_id ) { if ( empty ( $form_id ) ) return false; // Remove any "Admin mailto" settings we might have. $form_row = ninja_forms_get_form_by_id( $form_id ); if ( isset ( $form_row['data']['admin_mailto'] ) ) { unset ( $form_row['data']['admin_mailto'] ); $args = array( 'update_array' => array( 'data' => serialize( $form_row['data'] ), ), 'where' => array( 'id' => $form_id, ), ); ninja_forms_update_form( $args ); } // Update any old email settings we have. $fields = Ninja_Forms()->form( $form_id )->fields; // Create a notification for our user email if ( ! empty ( $fields ) ) { foreach ( $fields as $field_id => $field ) { if ( isset ( $field['data']['send_email'] ) && $field['data']['send_email'] == 1 ) { // Add this field to our $addresses variable. unset( $field['data']['send_email'] ); unset( $field['data']['replyto_email'] ); unset( $field['data']['from_name'] ); $args = array( 'update_array' => array( 'data' => serialize( $field['data'] ), ), 'where' => array( 'id' => $field_id, ), ); ninja_forms_update_field( $args ); } } } }
function ninja_forms_get_form_by_sub_id($sub_id) { global $wpdb; $sub_row = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . NINJA_FORMS_SUBS_TABLE_NAME . " WHERE id = %d", $sub_id), ARRAY_A); $form_id = $sub_row['form_id']; $form_row = ninja_forms_get_form_by_id($form_id); return $form_row; }
/** * Add the submitted vars to $this->data['fields']. * Also runs any functions registered to the field's pre_process hook. * * */ function setup_submitted_vars() { global $ninja_forms_fields, $wp; $form_ID = $this->data['form_ID']; //Get our plugin settings $plugin_settings = nf_get_settings(); $req_field_error = __($plugin_settings['req_field_error'], 'ninja-forms'); if (empty($this->data)) { return ''; } $this->data['action'] = 'submit'; $this->data['form']['form_url'] = $this->get_current_url(); $cache = isset($_SESSION['ninja_forms_transient_id']) ? get_transient($_SESSION['ninja_forms_transient_id']) : null; // If we have fields in our $_POST object, then loop through the $_POST'd field values and add them to our global variable. if (isset($_POST['_ninja_forms_display_submit']) or isset($_POST['_ninja_forms_edit_sub'])) { $field_results = ninja_forms_get_fields_by_form_id($form_ID); //$field_results = apply_filters('ninja_forms_display_fields_array', $field_results, $form_ID); foreach ($field_results as $field) { $data = $field['data']; $field_id = $field['id']; $field_type = $field['type']; if (isset($_POST['ninja_forms_field_' . $field_id])) { $val = ninja_forms_stripslashes_deep($_POST['ninja_forms_field_' . $field_id]); $this->data['submitted_fields'][] = $field_id; } else { $val = false; } $this->data['fields'][$field_id] = $val; $field_row = ninja_forms_get_field_by_id($field_id); $field_row['data']['field_class'] = 'ninja-forms-field'; $this->data['field_data'][$field_id] = $field_row; } foreach ($_POST as $key => $val) { if (substr($key, 0, 1) == '_') { $this->data['extra'][$key] = $val; } } //Grab the form info from the database and store it in our global form variables. $form_row = ninja_forms_get_form_by_id($form_ID); $form_data = $form_row['data']; if (isset($_REQUEST['_sub_id']) and !empty($_REQUEST['_sub_id'])) { $form_data['sub_id'] = absint($_REQUEST['_sub_id']); } else { $form_data['sub_id'] = ''; } //Loop through the form data and set the global $ninja_form_data variable. if (is_array($form_data) and !empty($form_data)) { foreach ($form_data as $key => $val) { if (!is_array($val)) { $value = stripslashes($val); //$value = esc_html($value); //$value = htmlspecialchars($value); } else { $value = $val; } $this->data['form'][$key] = $value; } $this->data['form']['admin_attachments'] = array(); $this->data['form']['user_attachments'] = array(); } } else { if ($cache !== false) { // Check to see if we have $_SESSION values from a submission. if (is_array($cache['field_values'])) { // We do have a submission contained in our $_SESSION variable. We'll populate the field values with that data. foreach ($cache['field_values'] as $field_id => $val) { $field_row = ninja_forms_get_field_by_id($field_id); if (is_array($field_row) and !empty($field_row)) { if (isset($field_row['type'])) { $field_type = $field_row['type']; } else { $field_type = ''; } if (isset($field_row['data']['req'])) { $req = $field_row['data']['req']; } else { $req = ''; } $val = ninja_forms_stripslashes_deep($val); //$val = ninja_forms_esc_html_deep( $val ); $this->data['fields'][$field_id] = $val; if (isset($cache['field_settings'][$field_id])) { $field_row = $cache['field_settings'][$field_id]; } else { $field_row = ninja_forms_get_field_by_id($field_id); } $field_row['data']['field_class'] = 'ninja-forms-field'; $this->data['field_data'][$field_id] = $field_row; } } } $this->data['form'] = $cache['form_settings']; $this->data['success'] = $cache['success_msgs']; $this->data['errors'] = $cache['error_msgs']; $this->data['extra'] = $cache['extra_values']; } } }