Example #1
0
function ninja_forms_mp_get_pages($form_id = '')
{
    global $ninja_forms_loading, $ninja_forms_processing;
    $field_results = ninja_forms_get_fields_by_form_id($form_id);
    $pages = array();
    $x = 0;
    $y = 0;
    $last_field = '';
    foreach ($field_results as $field) {
        if ($field['type'] == '_page_divider') {
            $x++;
            $y = 0;
            $pages[$x]['id'] = $field['id'];
            $pages[$x]['page_title'] = $field['data']['page_name'];
        } else {
            if ($y == 0) {
                $pages[$x]['first_field'] = $field['id'];
                $y++;
            }
        }
        $pages[$x]['fields'][] = $field['id'];
        if (isset($ninja_forms_loading)) {
            $ninja_forms_loading->update_field_setting($field['id'], 'page', $x);
        } else {
            $ninja_forms_processing->update_field_setting($field['id'], 'page', $x);
        }
    }
    foreach ($pages as $num => $vars) {
        $last_field = end($vars['fields']);
        $pages[$num]['last_field'] = $last_field;
    }
    return $pages;
}
Example #2
0
function ninja_forms_register_feditor_sub_settings_metabox()
{
    $all_roles = get_editable_roles();
    $tmp_array = array();
    if (is_array($all_roles) and !empty($all_roles)) {
        foreach ($all_roles as $key => $role) {
            $tmp_array[] = array('name' => $role['name'], 'value' => $key);
        }
    }
    $all_roles = $tmp_array;
    $edit_table_cols = array();
    if (isset($_REQUEST['form_id'])) {
        $form_id = $_REQUEST['form_id'];
        $fields = ninja_forms_get_fields_by_form_id($form_id);
        foreach ($fields as $field) {
            if (isset($field['data']['label'])) {
                $edit_table_cols[] = array('name' => $field['data']['label'], 'value' => $field['id']);
            } else {
                $edit_table_cols[] = array('name' => 'Field ID: ' . $field['id'], 'value' => $field['id']);
            }
        }
    } else {
    }
    $args = array('page' => 'ninja-forms', 'tab' => 'form_settings', 'slug' => 'sub_settings', 'title' => __('Submission management settings', 'ninja-forms-feditor'), 'display_function' => '', 'state' => 'closed', 'settings' => array(array('name' => 'manage_sub', 'type' => 'checkbox', 'label' => __('Enable front-end submission management', 'ninja-forms-feditor'), 'default_value' => 1), array('name' => 'manage_sub_table', 'type' => 'checkbox', 'label' => __('Show submission management table above this form?', 'ninja-forms-feditor'), 'default_value' => 1), array('name' => 'manage_sub_table_cols', 'type' => 'multi_select', 'label' => __('Use these fields as table columns', 'ninja-forms-feditor'), 'options' => $edit_table_cols, 'size' => 10, 'desc' => __('Use CTRL + click to select multiple fields (COMMAND + click for Mac users). The number of field columns you want will depend upon the size of your field labels and values. Three is a good, standard value.', 'ninja-forms-feditor')), array('name' => 'manage_sub_hide_form', 'type' => 'checkbox', 'label' => __('Hide this form when a user has submissions to manage', 'ninja-forms-feditor')), array('name' => 'override_sub_rules', 'type' => 'checkbox', 'label' => __('Override rules settings', 'ninja-forms-feditor')), array('name' => '', 'type' => '', 'label' => '', 'display_function' => 'ninja_forms_feditor_sub_settings_user_list'), array('name' => 'manage_sub_roles', 'type' => 'checkbox_list', 'select_all' => false, 'options' => $all_roles, 'label' => __('Allow these roles', 'ninja-forms')), array('name' => 'edit_sub', 'type' => 'checkbox', 'label' => __('To Edit Submissions', 'ninja-forms-feditor')), array('name' => 'delete_sub', 'type' => 'checkbox', 'label' => __('To Delete Submissions', 'ninja-forms-feditor'))));
    if (function_exists('ninja_forms_register_tab_metabox')) {
        ninja_forms_register_tab_metabox($args);
    }
}
function ninja_forms_upload_display_js($form_id)
{
    if (!is_admin()) {
        $fields = ninja_forms_get_fields_by_form_id($form_id);
        $output = false;
        $multi = false;
        foreach ($fields as $field) {
            if ($field['type'] == '_upload') {
                if (!$output) {
                    $output = true;
                }
                if (!$multi && isset($field['data']['upload_multi']) && $field['data']['upload_multi'] == 1) {
                    $multi = true;
                }
            }
        }
        if ($output) {
            if (defined('NINJA_FORMS_JS_DEBUG') && NINJA_FORMS_JS_DEBUG) {
                $suffix = '';
                $src = 'dev';
            } else {
                $suffix = '.min';
                $src = 'min';
            }
            wp_enqueue_script('ninja-forms-uploads-display', NINJA_FORMS_UPLOADS_URL . '/js/' . $src . '/ninja-forms-uploads-display' . $suffix . '.js', array('jquery', 'ninja-forms-display'));
            if ($multi) {
                wp_enqueue_script('jquery-multi-file', NINJA_FORMS_UPLOADS_URL . '/js/min/jquery.MultiFile.pack.js', array('jquery'));
                wp_localize_script('ninja-forms-uploads-display', 'ninja_forms_uploads_settings', array('delete' => __('Really delete this item?', 'ninja-forms-uploads')));
            }
        }
    }
}
Example #4
0
function ninja_forms_conditionals_field_class_filter($form_id)
{
    global $ninja_forms_loading, $ninja_forms_processing;
    $field_results = ninja_forms_get_fields_by_form_id($form_id);
    foreach ($field_results as $field) {
        if (isset($field['data']['conditional'])) {
            $conditional = $field['data']['conditional'];
        } else {
            $conditional = '';
        }
        if (isset($conditional) and is_array($conditional)) {
            foreach ($conditional as $conditional) {
                if (isset($conditional['cr']) and is_array($conditional['cr'])) {
                    foreach ($conditional['cr'] as $cr) {
                        if (isset($ninja_forms_loading)) {
                            $cr_field_class = $ninja_forms_loading->get_field_setting($cr['field'], 'field_class');
                        } else {
                            $cr_field_class = $ninja_forms_processing->get_field_setting($cr['field'], 'field_class');
                        }
                        if (strpos($cr_field_class, 'ninja-forms-field-conditional-listen') === false) {
                            $cr_field_class .= ' ninja-forms-field-conditional-listen ';
                        }
                        if (isset($ninja_forms_loading)) {
                            $ninja_forms_loading->update_field_setting($cr['field'], 'field_class', $cr_field_class);
                        } else {
                            $ninja_forms_processing->update_field_setting($cr['field'], 'field_class', $cr_field_class);
                        }
                    }
                }
            }
        }
    }
}
Example #5
0
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);
        }
    }
}
Example #6
0
function ninja_forms_display_req_items($form_id)
{
    $plugin_settings = get_option('ninja_forms_settings');
    if (isset($plugin_settings['req_div_label'])) {
        $req_div_label = __($plugin_settings['req_div_label'], 'ninja-forms');
    } else {
        $req_div_label = __('Fields marked with a * are required.', 'ninja-forms');
    }
    $all_fields = ninja_forms_get_fields_by_form_id($form_id);
    $output = false;
    if (is_array($all_fields) and !empty($all_fields)) {
        foreach ($all_fields as $field) {
            if (isset($field['data']['req']) and $field['data']['req'] == 1) {
                $output = true;
            }
        }
    }
    if ($output) {
        ?>
		<div class="ninja-forms-required-items"><?php 
        echo $req_div_label;
        ?>
</div>
		<?php 
    }
}
    /**
     * Process
     *
     * @param string $id
     * @return void
     */
    public function process($id)
    {
        global $ninja_forms_processing;
        $form_id = $ninja_forms_processing->get_form_ID();
        $form_title = $ninja_forms_processing->get_form_setting('form_title');
        $all_fields = ninja_forms_get_fields_by_form_id($form_id);
        $total = '';
        // Get IDs of fields that are to be sent to PayPal
        $accepted_fields = $PayPalEmail = Ninja_Forms()->notification($id)->get_setting('accepted_fields');
        $accepted_ary = explode(',', $accepted_fields);
        if (is_array($all_fields)) {
            foreach ($all_fields as $field) {
                $value = $ninja_forms_processing->get_field_value($field['id']);
                if (in_array($field['id'], $accepted_ary)) {
                    $total += $value;
                }
            }
        }
        // Grab PayPal email from NF setting
        $paypal_email = Ninja_Forms()->notification($id)->get_setting('paypal_email');
        // Format PayPal URL
        $url = 'https://www.paypal.com/us/cgi-bin/webscr?cmd=_xclick
		&business=' . urlencode($paypal_email) . '
		&item_name=' . urlencode($form_title) . '
		&item_number=
		&amount=' . $total . '
		&no_shipping=1
		&return=' . site_url() . '
		&currency_code=USD&lc=US&bn=PP-BuyNowBF';
        // Do the redirection to PayPal
        wp_redirect($url);
        exit;
    }
