Beispiel #1
0
/**
 * 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;
     }
 }
Beispiel #4
0
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;
}
Beispiel #5
0
 /**
  * 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 
    }
}