/** * Output our honeypot field * @since 2.9.22 * @param int $form_id * @return void */ function ninja_forms_display_honeypot($form_id) { $hp_name = ninja_forms_random_string(5); ?> <div class="hp-wrap"> <label><?php _e('If you are a human and are seeing this field, please leave it blank.', 'ninja-forms'); ?> <input type="text" value="" name="_<?php echo $hp_name; ?> "> <input type="hidden" value="_<?php echo $hp_name; ?> " name="_hp_name"> </label> </div> <?php }
/** * Process our Success Message notification * * @access public * @since 2.8 * @return void */ public function process($id) { global $ninja_forms_processing; // We need to get our name setting so that we can use it to create a unique success message ID. $name = Ninja_Forms()->notification($id)->get_setting('name'); // If our name is empty, we need to generate a random string. if (empty($name)) { $name = ninja_forms_random_string(4); } $success_msg = apply_filters('nf_success_msg', Ninja_Forms()->notification($id)->get_setting('success_msg'), $id); $success_msg = do_shortcode(wpautop($success_msg)); $success_msg = nf_parse_fields_shortcode($success_msg); $ninja_forms_processing->add_success_msg('success_msg-' . $name, $success_msg); }
/** * Set $_SESSION variable used for storing items in transient variables * * @access public * @since 2.7 * @return void */ public function set_transient_id() { if (!session_id()) { session_start(); } if (!isset($_SESSION['ninja_forms_transient_id']) and !is_admin()) { $t_id = ninja_forms_random_string(); // Make sure that our transient ID isn't currently in use. while (get_transient($t_id) !== false) { $_id = ninja_forms_random_string(); } $_SESSION['ninja_forms_transient_id'] = $t_id; } }
function ninja_forms_field_uploads_create_key($update_array) { $new_key = ninja_forms_random_string(5); if (array_key_exists($new_key, $update_array)) { $new_key = ninja_forms_random_string(5); } return $new_key; }
/** * Set Ninja_Forms()->session variable used for storing items in transient variables * * @access public * @since 2.7 * @return string $t_id; */ public function set_transient_id() { $transient_id = $this->session->get('nf_transient_id'); if (!$transient_id && !is_admin()) { $transient_id = ninja_forms_random_string(); // Make sure that our transient ID isn't currently in use. while (get_transient($transient_id) !== false) { $_id = ninja_forms_random_string(); } $this->session->set('nf_transient_id', $transient_id); } return $transient_id; }
/** * This is the main display function that will be called on the front-end when a user is filling out a form. * * @param int $field_id - ID number of the field that is currently being displayed. * @param array $data - array of field data as it has been processed to this point. */ function ninja_forms_field_upload_display($field_id, $data) { global $ninja_forms_loading, $ninja_forms_processing; $plugin_settings = get_option('ninja_forms_settings'); if (isset($plugin_settings['max_filesize'])) { $max_filesize = $plugin_settings['max_filesize'] * 1048576; } else { $max_filesize = 2097152; } if (isset($data['upload_multi']) and $data['upload_multi'] == 1) { $upload_multi = 'multi'; } else { $upload_multi = ''; } if (isset($data['upload_multi_count'])) { $upload_multi_count = $data['upload_multi_count']; } else { $upload_multi_count = ''; } $user_file_name = ''; $file_name = ''; $file_path = ''; $file_url = ''; $prefill = false; if (is_object($ninja_forms_processing) and $ninja_forms_processing->get_error('upload_' . $field_id)) { $field_error = true; } else { $field_error = false; } $user_value = ''; if (isset($data['default_value']) and !empty($data['default_value'])) { $user_value = $data['default_value']; $prefill = true; } else { if (is_object($ninja_forms_processing) and $ninja_forms_processing->get_field_value($field_id) and $ninja_forms_processing->get_all_errors()) { $user_value = $ninja_forms_processing->get_field_value($field_id); $prefill = true; } } if (is_array($user_value)) { $tmp = false; foreach ($user_value as $key => $val) { if (isset($val['file_name']) and !empty($val['file_name'])) { $tmp = true; } } if (!$tmp) { $prefill = false; } } else { if (is_string($user_value)) { $filename = basename($user_value); $tmp_array = array(ninja_forms_random_string(5) => array('complete' => 1, 'user_file_name' => $filename, 'file_name' => $filename, 'file_url' => $user_value)); $user_value = $tmp_array; } } //var_dump ( $user_value ); if (count($user_value) > 1) { $str_label = __('Files', 'ninja-forms-uploads'); } else { $str_label = __('File', 'ninja-forms-uploads'); } if ($prefill and !$field_error) { // Loop through our files array and allow the user to replace each on individually. // This code outputs a different file input field for each. Every field is also accompanied by hidden inputs. if (is_array($user_value) and !empty($user_value)) { if ($upload_multi == 'multi') { ?> <ul style="list-style:none;"> <?php foreach ($user_value as $key => $val) { if (isset($val['complete'])) { $complete = $val['complete']; } else { $complete = 1; } if (!isset($val['upload_id'])) { $val['upload_id'] = ''; } // Output the accompanying file data that will be accessible in the extra_values during processing. ?> <li id="ninja_forms_file_upload_<?php echo $field_id; ?> _<?php echo $key; ?> _li"> <input type="hidden" name="_upload_<?php echo $field_id; ?> [<?php echo $key; ?> ][user_file_name]" value="<?php echo $val['user_file_name']; ?> "> <input type="hidden" name="_upload_<?php echo $field_id; ?> [<?php echo $key; ?> ][file_name]" value="<?php echo $val['file_name']; ?> "> <input type="hidden" name="_upload_<?php echo $field_id; ?> [<?php echo $key; ?> ][file_path]" value="<?php echo $val['file_path']; ?> "> <input type="hidden" name="_upload_<?php echo $field_id; ?> [<?php echo $key; ?> ][file_url]" value="<?php echo $val['file_url']; ?> "> <input type="hidden" name="_upload_<?php echo $field_id; ?> [<?php echo $key; ?> ][complete]" value="<?php echo $complete; ?> "> <input type="hidden" name="_upload_<?php echo $field_id; ?> [<?php echo $key; ?> ][changed]" value="0"> <input type="hidden" name="_upload_<?php echo $field_id; ?> [<?php echo $key; ?> ][upload_id]" value="<?php echo $val['upload_id']; ?> "> <a href="#" class="ninja-forms-delete-file-upload" id="ninja_forms_delete_file_upload_<?php echo $field_id; ?> _<?php echo $key; ?> ">X</a> - <a href="<?php echo $val['file_url']; ?> " target="_blank"><?php echo $val['user_file_name']; ?> </a> - <a href="#" name="" id="ninja_forms_change_file_upload_<?php echo $field_id; ?> _<?php echo $key; ?> " class="ninja-forms-change-file-upload"><?php _e('Change This File', 'ninja-forms-uploads'); ?> </a> <span id="ninja_forms_file_upload_<?php echo $field_id; ?> _<?php echo $key; ?> " style="display:none;"> <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_filesize; ?> "> <input type="file" name="ninja_forms_field_<?php echo $field_id; ?> [<?php echo $key; ?> ]" id="ninja_forms_field_<?php echo $field_id; ?> -<?php echo $key; ?> " rel="<?php echo $field_id; ?> " > <input type="hidden" name="ninja_forms_field_<?php echo $field_id; ?> [<?php echo $key; ?> ]" value="" rel="<?php echo $field_id; ?> " > </span> </li> <?php } ?> <li> <?php _e('New Upload', 'ninja-forms-uploads'); echo ':'; ?> <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_filesize; ?> "> <input type="file" name="ninja_forms_field_<?php echo $field_id; ?> [new][]" id="ninja_forms_field_<?php echo $field_id; ?> " class="<?php echo $upload_multi; ?> " maxlength="<?php echo $upload_multi_count; ?> " rel="<?php echo $field_id; ?> " > <input type="hidden" name="ninja_forms_field_<?php echo $field_id; ?> [new][]" value="" rel="<?php echo $field_id; ?> " > <li> </ul> <?php } else { ?> <ul style="list-style:none;"> <?php foreach ($user_value as $key => $val) { if (isset($val['complete'])) { $complete = $val['complete']; } else { $complete = 1; } if (isset($val['upload_id'])) { $upload_id = $val['upload_id']; } else { $upload_id = ''; } ?> <li> <div> <a href="<?php echo $val['file_url']; ?> "><?php echo $val['user_file_name']; ?> </a> </div> <input type="hidden" name="_upload_<?php echo $field_id; ?> [<?php echo $key; ?> ][user_file_name]" value="<?php echo $val['user_file_name']; ?> "> <input type="hidden" name="_upload_<?php echo $field_id; ?> [<?php echo $key; ?> ][file_name]" value="<?php echo $val['file_name']; ?> "> <input type="hidden" name="_upload_<?php echo $field_id; ?> [<?php echo $key; ?> ][file_path]" value="<?php echo $val['file_path']; ?> "> <input type="hidden" name="_upload_<?php echo $field_id; ?> [<?php echo $key; ?> ][file_url]" value="<?php echo $val['file_url']; ?> "> <input type="hidden" name="_upload_<?php echo $field_id; ?> [<?php echo $key; ?> ][complete]" value="<?php echo $complete; ?> "> <input type="hidden" name="_upload_<?php echo $field_id; ?> [<?php echo $key; ?> ][changed]" value="0"> <input type="hidden" name="_upload_<?php echo $field_id; ?> [<?php echo $key; ?> ][upload_id]" value="<?php echo $upload_id; ?> "> </li> <li> <?php _e('Change Upload', 'ninja-forms-uploads'); echo ':'; ?> <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_filesize; ?> "> <input type="file" name="ninja_forms_field_<?php echo $field_id; ?> [<?php echo $key; ?> ]" id="ninja_forms_field_<?php echo $field_id; ?> " class="<?php echo $upload_multi; ?> " maxlength="<?php echo $upload_multi_count; ?> " rel="<?php echo $field_id; ?> " > <input type="hidden" name="ninja_forms_field_<?php echo $field_id; ?> [<?php echo $key; ?> ]" value="" rel="<?php echo $field_id; ?> " > </li> <?php } ?> </ul> <?php } } } else { ?> <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_filesize; ?> "> <input type="file" name="ninja_forms_field_<?php echo $field_id; ?> [new][]" id="ninja_forms_field_<?php echo $field_id; ?> " class="<?php echo $upload_multi; ?> " maxlength="<?php echo $upload_multi_count; ?> " rel="<?php echo $field_id; ?> " > <input type="hidden" name="ninja_forms_field_<?php echo $field_id; ?> [new][]" value="" rel="<?php echo $field_id; ?> " > <input type="hidden" name="ninja_forms_field_<?php echo $field_id; ?> []" value="" rel="<?php echo $field_id; ?> "> <?php } }