function ninja_forms_fields_post_process()
{
    global $ninja_forms_fields, $ninja_forms_processing;
    //Loop through the submitted form data and call each field's post_processing function, if one exists.
    $form_id = $ninja_forms_processing->get_form_ID();
    $field_results = ninja_forms_get_fields_by_form_id($form_id);
    if (is_array($field_results) and !empty($field_results)) {
        foreach ($field_results as $field) {
            $field_id = $field['id'];
            $field_type = $field['type'];
            $field_data = $field['data'];
            if (isset($ninja_forms_fields[$field_type])) {
                $reg_field = $ninja_forms_fields[$field_type];
                //if( $reg_field['process_field'] ){
                $post_process_function = $reg_field['post_process'];
                if ($post_process_function != '') {
                    $arguments = array();
                    $arguments['field_id'] = $field_id;
                    $user_value = $ninja_forms_processing->get_field_value($field_id);
                    $user_value = apply_filters('ninja_forms_field_post_process_user_value', $user_value, $field_id);
                    $arguments['user_value'] = $user_value;
                    call_user_func_array($post_process_function, $arguments);
                }
                //}
            }
        }
    }
}
function ninja_forms_fields_edit_sub_post_process()
{
    global $ninja_forms_fields, $ninja_forms_processing;
    $form_id = $ninja_forms_processing->get_form_ID();
    $field_results = ninja_forms_get_fields_by_form_id($form_id);
    if (is_array($field_results) and !empty($field_results)) {
        foreach ($field_results as $field) {
            $field_id = $field['id'];
            $field_type = $field['type'];
            $field_data = $field['data'];
            if (isset($ninja_forms_fields[$field_type])) {
                $reg_field = $ninja_forms_fields[$field_type];
                if ($reg_field['process_field']) {
                    $post_process_function = $reg_field['edit_sub_post_process'];
                    if ($post_process_function != '') {
                        $arguments = array();
                        $arguments['field_id'] = $field_id;
                        $user_value = $ninja_forms_processing->get_field_value($field_id);
                        $user_value = apply_filters('ninja_forms_field_edit_sub_post_process_user_value', $user_value, $field_id);
                        $arguments['user_value'] = $user_value;
                        call_user_func_array($post_process_function, $arguments);
                    }
                }
            }
        }
    }
}
Example #10
0
function ninja_forms_conditionals_after_import_form($form)
{
    global $wpdb;
    if (is_array($form['field']) and !empty($form['field'])) {
        $field_rows = ninja_forms_get_fields_by_form_id($form['id']);
        if (is_array($field_rows) and !empty($field_rows)) {
            for ($y = 0; $y < count($field_rows); $y++) {
                if (isset($field_rows[$y]['data']['conditional']) and is_array($field_rows[$y]['data']['conditional'])) {
                    for ($i = 0; $i < count($field_rows[$y]['data']['conditional']); $i++) {
                        if (isset($field_rows[$y]['data']['conditional'][$i]['cr']) and is_array($field_rows[$y]['data']['conditional'][$i]['cr'])) {
                            for ($n = 0; $n < count($field_rows[$y]['data']['conditional'][$i]['cr']); $n++) {
                                foreach ($form['field'] as $inserted_field) {
                                    if ($inserted_field['old_id'] == $field_rows[$y]['data']['conditional'][$i]['cr'][$n]['field']) {
                                        $field_rows[$y]['data']['conditional'][$i]['cr'][$n]['field'] = $inserted_field['id'];
                                    }
                                }
                            }
                        }
                    }
                }
                $field_rows[$y]['data'] = serialize($field_rows[$y]['data']);
                $args = array('update_array' => array('data' => $field_rows[$y]['data']), 'where' => array('id' => $field_rows[$y]['id']));
                ninja_forms_update_field($args);
            }
        }
    }
}
Example #11
0
function ninja_forms_upload_display_js($form_id)
{
    if (!is_admin()) {
        $fields = ninja_forms_get_fields_by_form_id($form_id);
        $output = false;
        $multi = false;
        foreach ($fields as $field) {
            if ($field['type'] == '_upload') {
                if (!$output) {
                    $output = true;
                }
                if (!$multi and $field['data']['upload_multi'] == 1) {
                    $multi = true;
                }
            }
        }
        if ($output) {
            wp_enqueue_script('ninja-forms-uploads-display', NINJA_FORMS_UPLOADS_URL . '/js/min/ninja-forms-uploads-display.min.js', array('jquery', 'ninja-forms-display'));
            if ($multi) {
                wp_enqueue_script('jquery-multi-file', NINJA_FORMS_UPLOADS_URL . '/js/min/jquery.MultiFile.pack.js', array('jquery'));
                wp_localize_script('ninja-forms-uploads-display', 'ninja_forms_uploads_settings', array('delete' => __('Really delete this item?', 'ninja-forms-uploads')));
            }
        }
    }
}
function ninja_forms_edit_field_output_ul($form_id)
{
    $fields = ninja_forms_get_fields_by_form_id($form_id);
    ?>
	<div id="ninja-forms-viewport">
		<input class="button-primary menu-save nf-save-admin-fields" id="ninja_forms_save_data_top" type="button" value="<?php 
    _e('Save', 'ninja-forms');
    ?>
" />
		<a href="#" class="button-secondary nf-save-spinner" style="display:none;" disabled><span class="spinner nf-save-spinner" style="float:left;"></span></a>
		<ul class="menu ninja-forms-field-list" id="ninja_forms_field_list">
	  		<?php 
    if (is_array($fields) and !empty($fields)) {
        foreach ($fields as $field) {
            ninja_forms_edit_field($field['id']);
        }
    }
    ?>
		</ul>

		<input class="button-primary menu-save nf-save-admin-fields" id="ninja_forms_save_data_bot" type="button" value="<?php 
    _e('Save', 'ninja-forms');
    ?>
" />
		<a href="#" class="button-secondary nf-save-spinner" style="display:none;" disabled><span class="spinner nf-save-spinner" style="float:left;"></span></a>
	</div>
		<?php 
}
function ld_ninja_form_get_fields_by_form_id($form_id)
{
    $return = array();
    if (function_exists('ninja_forms_get_fields_by_form_id')) {
        $all_fields = ninja_forms_get_fields_by_form_id($form_id);
        if (!empty($all_fields)) {
            foreach ($all_fields as $field) {
                if ($field['type'] !== '_submit') {
                    $return[] = array('label' => $field['data']['label'] . ' (' . $field['id'] . ')', 'value' => $field['id']);
                }
            }
        }
    }
    return $return;
}
 /**
  * Load our scripts
  */
 function load_scripts($form_id)
 {
     // first let's get all of the fields on the page
     $all_fields = ninja_forms_get_fields_by_form_id($form_id);
     // determine if one this plugin's fields are present
     $nfuaFields = array("ip_address", "browser", "browser_version", "os", "country", "region", "postal_code", "city", "latitude", "longitude");
     $nfuaFieldPresent = false;
     foreach ($all_fields as $key => $value) {
         if (isset($value['type']) && in_array($value['type'], $nfuaFields)) {
             $nfuaFieldPresent = true;
         }
     }
     // if one of our fields is present in the form then print out the scripts
     if ($nfuaFieldPresent) {
         // load geolocation script
         wp_enqueue_script('maxmind_geoip', "http://j.maxmind.com/app/geoip.js");
         // load main script
         wp_enqueue_script('nf-user-analytics', plugins_url('assets/scripts/script.js', __FILE__), array('jquery'), "0.1.0", true);
     }
 }
Example #15
0
function ninja_forms_edit_field_output_mp_ul($form_id)
{
    $all_fields = ninja_forms_get_fields_by_form_id($form_id);
    if (is_array($all_fields) and !empty($all_fields)) {
        $pages = array();
        $this_page = array();
        $x = 0;
        foreach ($all_fields as $field) {
            if ($field['type'] == '_page_divider') {
                $x++;
            }
            $pages[$x][] = $field['id'];
        }
        if (isset($_REQUEST['current_page'])) {
            $current_page = $_REQUEST['current_page'];
        } else {
            $current_page = 1;
        }
        if (is_array($pages) and !empty($pages)) {
            foreach ($pages as $page => $fields) {
                ?>
				<ul class="menu ninja-forms-field-list" id="ninja_forms_field_list_<?php 
                echo $page;
                ?>
" data-order="<?php 
                echo $page;
                ?>
">
			  		<?php 
                if (is_array($fields) and !empty($fields)) {
                    foreach ($fields as $field_id) {
                        ninja_forms_edit_field($field_id);
                    }
                }
                ?>
				</ul>
				<?php 
            }
        }
    }
}
Example #16
0
function ninja_forms_edit_field_output_ul($form_id)
{
    $fields = ninja_forms_get_fields_by_form_id($form_id);
    ?>
	<div id="ninja-forms-viewport">
		<input class="button-primary menu-save ninja-forms-save-data" id="ninja_forms_save_data_top" type="submit" value="<?php 
    _e('Save Field Settings', 'ninja-forms');
    ?>
" />

		<ul class="menu ninja-forms-field-list" id="ninja_forms_field_list">
	  		<?php 
    if (is_array($fields) and !empty($fields)) {
        foreach ($fields as $field) {
            ninja_forms_edit_field($field['id']);
        }
    }
    ?>
		</ul>
	</div>
		<?php 
}
Example #17
0
/**
 * Function to output specific calculation options for a given field
 *
 * @param int $field_id - ID of the field being edited.
 * @param array $c - Array containing the data.
 * @param int $x - Index for this row of the calc array.
 * @since 2.2.28
 * @returns void
 */
function ninja_forms_output_field_calc_row($field_id, $c = array(), $x = 0)
{
    global $ninja_forms_fields;
    $field_row = ninja_forms_get_field_by_id($field_id);
    $field_type = $field_row['type'];
    $form_id = $field_row['form_id'];
    if (isset($c['field'])) {
        $calc_field = $c['field'];
    } else {
        $calc_field = '';
    }
    if (isset($c['op'])) {
        $op = $c['op'];
    } else {
        $op = '';
    }
    ?>
	<div id="ninja_forms_field_<?php 
    echo $field_id;
    ?>
_calc_row_<?php 
    echo $x;
    ?>
" class="ninja-forms-calc-row" rel="<?php 
    echo $x;
    ?>
">
		<a href="#" id="ninja_forms_field_<?php 
    echo $field_id;
    ?>
_remove_calc" name="<?php 
    echo $x;
    ?>
" rel="<?php 
    echo $field_id;
    ?>
" class="ninja-forms-field-remove-calc">X</a>

		<select name="ninja_forms_field_<?php 
    echo $field_id;
    ?>
[calc][<?php 
    echo $x;
    ?>
][op]">
			<option value="add" <?php 
    selected($op, 'add');
    ?>
>+</option>
			<option value="subtract" <?php 
    selected($op, 'subtract');
    ?>
>-</option>
			<option value="multiply" <?php 
    selected($op, 'multiply');
    ?>
>*</option>
			<option value="divide" <?php 
    selected($op, 'divide');
    ?>
>/</option>
		</select>

		<select name="ninja_forms_field_<?php 
    echo $field_id;
    ?>
[calc][<?php 
    echo $x;
    ?>
][field]" class="ninja-forms-calc-select">
			<option value=""><?php 
    _e('- Select a Field', 'ninja-forms');
    ?>
</option>
			<?php 
    // Loop through our fields and output all of our calculation fields.
    $fields = ninja_forms_get_fields_by_form_id($form_id);
    foreach ($fields as $field) {
        if (isset($field['data']['label'])) {
            $label = $field['data']['label'];
        } else {
            $label = '';
        }
        if (strlen($label) > 15) {
            $label = substr($label, 0, 15);
            $label .= '...';
        }
        $process_field = $ninja_forms_fields[$field['type']]['process_field'];
        if ($field['id'] != $field_id and $process_field) {
            ?>
					<option value="<?php 
            echo $field['id'];
            ?>
" <?php 
            selected($calc_field, $field['id']);
            ?>
><?php 
            echo $field['id'];
            ?>
 - <?php 
            echo $label;
            ?>
</option>
					<?php 
        }
    }
    ?>
		</select>
	</div>
	<?php 
}
Example #18
0
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;
    $input_limit = 0;
    $rating = 0;
    $calc_value = array();
    $calc_fields = array();
    $calc_eq = false;
    $sub_total = false;
    $tax = false;
    $fields = ninja_forms_get_fields_by_form_id($form_id);
    if (is_array($fields) and !empty($fields)) {
        foreach ($fields as $field) {
            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 (isset($field['data']['input_limit']) and $field['data']['input_limit'] != '') {
                $input_limit = $field['data']['input_limit'];
                $input_limit_type = $field['data']['input_limit_type'];
            }
            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) {
            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) {
                    $field_id = $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 ($input_limit != 0) {
        wp_enqueue_script('jquery-char-input-limit', NINJA_FORMS_URL . 'js/min/word-and-character-counter.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 = nf_get_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);
    $datepicker_args = array();
    if (!empty($date_format)) {
        $datepicker_args['dateFormat'] = $date_format;
    }
    $currency_symbol = $plugin_settings['currency_symbol'];
    $password_mismatch = esc_html(stripslashes($plugin_settings['password_mismatch']));
    $msg_format = 'inline';
    wp_enqueue_script('ninja-forms-display', NINJA_FORMS_URL . 'js/' . $src . '/ninja-forms-display' . $suffix . '.js?nf_ver=' . NF_PLUGIN_VERSION, array('jquery', 'jquery-form', 'backbone', 'underscore'));
    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, 'datepicker_args' => apply_filters('ninja_forms_forms_display_datepicker_args', $datepicker_args), 'currency_symbol' => $currency_symbol, 'date_format' => $date_format));
        $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', apply_filters('nf_form_js_settings', $ninja_forms_js_form_settings, $form_id));
    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')));
}
Example #19
0
File: li.php Project: serker72/T3S
function ninja_forms_edit_field_output_li($field_id)
{
    global $wpdb, $ninja_forms_fields, $nf_rte_editors;
    $field_row = ninja_forms_get_field_by_id($field_id);
    $current_tab = ninja_forms_get_current_tab();
    if (isset($_REQUEST['page'])) {
        $current_page = esc_html($_REQUEST['page']);
    } else {
        $current_page = '';
    }
    $field_type = $field_row['type'];
    $field_data = $field_row['data'];
    $plugin_settings = nf_get_settings();
    if (isset($ninja_forms_fields[$field_type]['use_li']) and $ninja_forms_fields[$field_type]['use_li']) {
        if (isset($field_row['fav_id']) and $field_row['fav_id'] != 0) {
            $fav_id = $field_row['fav_id'];
            $fav_row = ninja_forms_get_fav_by_id($fav_id);
            if (empty($fav_row['name'])) {
                $args = array('update_array' => array('fav_id' => ''), 'where' => array('id' => $field_id));
                ninja_forms_update_field($args);
                $fav_id = '';
            }
        } else {
            $fav_id = '';
        }
        if (isset($field_row['def_id']) and $field_row['def_id'] != 0) {
            $def_id = $field_row['def_id'];
        } else {
            $def_id = '';
        }
        $form_id = $field_row['form_id'];
        $field_results = ninja_forms_get_fields_by_form_id($form_id);
        if (isset($ninja_forms_fields[$field_type])) {
            $reg_field = $ninja_forms_fields[$field_type];
            $type_name = $reg_field['name'];
            $edit_function = $reg_field['edit_function'];
            $edit_options = $reg_field['edit_options'];
            if ($reg_field['nesting']) {
                $nesting_class = 'ninja-forms-nest';
            } else {
                $nesting_class = 'ninja-forms-no-nest';
            }
            $conditional = $reg_field['conditional'];
            $type_class = $field_type . '-li';
            if ($def_id != 0 and $def_id != '') {
                $def_row = ninja_forms_get_def_by_id($def_id);
                if (!empty($def_row['name'])) {
                    $type_name = $def_row['name'];
                }
            }
            if ($fav_id != 0 and $fav_id != '') {
                $fav_row = ninja_forms_get_fav_by_id($fav_id);
                if (!empty($fav_row['name'])) {
                    $fav_class = 'ninja-forms-field-remove-fav';
                    $type_name = $fav_row['name'];
                }
            } else {
                $fav_class = 'ninja-forms-field-add-fav';
            }
            if (isset($field_data['label']) and $field_data['label'] != '') {
                $li_label = $field_data['label'];
            } else {
                $li_label = $type_name;
            }
            $li_label = apply_filters('ninja_forms_edit_field_li_label', $li_label, $field_id);
            $li_label = stripslashes($li_label);
            $li_label = ninja_forms_esc_html_deep($li_label);
            if (isset($reg_field) && isset($reg_field['conditional']) && isset($reg_field['conditional']['value']) && isset($reg_field['conditional']['value']['type'])) {
                $conditional_value_type = $reg_field['conditional']['value']['type'];
            } else {
                $conditional_value_type = '';
            }
            ?>
			<li id="ninja_forms_field_<?php 
            echo $field_id;
            ?>
" class="<?php 
            echo $nesting_class;
            ?>
 <?php 
            echo $type_class;
            ?>
">
				<input type="hidden" id="ninja_forms_field_<?php 
            echo $field_id;
            ?>
_conditional_value_type" value="<?php 
            echo $conditional_value_type;
            ?>
">
				<input type="hidden" id="ninja_forms_field_<?php 
            echo $field_id;
            ?>
_fav_id" name="" class="ninja-forms-field-fav-id" value="<?php 
            echo $fav_id;
            ?>
">
				<dl class="menu-item-bar">
					<dt class="menu-item-handle" id="ninja_forms_metabox_field_<?php 
            echo $field_id;
            ?>
" >
						<span class="item-title ninja-forms-field-title" id="ninja_forms_field_<?php 
            echo $field_id;
            ?>
_title"><?php 
            echo $li_label;
            ?>
</span>
						<span class="item-controls">
							<span class="item-type"><?php 
            echo $type_name;
            ?>
</span>
							<a class="item-edit metabox-item-edit" id="ninja_forms_field_<?php 
            echo $field_id;
            ?>
_toggle" title="<?php 
            _e('Edit Menu Item', 'ninja-forms');
            ?>
" href="#"><?php 
            _e('Edit Menu Item', 'ninja-forms');
            ?>
</a>
						</span>
					</dt>
				</dl>
				<?php 
            $slug = 'field_' . $field_id;
            if (isset($plugin_settings['metabox_state'][$current_page][$current_tab][$slug])) {
                $state = $plugin_settings['metabox_state'][$current_page][$current_tab][$slug];
            } else {
                $state = 'display:none;';
            }
            ?>
				<div class="menu-item-settings type-class inside" id="ninja_forms_field_<?php 
            echo $field_id;
            ?>
_inside" style="<?php 
            echo $state;
            ?>
">
					<table id="field-info"><tr><td width="65%"><?php 
            _e('Field ID', 'ninja-forms');
            ?>
: <strong><?php 
            echo $field_id;
            ?>
</strong></td><!-- <td width="15%"><a href="#" class="ninja-forms-field-add-def" id="ninja_forms_field_<?php 
            echo $field_id;
            ?>
_def" class="ninja-forms-field-add-def">Add Defined</a></td><td width="15%"><a href="#" class="ninja-forms-field-remove-def" id="ninja_forms_field_<?php 
            echo $field_id;
            ?>
_def">Remove Defined</a></td> --> <td width="5%"><a href="#" class="<?php 
            echo $fav_class;
            ?>
" id="ninja_forms_field_<?php 
            echo $field_id;
            ?>
_fav">Star</a></td></tr></table>
			<?php 
            do_action('ninja_forms_edit_field_before_registered', $field_id);
            $arguments = func_get_args();
            array_shift($arguments);
            // We need to remove the first arg ($function_name)
            $arguments['field_id'] = $field_id;
            $arguments['data'] = $field_data;
            if ($edit_function != '') {
                call_user_func_array($edit_function, $arguments);
            }
            /**
             * We need to get a list of all of our RTEs. 
             * If we're submitting via ajax, we'll need to use this list.
             */
            if (!isset($nf_rte_editors)) {
                $nf_rte_editors = array();
            }
            $editors = new NF_WP_Editor_Ajax();
            if (is_array($edit_options) and !empty($edit_options)) {
                foreach ($edit_options as $opt) {
                    $type = $opt['type'];
                    $label_class = '';
                    if (isset($opt['label'])) {
                        $label = $opt['label'];
                    } else {
                        $label = '';
                    }
                    if (isset($opt['name'])) {
                        $name = $opt['name'];
                    } else {
                        $name = '';
                    }
                    if (isset($opt['width'])) {
                        $width = $opt['width'];
                    } else {
                        $width = '';
                    }
                    if (isset($opt['options'])) {
                        $options = $opt['options'];
                    } else {
                        $options = '';
                    }
                    if (isset($opt['class'])) {
                        $class = $opt['class'];
                    } else {
                        $class = '';
                    }
                    if (isset($opt['default'])) {
                        $default = $opt['default'];
                    } else {
                        $default = '';
                    }
                    if (isset($opt['desc'])) {
                        $desc = $opt['desc'];
                    } else {
                        $desc = '';
                    }
                    if (isset($field_data[$name])) {
                        $value = $field_data[$name];
                    } else {
                        $value = $default;
                    }
                    ninja_forms_edit_field_el_output($field_id, $type, $label, $name, $value, $width, $options, $class, $desc, $label_class);
                }
            }
            do_action('ninja_forms_edit_field_after_registered', $field_id);
        }
    } else {
        if (isset($ninja_forms_fields[$field_type])) {
            $reg_field = $ninja_forms_fields[$field_type];
            $edit_function = $reg_field['edit_function'];
            $arguments = func_get_args();
            array_shift($arguments);
            // We need to remove the first arg ($function_name)
            $arguments['field_id'] = $field_id;
            $arguments['data'] = $field_data;
            if ($edit_function != '') {
                call_user_func_array($edit_function, $arguments);
            }
        }
    }
    /**
     * We need to get a list of all of our RTEs. 
     * If we're submitting via ajax, we'll need to use this list.
     */
    if (isset($_POST['action']) && $_POST['action'] == 'ninja_forms_new_field') {
        if (!empty($nf_rte_editors) && isset($editors) && is_object($editors)) {
            $editors->output_js($field_id, $nf_rte_editors);
        }
    }
}
function ninja_forms_display_fields($form_id)
{
    global $ninja_forms_fields, $ninja_forms_loading, $ninja_forms_processing;
    $field_results = ninja_forms_get_fields_by_form_id($form_id);
    $field_results = apply_filters('ninja_forms_display_fields_array', $field_results, $form_id);
    if (is_array($field_results) and !empty($field_results)) {
        foreach ($field_results as $field) {
            if (isset($ninja_forms_loading) && $ninja_forms_loading->get_form_ID() == $form_id) {
                $field = $ninja_forms_loading->get_field_settings($field['id']);
            } else {
                if (isset($ninja_forms_processing) && $ninja_forms_processing->get_form_ID() == $form_id) {
                    $field = $ninja_forms_processing->get_field_settings($field['id']);
                }
            }
            if (isset($ninja_forms_fields[$field['type']])) {
                $type = $ninja_forms_fields[$field['type']];
                $field_id = $field['id'];
                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 = absint($_REQUEST['sub_id']);
                    } else {
                        $sub_id = '';
                    }
                }
                if ($sub_id != '' and $sub_edit_function != '' and is_admin()) {
                    $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 (isset($data['visible'])) {
                    $visible = $data['visible'];
                } else {
                    $visible = true;
                }
                if ($display_style != '') {
                    $display_style = 'style="' . $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;
                    }
                    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, $form_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;
                        ?>
" <?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;
                        $arguments['form_id'] = $form_id;
                        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);
                }
            }
        }
    }
}
Example #21
0
function ninja_forms_edit_field_open_div($form_id)
{
    $all_fields = ninja_forms_get_fields_by_form_id($form_id);
    $pages = array();
    if (is_array($all_fields) and !empty($all_fields)) {
        $pages = array();
        $this_page = array();
        $x = 0;
        foreach ($all_fields as $field) {
            if ($field['type'] == '_page_divider') {
                $x++;
            }
            $pages[$x][] = $field['id'];
        }
    }
    $page_count = count($pages);
    if (isset($_REQUEST['_current_page'])) {
        $current_page = $_REQUEST['_current_page'];
    } else {
        $current_page = 1;
    }
    if ($current_page > $page_count) {
        $current_page = $page_count;
    }
    $tmp = $current_page - 1;
    $offset = $tmp * -599.8182067871094;
    ?>
	<div id="ninja-forms-viewport">
		<input class="button-primary menu-save ninja-forms-save-data" id="ninja_forms_save_data_top" type="submit" value="<?php 
    _e('Save Field Settings', 'ninja-forms-mp');
    ?>
" />
		<ul id="ninja-forms-mp-pagination">
			<li class="mp-subtract">-</li>
			<span id="mp-page-list">
			<?php 
    if (is_array($pages) and !empty($pages)) {
        foreach ($pages as $page => $field_id) {
            if ($page == $current_page) {
                $active = 'active';
                ?>
						<input type="hidden" id="_current_page" name="_current_page" value="<?php 
                echo $current_page;
                ?>
">
						<?php 
            } else {
                $active = '';
            }
            ?>
					<li class="<?php 
            echo $active;
            ?>
 mp-page" title="<?php 
            echo $page;
            ?>
" id="ninja_forms_mp_page_<?php 
            echo $page;
            ?>
"><?php 
            echo $page;
            ?>
</li>
					<?php 
        }
    }
    ?>
			</span>
			<li class="mp-add">+</li>
		<span class="spinner" style="float:left;display:none;"></span>
		</ul>
		
		<div id="ninja-forms-slide" style="left: <?php 
    echo $offset;
    ?>
px;">

<?php 
}
function ninja_forms_field_conditional_cr_output($field_id, $x, $y, $cr = '', $ajax = false)
{
    global $wpdb, $ninja_forms_fields;
    $field_row = ninja_forms_get_field_by_id($field_id);
    $form_id = $field_row['form_id'];
    $field_type = $field_row['type'];
    $field_data = $field_row['data'];
    if (isset($cr['field']) and $cr['field'] != '') {
        $selected_row = ninja_forms_get_field_by_id($cr['field']);
        $selected_type = $selected_row['type'];
        if (isset($ninja_forms_fields[$selected_type]['conditional'])) {
            $conditional = $ninja_forms_fields[$selected_type]['conditional'];
        }
    }
    $field_results = ninja_forms_get_fields_by_form_id($form_id);
    ?>
	<div class="description-wide single-criteria ninja-forms-field-<?php 
    echo $field_id;
    ?>
-conditional-<?php 
    echo $x;
    ?>
-cr" id="ninja_forms_field_<?php 
    echo $field_id;
    ?>
_conditional_<?php 
    echo $x;
    ?>
_cr_<?php 
    echo $y;
    ?>
">
		&nbsp;&nbsp; <a href="#" id="ninja_forms_field_<?php 
    echo $field_id;
    ?>
_remove_cr" class="ninja-forms-field-remove-cr" name="<?php 
    echo $x;
    ?>
" rel="<?php 
    echo $y;
    ?>
" title="<?php 
    echo esc_html_e('Remove criteria', 'ninja-forms-conditionals');
    ?>
">X</a> &rarr;
		<select name="ninja_forms_field_<?php 
    echo $field_id;
    ?>
[conditional][<?php 
    echo $x;
    ?>
][cr][<?php 
    echo $y;
    ?>
][field]" class="ninja-forms-field-conditional-cr-field" id="ninja_forms_field_<?php 
    echo $field_id;
    ?>
_cr_field" title="<?php 
    echo $x;
    ?>
_<?php 
    echo $y;
    ?>
">
			<option value=""><?php 
    _e('-- Field', 'ninja-forms-conditionals');
    ?>
</option>
				<?php 
    if (is_array($field_results)) {
        foreach ($field_results as $field) {
            $this_id = $field['id'];
            $field_data = $field['data'];
            if (isset($field_data['label'])) {
                $label = $field_data['label'];
            } else {
                $label = '';
            }
            $field_type = $field['type'];
            $label = htmlentities($label);
            if (strlen($label) > 30) {
                $label = substr($label, 0, 30) . '...';
            }
            if ($ninja_forms_fields[$field_type]['process_field'] and $this_id != $field_id) {
                ?>
							<option value="<?php 
                echo $this_id;
                ?>
" <?php 
                if (isset($cr['field']) and $cr['field'] == $this_id) {
                    echo 'selected';
                }
                ?>
><?php 
                _e('ID', 'ninja-forms-conditionals');
                ?>
: <?php 
                echo $this_id;
                ?>
 - <?php 
                echo $label;
                ?>
</option>
				<?php 
            }
        }
    }
    ?>
		</select>
		<select name="ninja_forms_field_<?php 
    echo $field_id;
    ?>
[conditional][<?php 
    echo $x;
    ?>
][cr][<?php 
    echo $y;
    ?>
][operator]">
			<option value="==" <?php 
    if (isset($cr['field']) and $cr['operator'] == '==') {
        echo 'selected';
    }
    ?>
><?php 
    _e('Equal To', 'ninja-forms-conditionals');
    ?>
</option>
			<option value="!=" <?php 
    if (isset($cr['field']) and $cr['operator'] == '!=') {
        echo 'selected';
    }
    ?>
><?php 
    _e('Not Equal To', 'ninja-forms-conditionals');
    ?>
</option>
			<option value="<" <?php 
    if (isset($cr['field']) and $cr['operator'] == '<') {
        echo 'selected';
    }
    ?>
><?php 
    _e('Less Than', 'ninja-forms-conditionals');
    ?>
</option>
			<option value=">" <?php 
    if (isset($cr['field']) and $cr['operator'] == '>') {
        echo 'selected';
    }
    ?>
><?php 
    _e('Greater Than', 'ninja-forms-conditionals');
    ?>
</option>
		</select>
		<br /><span id="ninja_forms_field_<?php 
    echo $field_id;
    ?>
_conditional_<?php 
    echo $x;
    ?>
_cr_<?php 
    echo $y;
    ?>
_value" class="">
		<?php 
    if (isset($conditional['value']) and is_array($conditional['value'])) {
        ninja_forms_field_conditional_cr_value_output($field_id, $x, $y, $conditional, $cr, $field_data);
    }
    ?>
		</span>
	</div>
	<?php 
}
 /**
  * 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'];
         }
     }
 }
Example #24
0
function ninja_forms_calc_after_import_form($form)
{
    global $wpdb;
    if (is_array($form['field']) and !empty($form['field'])) {
        $field_rows = ninja_forms_get_fields_by_form_id($form['id']);
        if (is_array($field_rows) and !empty($field_rows)) {
            for ($y = 0; $y < count($field_rows); $y++) {
                if (isset($field_rows[$y]['data']['calc']) and is_array($field_rows[$y]['data']['calc'])) {
                    for ($i = 0; $i < count($field_rows[$y]['data']['calc']); $i++) {
                        foreach ($form['field'] as $inserted_field) {
                            if (isset($field_rows[$y]['data']['calc'][$i]['field']) and $inserted_field['old_id'] == $field_rows[$y]['data']['calc'][$i]['field']) {
                                $field_rows[$y]['data']['calc'][$i]['field'] = $inserted_field['id'];
                            }
                        }
                    }
                }
                if (isset($field_rows[$y]['data']['calc_eq']) and $field_rows[$y]['data']['calc_eq'] != '') {
                    $calc_eq = $field_rows[$y]['data']['calc_eq'];
                    foreach ($form['field'] as $inserted_field) {
                        $calc_eq = str_replace('field_' . $inserted_field['old_id'], 'field_' . $inserted_field['id'], $calc_eq);
                    }
                    $field_rows[$y]['data']['calc_eq'] = $calc_eq;
                }
                $field_rows[$y]['data'] = serialize($field_rows[$y]['data']);
                $args = array('update_array' => array('data' => $field_rows[$y]['data']), 'where' => array('id' => $field_rows[$y]['id']));
                ninja_forms_update_field($args);
            }
            if (isset($form['data']['success_msg']) and $form['data']['success_msg'] != '') {
                $success_msg = $form['data']['success_msg'];
                foreach ($form['field'] as $inserted_field) {
                    $success_msg = str_replace('[ninja_forms_field id=' . $inserted_field['old_id'] . ']', '[ninja_forms_field id=' . $inserted_field['id'] . ']', $success_msg);
                }
                $form['data']['success_msg'] = $success_msg;
            }
            if (isset($form['data']['user_subject']) and $form['data']['user_subject'] != '') {
                $user_subject = $form['data']['user_subject'];
                foreach ($form['field'] as $inserted_field) {
                    $user_subject = str_replace('[ninja_forms_field id=' . $inserted_field['old_id'] . ']', '[ninja_forms_field id=' . $inserted_field['id'] . ']', $user_subject);
                }
                $form['data']['user_subject'] = $user_subject;
            }
            if (isset($form['data']['user_email_msg']) and $form['data']['user_email_msg'] != '') {
                $user_email_msg = $form['data']['user_email_msg'];
                foreach ($form['field'] as $inserted_field) {
                    $user_email_msg = str_replace('[ninja_forms_field id=' . $inserted_field['old_id'] . ']', '[ninja_forms_field id=' . $inserted_field['id'] . ']', $user_email_msg);
                }
                $form['data']['user_email_msg'] = $user_email_msg;
            }
            if (isset($form['data']['admin_subject']) and $form['data']['admin_subject'] != '') {
                $admin_subject = $form['data']['admin_subject'];
                foreach ($form['field'] as $inserted_field) {
                    $admin_subject = str_replace('[ninja_forms_field id=' . $inserted_field['old_id'] . ']', '[ninja_forms_field id=' . $inserted_field['id'] . ']', $admin_subject);
                }
                $form['data']['admin_subject'] = $admin_subject;
            }
            if (isset($form['data']['admin_email_msg']) and $form['data']['admin_email_msg'] != '') {
                $admin_email_msg = $form['data']['admin_email_msg'];
                foreach ($form['field'] as $inserted_field) {
                    $admin_email_msg = str_replace('[ninja_forms_field id=' . $inserted_field['old_id'] . ']', '[ninja_forms_field id=' . $inserted_field['id'] . ']', $admin_email_msg);
                }
                $form['data']['admin_email_msg'] = $admin_email_msg;
            }
            if (isset($form['data']['mp_confirm_msg']) and $form['data']['mp_confirm_msg'] != '') {
                $mp_confirm_msg = $form['data']['mp_confirm_msg'];
                foreach ($form['field'] as $inserted_field) {
                    $mp_confirm_msg = str_replace('[ninja_forms_field id=' . $inserted_field['old_id'] . ']', '[ninja_forms_field id=' . $inserted_field['id'] . ']', $mp_confirm_msg);
                }
                $form['data']['mp_confirm_msg'] = $mp_confirm_msg;
            }
            if (isset($form['data']['save_msg']) and $form['data']['save_msg'] != '') {
                $save_msg = $form['data']['save_msg'];
                foreach ($form['field'] as $inserted_field) {
                    $save_msg = str_replace('[ninja_forms_field id=' . $inserted_field['old_id'] . ']', '[ninja_forms_field id=' . $inserted_field['id'] . ']', $save_msg);
                }
                $form['data']['save_msg'] = $save_msg;
            }
            if (isset($form['data']['save_email_msg']) and $form['data']['save_email_msg'] != '') {
                $save_email_msg = $form['data']['save_email_msg'];
                foreach ($form['field'] as $inserted_field) {
                    $save_email_msg = str_replace('[ninja_forms_field id=' . $inserted_field['old_id'] . ']', '[ninja_forms_field id=' . $inserted_field['id'] . ']', $save_email_msg);
                }
                $form['data']['save_email_msg'] = $save_email_msg;
            }
            $args = array('update_array' => array('data' => serialize($form['data'])), 'where' => array('id' => $form['id']));
            ninja_forms_update_form($args);
        }
    }
}
Example #25
0
function ninja_forms_display_conditionals($form_id)
{
    global $ninja_forms_fields, $ninja_forms_loading, $ninja_forms_processing;
    $field_results = ninja_forms_get_fields_by_form_id($form_id);
    $field_results = apply_filters('ninja_forms_display_fields_array', $field_results, $form_id);
    if (is_array($field_results) and !empty($field_results)) {
        /*
        $watch_fields = array();
        foreach($field_results as $field){
        	$data = $field['data'];
        	if(isset($data['conditional']) AND is_array($data['conditional'])){
        		foreach($data['conditional'] as $conditional){
        			if(isset($conditional['cr']) AND is_array($conditional['cr'])){
        				foreach($conditional['cr'] as $cr){
        					$watch_fields[$cr['field']] = 1;
        				}
        			}
        		}
        	}
        }
        */
        //foreach( $field_results as $field_id => $user_value ) {
        foreach ($field_results as $field) {
            // 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($ninja_forms_fields[$field['type']])) {
                $type = $ninja_forms_fields[$field['type']];
                $field_id = $field['id'];
                $display_wrap = $type['display_wrap'];
                $display_label = $type['display_label'];
                $display_function = $type['display_function'];
                $data = $field['data'];
                $x = 0;
                if (isset($data['conditional']) and is_array($data['conditional'])) {
                    if (!isset($local_vars)) {
                        $local_vars = array();
                    }
                    foreach ($data['conditional'] as $conditional) {
                        $local_vars['field_' . $field_id]['conditional'][$x]['action'] = $conditional['action'];
                        $local_vars['field_' . $field_id]['conditional'][$x]['connector'] = $conditional['connector'];
                        $local_vars['field_' . $field_id]['conditional'][$x]['value'] = $conditional['value'];
                        if (isset($conditional['cr']) and is_array($conditional['cr'])) {
                            $y = 0;
                            foreach ($conditional['cr'] as $cr) {
                                if (isset($cr['field'])) {
                                    $field = $cr['field'];
                                } else {
                                    $field = '';
                                }
                                if (isset($cr['operator'])) {
                                    $operator = $cr['operator'];
                                } else {
                                    $operator = '';
                                }
                                if (isset($cr['value'])) {
                                    $value = $cr['value'];
                                } else {
                                    $value = '';
                                }
                                $local_vars['field_' . $field_id]['conditional'][$x]['cr'][$y]['field'] = $field;
                                $local_vars['field_' . $field_id]['conditional'][$x]['cr'][$y]['operator'] = $operator;
                                $local_vars['field_' . $field_id]['conditional'][$x]['cr'][$y]['value'] = $value;
                                $y++;
                            }
                        }
                        $x++;
                    }
                }
            }
        }
        if (isset($local_vars)) {
            return $local_vars;
        } else {
            return '';
        }
    }
}
Example #26
0
function ninja_forms_filter_email_add_fields($message)
{
    global $ninja_forms_processing, $ninja_forms_fields;
    $form_id = $ninja_forms_processing->get_form_ID();
    $all_fields = ninja_forms_get_fields_by_form_id($form_id);
    //$all_fields = $ninja_forms_processing->get_all_fields();
    $tmp_array = array();
    if (is_array($all_fields)) {
        foreach ($all_fields as $field) {
            if ($ninja_forms_processing->get_field_value($field['id'])) {
                $tmp_array[$field['id']] = $ninja_forms_processing->get_field_value($field['id']);
            }
        }
    }
    $all_fields = apply_filters('ninja_forms_email_all_fields_array', $tmp_array, $form_id);
    $email_type = $ninja_forms_processing->get_form_setting('email_type');
    if (is_array($all_fields) and !empty($all_fields)) {
        if ($email_type == 'html') {
            $message .= "<br><br>";
            $message .= apply_filters('nf_email_user_values_title', __('User Submitted Values:', 'ninja-forms'));
            $message .= "<table>";
        } else {
            $message = str_replace("<p>", "\r\n", $message);
            $message = str_replace("</p>", "", $message);
            $message = str_replace("<br>", "\r\n", $message);
            $message = str_replace("<br />", "\r\n", $message);
            $message = strip_tags($message);
            $message .= "\r\n \r\n";
            $message .= apply_filters('nf_email_user_values_title', __('User Submitted Values:', 'ninja-forms'));
            $message .= "\r\n";
        }
        foreach ($all_fields as $field_id => $user_value) {
            $field_row = $ninja_forms_processing->get_field_settings($field_id);
            $field_label = $field_row['data']['label'];
            $field_label = apply_filters('ninja_forms_email_field_label', $field_label, $field_id);
            $user_value = apply_filters('ninja_forms_email_user_value', $user_value, $field_id);
            $field_type = $field_row['type'];
            if ($ninja_forms_fields[$field_type]['process_field']) {
                if (is_array($user_value) and !empty($user_value)) {
                    $x = 0;
                    foreach ($user_value as $val) {
                        if (!is_array($val)) {
                            if ($x > 0) {
                                $field_label = '----';
                                $field_label = apply_filters('ninja_forms_email_field_label', $field_label, $field_id);
                            }
                            if ($email_type == 'html') {
                                $message .= "<tr><td width='50%'>" . $field_label . ":</td><td width='50%'>" . $val . "</td></tr>";
                            } else {
                                $message .= $field_label . " - " . $val . "\r\n";
                            }
                        } else {
                            foreach ($val as $v) {
                                if (!is_array($v)) {
                                    if ($x > 0) {
                                        $field_label = '----';
                                        $field_label = apply_filters('ninja_forms_email_field_label', $field_label, $field_id);
                                    }
                                    if ($email_type == 'html') {
                                        $message .= "<tr><td width='50%'>" . $field_label . ":</td><td width='50%'>" . $v . "</td></tr>";
                                    } else {
                                        $message .= $field_label . " - " . $v . "\r\n";
                                    }
                                } else {
                                    foreach ($v as $a) {
                                        if ($x > 0) {
                                            $field_label = '----';
                                            $field_label = apply_filters('ninja_forms_email_field_label', $field_label, $field_id);
                                        }
                                        if ($email_type == 'html') {
                                            $message .= "<tr><td width='50%'>" . $field_label . ":</td><td width='50%'>" . $a . "</td></tr>";
                                        } else {
                                            $message .= $field_label . " - " . $a . "\r\n";
                                        }
                                    }
                                }
                            }
                        }
                        $x++;
                    }
                } else {
                    if ($email_type == 'html') {
                        $message .= "<tr><td width='50%'>" . $field_label . ":</td><td width='50%'>" . $user_value . "</td></tr>";
                    } else {
                        $message .= $field_label . " - " . $user_value . "\r\n";
                    }
                }
            }
        }
        if ($email_type == 'html') {
            $message .= "</table>";
        }
    }
    $message = apply_filters('ninja_forms_email_field_list', $message, $form_id);
    return $message;
}
Example #27
0
function ninja_forms_get_field_class($field_id)
{
    $field_row = ninja_forms_get_field_by_id($field_id);
    $field_data = $field_row['data'];
    $field_data = apply_filters('ninja_forms_field', $field_data, $field_id);
    $field_class = 'ninja-forms-field';
    $x = 0;
    $custom_class = '';
    if (isset($field_data['class']) and !empty($field_data['class'])) {
        $class_array = explode(",", $field_data['class']);
        foreach ($class_array as $class) {
            $custom_class .= $class;
            if ($x != count($class_array) - 1) {
                $custom_class .= " ";
            }
            $x++;
        }
    }
    $req_class = '';
    if (isset($field_data['req']) and $field_data['req'] == 1) {
        $req_class = 'ninja-forms-req';
    }
    $form_id = $field_row['form_id'];
    $watch_fields = array();
    $field_results = ninja_forms_get_fields_by_form_id($form_id);
    $calc_listen = '';
    $sub_total = false;
    $tax = false;
    foreach ($field_results as $field) {
        $data = $field['data'];
        if (isset($data['conditional']) and is_array($data['conditional'])) {
            foreach ($data['conditional'] as $conditional) {
                if (isset($conditional['cr']) and is_array($conditional['cr'])) {
                    foreach ($conditional['cr'] as $cr) {
                        $watch_fields[$cr['field']] = 1;
                    }
                }
            }
        }
        // Check for advanced calculation fields that reference this field. If we find one, and use_calc_adv is set to 1, add a special class to this field.
        if ($field['type'] == '_calc') {
            // Check to see if this is a sub_total calculation
            if (isset($data['calc_method'])) {
                $calc_method = $data['calc_method'];
            } else {
                $calc_method = 'auto';
            }
            switch ($calc_method) {
                case 'auto':
                    if (isset($field_data['calc_auto_include']) and $field_data['calc_auto_include'] == 1) {
                        $calc_listen = 'ninja-forms-field-calc-listen ninja-forms-field-calc-auto';
                    }
                    break;
                case 'fields':
                    foreach ($data['calc'] as $calc) {
                        if ($calc['field'] == $field_id) {
                            if ($calc_listen == '') {
                                $calc_listen = 'ninja-forms-field-calc-listen';
                            }
                            break;
                        }
                    }
                    break;
                case 'eq':
                    $eq = $data['calc_eq'];
                    if (preg_match("/\\bfield_" . $field_id . "\\b/i", $eq)) {
                        if ($calc_listen == '') {
                            $calc_listen = 'ninja-forms-field-calc-listen';
                        }
                        break;
                    }
                    break;
            }
        }
    }
    if (isset($field_data['payment_sub_total']) and $field_data['payment_sub_total'] == 1) {
        if ($calc_listen == '') {
            $calc_listen = 'ninja-forms-field-calc-listen';
        }
    }
    // Check to see if this is a tax field;
    if ($field_row['type'] == '_tax') {
        if ($calc_listen == '') {
            $calc_listen = 'ninja-forms-field-calc-listen';
        }
    }
    // Check to see if we are dealing with a field that has the user_info_field_group set.
    if (isset($data['user_info_field_group_name']) and $data['user_info_field_group_name'] != '') {
        $user_info_group_class = $data['user_info_field_group_name'] . '-address';
    } else {
        $user_info_group_class = '';
    }
    // Check to see if we are dealing with an address field.
    if (isset($data['user_address_1']) and $data['user_address_1'] == 1) {
        $address_class = 'address address1';
    }
    if (isset($data['user_address_2']) and $data['user_address_2'] == 1) {
        $address_class = 'address address2';
    }
    if (isset($data['user_city']) and $data['user_city'] == 1) {
        $address_class = 'address city';
    }
    if (isset($data['user_state']) and $data['user_state'] == 1) {
        $address_class = 'address state';
    }
    if (isset($data['user_city']) and $data['user_city'] == 1) {
        $address_class = 'address city';
    }
    $listen_class = '';
    if (isset($watch_fields[$field_id]) and $watch_fields[$field_id] == 1) {
        $listen_class = "ninja-forms-field-conditional-listen";
    }
    if ($req_class != '') {
        $field_class .= " " . $req_class;
    }
    if ($custom_class != '') {
        $field_class .= " " . $custom_class;
    }
    if ($listen_class != '') {
        $field_class .= " " . $listen_class;
    }
    if ($calc_listen != '') {
        $field_class .= ' ' . $calc_listen;
    }
    if ($user_info_group_class != '') {
        $field_class .= " " . $user_info_group_class;
    }
    if ($address_class != '') {
        $field_class .= " " . $address_class;
    }
    return apply_filters('ninja_forms_display_field_class', $field_class, $field_id);
}
 /**
  * 
  * Function to add the field data to $this->data['fields'].
  *
  * @since 2.3.9
  * @return void.
  */
 function setup_field_data()
 {
     global $current_user, $post, $ninja_forms_fields;
     $form_id = $this->data['form_ID'];
     $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($data['default_value'])) {
             $default_value = $data['default_value'];
         } else {
             if (isset($ninja_forms_fields[$field_type]['default_value'])) {
                 $default_value = $ninja_forms_fields[$field_type]['default_value'];
             } else {
                 $default_value = '';
             }
         }
         $default_value_type = isset($data['default_value_type']) ? $data['default_value_type'] : '';
         // Check to see if our default value is one of our preset values:
         wp_get_current_user();
         $user_ID = $current_user->ID;
         if ($user_ID and !empty($user_ID)) {
             $user_firstname = $current_user->user_firstname;
             $user_lastname = $current_user->user_lastname;
             $user_display_name = $current_user->display_name;
             $user_email = $current_user->user_email;
         } else {
             $user_ID = '';
             $user_firstname = '';
             $user_lastname = '';
             $user_display_name = '';
             $user_email = '';
         }
         if (is_object($post)) {
             $post_ID = $post->ID;
             $post_title = $post->post_title;
             $post_url = get_permalink($post_ID);
         } else {
             $post_ID = '';
             $post_title = '';
             $post_url = '';
         }
         switch ($default_value) {
             case '_user_id':
                 $default_value = $user_ID;
                 break;
             case '_user_firstname':
                 $default_value = $user_firstname;
                 break;
             case '_user_lastname':
                 $default_value = $user_lastname;
                 break;
             case '_user_display_name':
                 $default_value = $user_display_name;
                 break;
             case '_user_email':
                 $default_value = $user_email;
                 break;
             case 'post_id':
                 $default_value = $post_ID;
                 break;
             case 'post_title':
                 $default_value = $post_title;
                 break;
             case 'post_url':
                 $default_value = $post_url;
                 break;
             case 'today':
                 $plugin_settings = nf_get_settings();
                 if (isset($plugin_settings['date_format'])) {
                     $date_format = $plugin_settings['date_format'];
                 } else {
                     $date_format = 'm/d/Y';
                 }
                 $default_value = date($date_format, current_time('timestamp'));
                 break;
             default:
                 if ('querystring' == $default_value_type) {
                     $default_value = isset($_GET[$default_value]) ? esc_html($_GET[$default_value]) : '';
                 }
                 break;
         }
         $this->data['fields'][$field_id] = $default_value;
         $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;
     }
 }
Example #29
0
function ninja_forms_export_subs_to_csv($sub_ids = '', $return = false)
{
    global $ninja_forms_fields, $ninja_forms_processing;
    $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';
    }
    //Create a $label_array that contains all of the field labels.
    //Get the Form ID.
    if (isset($ninja_forms_processing)) {
        $form_id = $ninja_forms_processing->get_form_ID();
    } else {
        if (isset($_REQUEST['form_id'])) {
            $form_id = absint($_REQUEST['form_id']);
        }
    }
    //Get the fields attached to the Form ID
    $field_results = ninja_forms_get_fields_by_form_id($form_id);
    //Set the label array to a blank
    $label_array = array();
    $value_array = array();
    $sub_id_array = array();
    $label_array[0][] = "Date";
    if (is_array($field_results) and !empty($field_results)) {
        foreach ($field_results as $field) {
            $field_type = $field['type'];
            $field_id = $field['id'];
            if (isset($ninja_forms_fields[$field_type]['process_field'])) {
                $process_field = $ninja_forms_fields[$field_type]['process_field'];
            } else {
                $process_field = true;
            }
            if (isset($field['data']['label'])) {
                $label = $field['data']['label'];
            } else {
                $label = '';
            }
            if ($process_field) {
                $label_array[0][$field_id] = apply_filters('ninja_forms_export_sub_label', $label, $field_id);
            }
        }
    }
    if (is_array($sub_ids) and !empty($sub_ids)) {
        $x = 0;
        foreach ($sub_ids as $id) {
            $sub_row = ninja_forms_get_sub_by_id($id);
            $sub_id_array[$x] = $id;
            $date_updated = date($date_format, strtotime($sub_row['date_updated']));
            $value_array[$x][] = $date_updated;
            if (is_array($sub_row['data']) and !empty($sub_row['data'])) {
                foreach ($label_array[0] as $field_id => $label) {
                    if ($field_id != 0) {
                        $found = false;
                        foreach ($sub_row['data'] as $data) {
                            $data['user_value'] = ninja_forms_stripslashes_deep($data['user_value']);
                            $data['user_value'] = ninja_forms_html_entity_decode_deep($data['user_value'], ENT_QUOTES);
                            if ($data['field_id'] == $field_id) {
                                if (is_array($data['user_value'])) {
                                    $user_value = implode_r(',', $data['user_value']);
                                } else {
                                    $user_value = $data['user_value'];
                                }
                                $found = true;
                            }
                        }
                        if (!$found) {
                            $user_value = '';
                        }
                        $value_array[$x][] = apply_filters('ninja_forms_export_sub_value', $user_value, $field_id);
                    }
                }
            }
            $x++;
        }
    }
    $value_array = ninja_forms_stripslashes_deep($value_array);
    $value_array = apply_filters('ninja_forms_export_subs_value_array', $value_array, $sub_id_array);
    $label_array = ninja_forms_stripslashes_deep($label_array);
    $label_array = apply_filters('ninja_forms_export_subs_label_array', $label_array, $sub_id_array);
    $array = array($label_array, $value_array);
    $today = date($date_format);
    $filename = apply_filters('ninja_forms_export_subs_csv_file_name', 'ninja_forms_subs_' . $today);
    $filename = $filename . ".csv";
    if ($return) {
        return str_putcsv($array, apply_filters('ninja_forms_csv_delimiter', ','), apply_filters('ninja_forms_csv_enclosure', '"'), apply_filters('ninja_forms_csv_terminator', "\n"));
    } else {
        header("Content-type: application/csv");
        header("Content-Disposition: attachment; filename=" . $filename);
        header("Pragma: no-cache");
        header("Expires: 0");
        echo apply_filters('ninja_forms_csv_bom', "");
        // Byte Order Mark
        echo str_putcsv($array, apply_filters('ninja_forms_csv_delimiter', ','), apply_filters('ninja_forms_csv_enclosure', '"'), apply_filters('ninja_forms_csv_terminator', "\n"));
        die;
    }
}
Example #30
0
function ninja_forms_calc_filter_list_options_span($class, $field_id)
{
    $field_row = ninja_forms_get_field_by_id($field_id);
    $add_class = false;
    // Check to see if this field has cal_auto_include set to 1. If it does, we want to output a class name.
    if (isset($field_row['data']['calc_auto_include']) and !empty($field_row['data']['calc_auto_include'])) {
        $add_class = true;
    }
    $form = ninja_forms_get_form_by_field_id($field_id);
    $form_id = $form['id'];
    $all_fields = ninja_forms_get_fields_by_form_id($form_id);
    foreach ($all_fields as $field) {
        if ($field['type'] == '_calc') {
            if (isset($field['data']['calc_method'])) {
                $calc_method = $field['data']['calc_method'];
            } else {
                $calc_method = 'auto';
            }
            switch ($calc_method) {
                case 'fields':
                    if (isset($field['data']['calc'])) {
                        foreach ($field['data']['calc'] as $calc) {
                            if ($calc['field'] == $field_id) {
                                $add_class = true;
                                break;
                            }
                        }
                    }
                    break;
                case 'eq':
                    $eq = $field['data']['calc_eq'];
                    if (preg_match("/\\bfield_" . $field_id . "\\b/i", $eq)) {
                        $add_class = true;
                        break;
                    }
                    break;
            }
        }
    }
    if ($add_class) {
        $class .= ' ninja-forms-field-list-options-span-calc-listen';
    }
    return $class;
}