コード例 #1
0
function ninja_forms_preview_link($form_id = '', $echo = true)
{
    if ($form_id == '') {
        if (isset($_REQUEST['form_id'])) {
            $form_id = absint($_REQUEST['form_id']);
        } else {
            $form_id = '';
        }
    }
    $base = home_url();
    $form_data = ninja_forms_get_form_by_id($form_id);
    $append_page = Ninja_Forms()->form($form_id)->get_setting('append_page');
    if (empty($append_page)) {
        $opt = nf_get_settings();
        if (isset($opt['preview_id'])) {
            $page_id = $opt['preview_id'];
        } else {
            $page_id = '';
        }
    } else {
        $page_id = $append_page;
    }
    if ($echo) {
        $preview_link = '<a target="_blank" href="' . $base . '/?page_id=' . $page_id . '&preview=true&form_id=' . $form_id . '">' . __('Preview Form', 'ninja-forms') . '</a>';
    } else {
        $preview_link = $base . '/?page_id=' . $page_id . '&preview=true&form_id=' . $form_id;
    }
    return $preview_link;
}
コード例 #2
0
ファイル: subs.php プロジェクト: Natedaug/WordPressSites
 /**
  * Create a submission.
  * 
  * @access public
  * @since 2.7
  * @return int $sub_id
  */
 public function create($form_id = '')
 {
     // Create Submission
     $post = array('post_status' => 'publish', 'post_type' => 'nf_sub');
     $sub_id = wp_insert_post($post);
     // Add our form ID to the submission
     Ninja_Forms()->sub($sub_id)->update_form_id($form_id);
     // Get the current sequential ID
     $form = ninja_forms_get_form_by_id($form_id);
     if (isset($form['data']['last_sub'])) {
         $seq_num = $form['data']['last_sub'] + 1;
     } else {
         // If we don't have a starting number, start at 1
         $seq_num = 1;
     }
     $seq_num = apply_filters('nf_sub_seq_num', $seq_num, $form_id);
     // Add the sequential ID to the post meta
     Ninja_Forms()->sub($sub_id)->update_seq_num($seq_num);
     // Update our form data with the new "last seq id."
     $form['data']['last_sub'] = $seq_num;
     $args = array('update_array' => array('data' => serialize($form['data'])), 'where' => array('id' => $form_id));
     ninja_forms_update_form($args);
     // Update our sub count
     Ninja_Forms()->form($form_id)->sub_count = $seq_num - 1;
     return $sub_id;
 }
コード例 #3
0
function ninja_forms_export_form($form_id)
{
    if ($form_id == '') {
        return;
    }
    $plugin_settings = nf_get_settings();
    $form_row = ninja_forms_get_form_by_id($form_id);
    $data = $form_row['data'];
    $form_title = $data['form_title'];
    $form_row = ninja_forms_serialize_form($form_id);
    $form_title = preg_replace('/[^a-zA-Z0-9-]/', '', $form_title);
    $form_title = str_replace(" ", "-", $form_title);
    if (isset($plugin_settings['date_format'])) {
        $date_format = $plugin_settings['date_format'];
    } else {
        $date_format = 'm/d/Y';
    }
    //$today = date($date_format);
    $current_time = current_time('timestamp');
    $today = date($date_format, $current_time);
    header("Content-type: application/csv");
    header('Content-Disposition: attachment; filename="' . $form_title . '"-"' . $today . '".nff"');
    header("Pragma: no-cache");
    header("Expires: 0");
    echo $form_row;
    die;
}
コード例 #4
0
ファイル: form-preview.php プロジェクト: hoonio/PhoneAfrika
function ninja_forms_preview_link($form_id = '', $echo = true)
{
    if ($form_id == '') {
        if (isset($_REQUEST['form_id'])) {
            $form_id = absint($_REQUEST['form_id']);
        } else {
            $form_id = '';
        }
    }
    $base = home_url();
    $form_data = ninja_forms_get_form_by_id($form_id);
    //if( '' == $form_data['data']['append_page'] ) {
    if (!isset($form_data['data']['append_page']) or empty($form_data['data']['append_page'])) {
        // See the comment above about this check. !empty will ensure that it's not either empty quotes or null.
        $opt = get_option('ninja_forms_settings');
        if (isset($opt['preview_id'])) {
            $page_id = $opt['preview_id'];
        } else {
            $page_id = '';
        }
    } else {
        $page_id = $form_data['data']['append_page'];
    }
    if ($echo) {
        $preview_link = '<a target="_blank" href="' . $base . '/?page_id=' . $page_id . '&preview=true&form_id=' . $form_id . '">' . __('Preview Form', 'ninja-forms') . '</a>';
    } else {
        $preview_link = $base . '/?page_id=' . $page_id . '&preview=true&form_id=' . $form_id;
    }
    return $preview_link;
}
コード例 #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);
        }
    }
}
コード例 #6
0
ファイル: database.php プロジェクト: idies/escience-2016-wp
function ninja_forms_get_form_by_sub_id($sub_id)
{
    global $wpdb;
    $form_id = Ninja_Forms()->sub($sub_id)->form_id;
    $form_row = ninja_forms_get_form_by_id($form_id);
    return $form_row;
}
コード例 #7
0
ファイル: process-message.php プロジェクト: ramiy/ninja-forms
/**
 * Outputs the HTML for the ajax processing div. Only used when submitting via ajax.
 *
**/
function ninja_forms_display_process_message($form_id)
{
    global $ninja_forms_processing_error, $ninja_forms_processing_response;
    $plugin_settings = nf_get_settings();
    $form_row = ninja_forms_get_form_by_id($form_id);
    $process_label = __($plugin_settings['process_label'], 'ninja-forms');
    if (isset($form_row['data']['ajax'])) {
        $ajax = $form_row['data']['ajax'];
    } else {
        $ajax = 0;
    }
    if ($ajax == 1) {
        ?>
	<div id="ninja_forms_form_<?php 
        echo $form_id;
        ?>
_process_msg" style="display:none;" class="ninja-forms-processing">
		<?php 
        echo $process_label;
        ?>
 <img src="<?php 
        echo NINJA_FORMS_URL;
        ?>
/images/loading.gif" alt="loading">
	</div>
	<?php 
    }
}
コード例 #8
0
function nf_check_post()
{
    if (isset($_POST['_ninja_forms_display_submit']) and absint($_POST['_ninja_forms_display_submit']) == 1) {
        // If our nonce isn't set, bail
        if (!isset($_POST['_wpnonce'])) {
            return false;
        }
        // If our nonce doesn't validate, bail
        if (!wp_verify_nonce($_POST['_wpnonce'], 'nf_form_' . absint($_POST['_form_id']))) {
            return false;
        }
        $form_row = ninja_forms_get_form_by_id(absint($_POST['_form_id']));
        if (isset($form_row['data']['ajax'])) {
            $ajax = $form_row['data']['ajax'];
        } else {
            $ajax = '';
        }
        if ($ajax != 1) {
            add_action('init', 'ninja_forms_setup_processing_class', 5);
            add_action('init', 'ninja_forms_pre_process', 999);
        } else {
            if ($ajax == 1 and $_REQUEST['action'] == 'ninja_forms_ajax_submit') {
                add_action('init', 'ninja_forms_setup_processing_class', 5);
                add_action('init', 'ninja_forms_pre_process', 999);
            }
        }
    }
}
コード例 #9
0
ファイル: scripts.php プロジェクト: emtv/hackmsi
function ninja_forms_mp_display_css($form_id)
{
    $form_row = ninja_forms_get_form_by_id($form_id);
    $form_data = $form_row['data'];
    if (isset($form_data['multi_part']) and $form_data['multi_part'] == 1) {
        wp_enqueue_style('ninja-forms-mp-display', NINJA_FORMS_MP_URL . '/css/ninja-forms-mp-display.css');
    }
}
コード例 #10
0
function ninja_forms_display_response_message($form_id)
{
    global $ninja_forms_processing;
    //	if ( ! is_object( $ninja_forms_processing ) || $ninja_forms_processing->get_form_ID() != $form_id ) {
    //		return false;
    //	}
    $plugin_settings = nf_get_settings();
    $form_row = ninja_forms_get_form_by_id($form_id);
    if (isset($form_row['data']['ajax'])) {
        $ajax = $form_row['data']['ajax'];
    } else {
        $ajax = 0;
    }
    if ($ajax == 0 and (is_object($ninja_forms_processing) and !$ninja_forms_processing->get_all_errors() and !$ninja_forms_processing->get_all_success_msgs())) {
        $display = 'display:none;';
    } else {
        $display = '';
    }
    if (is_object($ninja_forms_processing)) {
        if ($ninja_forms_processing->get_errors_by_location('general')) {
            $class = 'ninja-forms-error-msg';
        } else {
            if ($ninja_forms_processing->get_all_success_msgs()) {
                $class = 'ninja-forms-success-msg';
            } else {
                $class = '';
            }
        }
    } else {
        $class = '';
    }
    $class = apply_filters('ninja_forms_display_response_message_class', $class, $form_id);
    //if ( $class != '' ) {
    echo '<div id="ninja_forms_form_' . $form_id . '_response_msg" style="' . $display . '" class="ninja-forms-response-msg ' . $class . '">';
    if (isset($ninja_forms_processing) && $ninja_forms_processing->get_form_ID() == $form_id) {
        if (is_object($ninja_forms_processing)) {
            if ($ninja_forms_processing->get_form_ID() == $form_id) {
                if ($ninja_forms_processing->get_errors_by_location('general')) {
                    foreach ($ninja_forms_processing->get_errors_by_location('general') as $error) {
                        echo '<div>';
                        echo $error['msg'];
                        echo '</div>';
                    }
                }
                if ($ninja_forms_processing->get_all_success_msgs()) {
                    foreach ($ninja_forms_processing->get_all_success_msgs() as $success) {
                        echo '<div>';
                        echo $success;
                        echo '</div>';
                    }
                }
            }
        }
    }
    echo '</div>';
    //}
}
コード例 #11
0
ファイル: sub-table.php プロジェクト: emtv/hackmsi
function ninja_forms_manage_sub_form_check($user_id, $form_id)
{
    $user = get_userdata($user_id);
    $form_row = ninja_forms_get_form_by_id($form_id);
    $form_data = $form_row['data'];
    if (isset($form_data['manage_sub']) and $form_data['manage_sub'] == 1) {
        if (isset($form_data['edit_sub']) and $form_data['edit_sub'] == 1) {
            $edit_setting = true;
        } else {
            $edit_setting = false;
        }
        if (isset($form_data['delete_sub']) and $form_data['delete_sub'] == 1) {
            $delete_setting = true;
        } else {
            $delete_setting = false;
        }
        $edit = false;
        $delete = false;
        if (isset($form_data['sub_edit_user_list']) and $form_data['sub_edit_user_list'] != '') {
            $user_list = explode(',', $form_data['sub_edit_user_list']);
            if (in_array($user_id, $user_list)) {
                $edit = $edit_setting;
                $delete = $delete_setting;
            }
        }
        if (isset($form_data['manage_sub_roles']) and is_array($form_data['manage_sub_roles'])) {
            if (is_object($user) and !empty($user)) {
                foreach ($user->roles as $user_role) {
                    foreach ($user->roles as $user_role) {
                        if (in_array($user_role, $form_data['manage_sub_roles'])) {
                            $edit = $edit_setting;
                            $delete = $delete_setting;
                            break 2;
                        }
                    }
                }
            }
        }
        if (isset($form_data['override_sub_rules']) and $form_data['override_sub_rules'] == 1) {
            $override = true;
        } else {
            $override = false;
        }
        $args = array('edit' => $edit, 'delete' => $delete, 'override' => $override);
        return $args;
    } else {
        return false;
    }
}
コード例 #12
0
ファイル: file-uploads.php プロジェクト: emtv/hackmsi
function ninja_forms_register_field_upload()
{
    $args = array('name' => 'File Upload', 'edit_options' => array(array('type' => 'text', 'name' => 'upload_types', 'label' => '<strong>' . __('Allowed File Types', 'ninja-forms') . '</strong><br/>' . __('Comma Separated List of allowed file types. An empty list means all file types are accepted. (i.e. .jpg, .gif, .png, .pdf) This is not fool-proof and can be tricked, please remember that there is always a danger in allowing users to upload files.'), 'class' => 'widefat'), array('type' => 'text', 'name' => 'upload_rename', 'label' => '<strong>' . __('Rename Uploaded File', 'ninja-forms') . '</strong><br />' . __('Advanced renaming options. If you do not want to rename the files, leave this box blank', 'ninja-forms') . ' <a href="#" class="ninja-forms-rename-help">' . __('Get help renaming files', 'ninja-forms') . '</a>', 'class' => 'widefat'), array('type' => 'checkbox', 'name' => 'media_library', 'label' => __('Add this file to the WordPress Media Library?', 'ninja-forms-uploads')), array('type' => 'checkbox', 'name' => 'email_attachment', 'label' => __('Email file as an attachment to administrators.', 'ninja-forms-uploads'))), 'edit_function' => 'ninja_forms_field_upload_edit', 'display_function' => 'ninja_forms_field_upload_display', 'group' => 'standard_fields', 'edit_label' => true, 'edit_label_pos' => true, 'edit_req' => true, 'edit_custom_class' => true, 'edit_help' => true, 'edit_desc' => true, 'edit_meta' => false, 'sidebar' => 'template_fields', 'edit_conditional' => true, 'conditional' => array('value' => array('type' => 'text')), 'pre_process' => 'ninja_forms_field_upload_pre_process', 'edit_sub_pre_process' => 'ninja_forms_field_upload_pre_process', 'process' => 'ninja_forms_field_upload_process', 'edit_sub_process' => 'ninja_forms_field_upload_process', 'req_validation' => 'ninja_forms_field_upload_req_validation');
    if (isset($_REQUEST['form_id'])) {
        $form_row = ninja_forms_get_form_by_id($_REQUEST['form_id']);
        $form_data = $form_row['data'];
        if (isset($form_data['create_post']) and $form_data['create_post'] == 1) {
            $option = array('type' => 'checkbox', 'name' => 'featured_image', 'label' => __('Set as featured image for the Post.'), 'class' => 'ninja-forms-upload-multi', 'width' => 'wide');
            array_push($args['edit_options'], $option);
        }
    }
    if (function_exists('ninja_forms_register_field')) {
        ninja_forms_register_field('_upload', $args);
    }
}
コード例 #13
0
ファイル: open-form-tag.php プロジェクト: serker72/T3S
function ninja_forms_display_open_form_tag($form_id)
{
    $form_row = ninja_forms_get_form_by_id($form_id);
    if (isset($form_row['data']['ajax'])) {
        $ajax = $form_row['data']['ajax'];
    } else {
        $ajax = 0;
    }
    if ($ajax == 1) {
        if (is_ssl()) {
            $url = admin_url('admin-ajax.php', 'https');
        } else {
            $url = admin_url('admin-ajax.php', 'http');
        }
        $url = apply_filters('ninja_forms_ajax_url', $url, $form_id);
        $url = add_query_arg('action', 'ninja_forms_ajax_submit', $url);
        //$url = add_query_arg('action', 'test', $url);
    } else {
        $url = '';
    }
    $display = 1;
    $display = apply_filters('ninja_forms_display_form_visibility', $display, $form_id);
    if ($display != 1) {
        $hide_class = " ninja-forms-no-display";
    } else {
        $hide_class = "";
    }
    $form_class = '';
    $form_class = apply_filters('ninja_forms_form_class', $form_class, $form_id);
    if (!empty($form_class)) {
        $form_class = ' ' . $form_class;
    }
    ?>
	<form id="ninja_forms_form_<?php 
    echo $form_id;
    ?>
" enctype="multipart/form-data" method="post" name="" action="<?php 
    echo $url;
    ?>
" class="ninja-forms-form<?php 
    echo $form_class;
    echo $hide_class;
    ?>
">

	<?php 
}
コード例 #14
0
ファイル: filter-fields.php プロジェクト: emtv/hackmsi
function ninja_forms_mp_filter_fields($field_results, $form_id)
{
    global $ninja_forms_processing;
    if (isset($ninja_forms_processing) and $ninja_forms_processing->get_error('confirm-submit')) {
        return $field_results;
    }
    $form_row = ninja_forms_get_form_by_id($form_id);
    $form_data = $form_row['data'];
    $form_data = apply_filters('ninja_forms_display_form_form_data', $form_data);
    if (isset($form_data['ajax'])) {
        $ajax = $form_data['ajax'];
    } else {
        $ajax = 0;
    }
    $ajax = 1;
    if ($ajax != 1) {
        if (isset($_REQUEST['_current_page'])) {
            $current_page = $_REQUEST['_current_page'];
        } else {
            $current_page = 1;
        }
        if (is_object($ninja_forms_processing) and $ninja_forms_processing->get_extra_value('_current_page') and $form_id == $ninja_forms_processing->get_form_ID()) {
            $current_page = $ninja_forms_processing->get_extra_value('_current_page');
        }
        if (isset($form_data['multi_part'])) {
            $multi_part = $form_data['multi_part'];
        } else {
            $multi_part = 0;
        }
        if ($multi_part == 1) {
            if (is_array($field_results) and !empty($field_results)) {
                $pages = array();
                $x = 0;
                foreach ($field_results as $field) {
                    if ($field['type'] == '_page_divider') {
                        $x++;
                    }
                    $pages[$x][] = $field;
                }
            }
            $page_count = count($pages);
            $field_results = $pages[$current_page];
        }
    }
    return $field_results;
}
コード例 #15
0
ファイル: edit-field-ul.php プロジェクト: emtv/hackmsi
function ninja_forms_mp_register_edit_field_ul()
{
    if (isset($_REQUEST['form_id'])) {
        $form_id = $_REQUEST['form_id'];
        $form_row = ninja_forms_get_form_by_id($form_id);
        $form_data = $form_row['data'];
        if (isset($form_data['multi_part'])) {
            $multi_part = $form_data['multi_part'];
        } else {
            $multi_part = 0;
        }
        if ($multi_part == 1) {
            remove_action('ninja_forms_edit_field_ul', 'ninja_forms_edit_field_output_ul');
            add_action('ninja_forms_edit_field_ul', 'ninja_forms_edit_field_output_mp_ul');
            add_action('ninja_forms_edit_field_before_ul', 'ninja_forms_edit_field_open_div');
        }
    }
}
コード例 #16
0
ファイル: widget.php プロジェクト: HeliWang/EngSoc-Website
 /**
  * Front-end display of widget.
  *
  * @see WP_Widget::widget()
  *
  * @param array $args     Widget arguments.
  * @param array $instance Saved values from database.
  */
 public function widget($args, $instance)
 {
     extract($args);
     $form_id = $instance['form_id'];
     $form_row = ninja_forms_get_form_by_id($form_id);
     $form_data = $form_row['data'];
     if (isset($form_data['form_title'])) {
         $title = $form_data['form_title'];
     } else {
         $title = '';
     }
     $title = apply_filters('widget_title', $title);
     $display_title = $instance['display_title'];
     echo $before_widget;
     if (!empty($title) and $display_title == 1) {
         echo $before_title . $title . $after_title;
     }
     ninja_forms_display_form($form_id);
     echo $after_widget;
 }
コード例 #17
0
function ninja_forms_display_form_visibility($display, $form_id)
{
    global $ninja_forms_processing;
    $form_row = ninja_forms_get_form_by_id($form_id);
    $form_data = $form_row['data'];
    if (is_object($ninja_forms_processing)) {
        $hide_complete = $ninja_forms_processing->get_form_setting('hide_complete');
    } else {
        if (isset($form_data['hide_complete'])) {
            $hide_complete = $form_data['hide_complete'];
        } else {
            $hide_complete = 0;
        }
    }
    //If the plugin setting 'hide complete' has been set and a success message exists, hide the form.
    if ($hide_complete == 1 and (is_object($ninja_forms_processing) and $ninja_forms_processing->get_form_setting('processing_complete') == 1) and $ninja_forms_processing->get_form_ID() == $form_id) {
        $display = 0;
    }
    return $display;
}
コード例 #18
0
ファイル: before-pre-process.php プロジェクト: emtv/hackmsi
function ninja_forms_mp_check_page_conditional_before_pre_process()
{
    global $ninja_forms_processing;
    $form_id = $ninja_forms_processing->get_form_ID();
    $form_row = ninja_forms_get_form_by_id($form_id);
    if (isset($form_row['data']['multi_part']) and $form_row['data']['multi_part'] == 1) {
        if (isset($form_row['data']['ajax']) and $form_row['data']['ajax'] == 1) {
            if (function_exists('ninja_forms_conditionals_field_filter')) {
                $pages = $ninja_forms_processing->get_form_setting('mp_pages');
                if (is_array($pages) and !empty($pages)) {
                    foreach ($pages as $page => $vars) {
                        $show = ninja_forms_mp_check_page_conditional($form_id, $page);
                        if (!$show) {
                            ninja_forms_mp_conditional_remove_page($form_id, $page);
                        }
                    }
                }
            }
        }
    }
}
コード例 #19
0
ファイル: form-title.php プロジェクト: serker72/T3S
function ninja_forms_display_form_title($form_id)
{
    $form_row = ninja_forms_get_form_by_id($form_id);
    $form_data = $form_row['data'];
    if (isset($form_data['show_title'])) {
        $show_title = $form_data['show_title'];
    } else {
        $show_title = 0;
    }
    if (isset($form_data['form_title'])) {
        $form_title = $form_data['form_title'];
    } else {
        $form_title = '';
    }
    $title_class = 'ninja-forms-form-title';
    $title_class = apply_filters('ninja_forms_form_title_class', $title_class, $form_id);
    $form_title = '<h2 class="' . $title_class . '">' . $form_title . '</h2>';
    $form_title = apply_filters('ninja_forms_form_title', $form_title, $form_id);
    if ($show_title == 1) {
        echo $form_title;
    }
}
コード例 #20
0
ファイル: scripts.php プロジェクト: emtv/hackmsi
function ninja_forms_mp_admin_css()
{
    if (isset($_REQUEST['form_id'])) {
        $form_id = $_REQUEST['form_id'];
    } else {
        $form_id = '';
    }
    if ($form_id != '' and $form_id != 'new' and $form_id != 'all') {
        $form_row = ninja_forms_get_form_by_id($form_id);
        $form_data = $form_row['data'];
        if (isset($form_data['multi_part'])) {
            $multi_part = $form_data['multi_part'];
        } else {
            $multi_part = 0;
        }
        if ($multi_part == 1) {
            if (isset($_REQUEST['page']) and $_REQUEST['page'] == 'ninja-forms') {
                wp_enqueue_style('ninja-forms-mp-admin', NINJA_FORMS_MP_URL . '/css/ninja-forms-mp-admin.css', array('ninja-forms-admin'));
            }
        }
    }
}
コード例 #21
0
function ninja_forms_save_form_settings($form_id, $data)
{
    global $wpdb, $ninja_forms_admin_update_message;
    $form_row = ninja_forms_get_form_by_id($form_id);
    $form_data = $form_row['data'];
    foreach ($data as $key => $val) {
        $form_data[$key] = $val;
    }
    if ($form_id != 'new') {
        $date_updated = date('Y-m-d H:i:s', strtotime('now'));
        $data_array = array('data' => serialize($form_data), 'date_updated' => $date_updated);
        $wpdb->update(NINJA_FORMS_TABLE_NAME, $data_array, array('id' => $form_id));
    } else {
        $data_array = array('data' => serialize($form_data));
        $wpdb->insert(NINJA_FORMS_TABLE_NAME, $data_array);
        $redirect = add_query_arg(array('form_id' => $wpdb->insert_id, 'update_message' => urlencode(__('Form Settings Saved', 'ninja-forms'))));
        do_action('ninja_forms_save_new_form_settings', $wpdb->insert_id, $data);
        wp_redirect($redirect);
        exit;
    }
    $update_msg = __('Form Settings Saved', 'ninja-forms');
    return $update_msg;
}
コード例 #22
0
 function ninja_forms_register_sidebar_post_fields()
 {
     $add_field = apply_filters('ninja_forms_use_post_fields', false);
     if (!$add_field) {
         return false;
     }
     if (isset($_REQUEST['form_id'])) {
         $form_id = absint($_REQUEST['form_id']);
     } else {
         $form_id = '';
     }
     if (function_exists('ninja_forms_get_current_tab')) {
         $current_tab = ninja_forms_get_current_tab();
     }
     if ($form_id != '' and $current_tab == 'fields') {
         $form_row = ninja_forms_get_form_by_id($form_id);
         if (is_array($form_row) and !empty($form_row)) {
             $form_data = $form_row['data'];
             if (isset($form_data['create_post'])) {
                 $create_post = $form_data['create_post'];
             } else {
                 $create_post = '';
             }
         } else {
             $create_post = '';
         }
     } else {
         $create_post = '';
     }
     $args = array('name' => 'Post Creation Fields', 'page' => 'ninja-forms', 'tab' => 'builder', 'display_function' => 'ninja_forms_sidebar_display_fields');
     if ($create_post == 1) {
         if (function_exists('ninja_forms_register_sidebar')) {
             ninja_forms_register_sidebar('post_fields', $args);
         }
     }
 }
コード例 #23
0
 function format_value($value, $post_id, $field)
 {
     if (!$value) {
         return false;
     }
     if ($value == 'null') {
         return false;
     }
     if (is_array($value)) {
         foreach ($value as $k => $v) {
             $form = ninja_forms_get_form_by_id($v);
             $value[$k] = $form;
         }
     } else {
         $value = ninja_forms_get_form_by_id($value);
     }
     return $value;
 }
コード例 #24
0
ファイル: subs-cpt.php プロジェクト: Natedaug/WordPressSites
    /**
     * Output our field editing metabox to the CPT editing page.
     * 
     * @access public
     * @since 2.7
     * @return void
     */
    public function save_sub_metabox($post)
    {
        $date_submitted = apply_filters('nf_edit_sub_date_submitted', date('M j, Y @ h:i', strtotime($post->post_date)), $post->ID);
        $date_modified = apply_filters('nf_edit_sub_date_modified', date('M j, Y @ h:i', strtotime($post->post_modified)), $post->ID);
        if ($post->post_author != 0) {
            $user_data = get_userdata($post->post_author);
            $first_name = $user_data->first_name;
            $last_name = $user_data->last_name;
            if ($first_name != '' && $last_name != '') {
                $name = $first_name . ' ' . $last_name;
            } else {
                if ($user_data->display_name != '') {
                    $name = $user_data->display_name;
                } else {
                    $name = $user_data->user_login;
                }
            }
            $name = apply_filters('nf_edit_sub_username', $name, $post->post_author);
        }
        $form_id = Ninja_Forms()->sub($post->ID)->form_id;
        $form = ninja_forms_get_form_by_id($form_id);
        $form_title = $form['data']['form_title'];
        ?>
		<input type="hidden" name="nf_edit_sub" value="1">
		<div class="submitbox" id="submitpost">
			<div id="minor-publishing">
				<div id="misc-publishing-actions">
					<div class="misc-pub-section misc-pub-post-status">
						<label for="post_status"><?php 
        _e('#', 'ninja-forms');
        ?>
:</label>
						<span id="sub-seq-num-display"><?php 
        echo Ninja_Forms()->sub($post->ID)->get_seq_num();
        ?>
</span>
					</div>
					<div class="misc-pub-section misc-pub-post-status">
						<label for="post_status"><?php 
        _e('Status', 'ninja-forms');
        ?>
:</label>
						<span id="sub-status-display"><?php 
        echo apply_filters('nf_sub_edit_status', __('Submitted', 'ninja-forms'), $post->ID);
        ?>
</span>
						<?php 
        do_action('nf_sub_edit_after_status', $post);
        ?>
					</div>
					<div class="misc-pub-section misc-pub-post-status">
						<label for="post_status"><?php 
        _e('Form', 'ninja-forms');
        ?>
:</label>
						<span id="sub-form-title-display"><?php 
        echo $form_title;
        ?>
</span>
					</div>
					<div class="misc-pub-section curtime misc-pub-curtime">
						<span id="timestamp">
							<?php 
        _e('Submitted on', 'ninja-forms');
        ?>
: <b><?php 
        echo $date_submitted;
        ?>
</b>
						</span>
						<?php 
        do_action('nf_sub_edit_date_submitted', $post);
        ?>
					</div>
					<div class="misc-pub-section curtime misc-pub-curtime">
						<span id="timestamp">
							<?php 
        _e('Modified on', 'ninja-forms', $post);
        ?>
: <b><?php 
        echo $date_modified;
        ?>
</b>
						</span>
						<?php 
        do_action('nf_sub_edit_date_modified', $post);
        ?>
					</div>
					<?php 
        if ($post->post_author != 0) {
            ?>
						<div class="misc-pub-section misc-pub-visibility" id="visibility">
							<?php 
            _e('Submitted By', 'ninja-forms');
            ?>
: <span id="post-visibility-display"><?php 
            echo $name;
            ?>
</span>
						</div>
						<?php 
        }
        ?>
				</div>
			</div>
			<div id="major-publishing-actions">
				<div id="delete-action">

				<!-- <a class="submitdelete deletion" href="<?php 
        echo get_delete_post_link($post->ID);
        ?>
">Move to Trash</a>--></div> 

				<div id="publishing-action">
				<span class="spinner"></span>
						<input name="original_publish" type="hidden" id="original_publish" value="<?php 
        _e('Update', 'ninja-forms');
        ?>
">
						<input name="save" type="submit" class="button button-primary button-large" id="publish" accesskey="p" value="<?php 
        _e('Update', 'ninja-forms');
        ?>
">
				</div>
				<div class="clear"></div>
			</div>
		</div>
		<?php 
    }
コード例 #25
0
function ninja_forms_output_tab_metabox($form_id = '', $slug, $metabox)
{
    $plugin_settings = nf_get_settings();
    if ($form_id != '') {
        $form_row = ninja_forms_get_form_by_id($form_id);
        $current_settings = $form_row['data'];
    } else {
        $form_id = '';
        $current_settings = nf_get_settings();
    }
    $page = $metabox['page'];
    $tab = $metabox['tab'];
    $title = $metabox['title'];
    if (isset($metabox['settings'])) {
        $settings = $metabox['settings'];
    } else {
        $settings = '';
    }
    if (isset($metabox['display_function'])) {
        $display_function = $metabox['display_function'];
    } else {
        $display_function = '';
    }
    if ($metabox['state'] == 'closed') {
        $state = 'display:none;';
    } else {
        $state = '';
    }
    if (isset($plugin_settings['metabox_state'][$page][$tab][$slug])) {
        $state = $plugin_settings['metabox_state'][$page][$tab][$slug];
    }
    if (isset($metabox['display_container'])) {
        $display_container = $metabox['display_container'];
    } else {
        $display_container = true;
    }
    if ($display_container) {
        ?>
		<div id="ninja_forms_metabox_<?php 
        echo $slug;
        ?>
" class="postbox ">
			<span class="item-controls">
				<a class="item-edit metabox-item-edit" id="edit_id" title="<?php 
        _e('Edit Menu Item', 'ninja-forms');
        ?>
" href="#"><?php 
        _e('Edit Menu Item', 'ninja-forms');
        ?>
</a>
			</span>
			<h3 class="hndle"><span><?php 
        _e($title, 'ninja-forms');
        ?>
</span></h3>
			<div class="inside" style="<?php 
        echo $state;
        ?>
">
			<table class="form-table">
				<tbody>
		<?php 
    }
    if (is_array($settings) and !empty($settings)) {
        foreach ($settings as $s) {
            $value = '';
            if (isset($s['name'])) {
                $name = $s['name'];
            } else {
                $name = '';
            }
            $name_array = '';
            if (strpos($name, '[') !== false) {
                $name_array = str_replace(']', '', $name);
                $name_array = explode('[', $name_array);
            }
            if (isset($s['type'])) {
                $type = $s['type'];
            } else {
                $type = '';
            }
            if (isset($s['desc'])) {
                $desc = $s['desc'];
            } else {
                $desc = '';
            }
            if (isset($s['help_text'])) {
                $help_text = $s['help_text'];
            } else {
                $help_text = '';
            }
            if (isset($s['label'])) {
                $label = $s['label'];
            } else {
                $label = '';
            }
            if (isset($s['class'])) {
                $class = $s['class'];
            } else {
                $class = '';
            }
            if (isset($s['tr_class'])) {
                $tr_class = $s['tr_class'];
            } else {
                $tr_class = '';
            }
            if (isset($s['max_file_size'])) {
                $max_file_size = $s['max_file_size'];
            } else {
                $max_file_size = '';
            }
            if (isset($s['select_all'])) {
                $select_all = $s['select_all'];
            } else {
                $select_all = false;
            }
            if (isset($s['default_value'])) {
                $default_value = $s['default_value'];
            } else {
                $default_value = '';
            }
            if (isset($s['style'])) {
                $style = $s['style'];
            } else {
                $style = '';
            }
            if (isset($s['size'])) {
                $size = $s['size'];
            } else {
                $size = '';
            }
            if (isset($s['min'])) {
                $min = $s['min'];
            } else {
                $min = 0;
            }
            if (isset($s['max'])) {
                $max = $s['max'];
            } else {
                $max = '';
            }
            if (is_array($name_array)) {
                $tmp = '';
                foreach ($name_array as $n) {
                    if ($tmp == '') {
                        if (isset($current_settings[$n])) {
                            $tmp = $current_settings[$n];
                        }
                    } else {
                        if (isset($tmp[$n])) {
                            $tmp = $tmp[$n];
                        }
                    }
                }
                $value = !is_array($tmp) && !is_object($tmp) ? $tmp : '';
            } else {
                if (isset($current_settings[$name])) {
                    if (is_array($current_settings[$name])) {
                        $value = ninja_forms_stripslashes_deep($current_settings[$name]);
                    } else {
                        $value = stripslashes($current_settings[$name]);
                    }
                } else {
                    $value = '';
                }
            }
            if ($value == '') {
                $value = $default_value;
            }
            ?>

			<tr id="row_<?php 
            echo $name;
            ?>
" <?php 
            if ($tr_class != '') {
                ?>
class="<?php 
                echo $tr_class;
                ?>
"<?php 
            }
            ?>
 <?php 
            if ($style != '') {
                ?>
 style="<?php 
                echo $style;
                ?>
"<?php 
            }
            ?>
>
				<?php 
            if ($s['type'] == 'desc' and !$label) {
                ?>
					 <td colspan="2">
				<?php 
            } else {
                ?>
					<th scope="row">
						<label for="<?php 
                echo $name;
                ?>
"><?php 
                echo $label;
                ?>
</label>
					</th>
					<td>
				<?php 
            }
            ?>
			<?php 
            switch ($s['type']) {
                case 'text':
                    $value = ninja_forms_esc_html_deep($value);
                    ?>

					<input type="text" class="code widefat <?php 
                    echo $class;
                    ?>
" name="<?php 
                    echo $name;
                    ?>
" id="<?php 
                    echo $name;
                    ?>
" value="<?php 
                    echo $value;
                    ?>
" />
					<?php 
                    if ($help_text != '') {
                        ?>
					<a href="#" class="tooltip">
					    <img id="" class='ninja-forms-help-text' src="<?php 
                        echo NINJA_FORMS_URL;
                        ?>
images/question-ico.gif" title="">
					    <span>
					        <img class="callout" src="<?php 
                        echo NINJA_FORMS_URL;
                        ?>
/images/callout.gif" />
					        <?php 
                        echo $help_text;
                        ?>
					    </span>
					</a>
					<?php 
                    }
                    break;
                case 'number':
                    $value = ninja_forms_esc_html_deep($value);
                    ?>

					<input type="number" class="code <?php 
                    echo $class;
                    ?>
" name="<?php 
                    echo $name;
                    ?>
" id="<?php 
                    echo $name;
                    ?>
" value="<?php 
                    echo $value;
                    ?>
" min="<?php 
                    echo $min;
                    ?>
" max="<?php 
                    echo $max;
                    ?>
" />
					<?php 
                    if ($help_text != '') {
                        ?>
					<a href="#" class="tooltip">
					    <img id="" class='ninja-forms-help-text' src="<?php 
                        echo NINJA_FORMS_URL;
                        ?>
images/question-ico.gif" title="">
					    <span>
					        <img class="callout" src="<?php 
                        echo NINJA_FORMS_URL;
                        ?>
/images/callout.gif" />
					        <?php 
                        echo $help_text;
                        ?>
					    </span>
					</a>
					<?php 
                    }
                    break;
                case 'select':
                    ?>
					<select name="<?php 
                    echo $name;
                    ?>
" id="<?php 
                    echo $name;
                    ?>
" class="<?php 
                    echo $class;
                    ?>
">
						<?php 
                    if (is_array($s['options']) and !empty($s['options'])) {
                        foreach ($s['options'] as $option) {
                            ?>
								<option value="<?php 
                            echo $option['value'];
                            ?>
" <?php 
                            selected($value, $option['value']);
                            ?>
><?php 
                            echo $option['name'];
                            ?>
</option>
								<?php 
                        }
                    }
                    ?>
					</select>
					<?php 
                    if ($help_text != '') {
                        ?>
						<a href="#" class="tooltip">
						    <img id="" class='ninja-forms-help-text' src="<?php 
                        echo NINJA_FORMS_URL;
                        ?>
images/question-ico.gif" title="">
						    <span>
						        <img class="callout" src="<?php 
                        echo NINJA_FORMS_URL;
                        ?>
images/callout.gif" />
						        <?php 
                        echo $help_text;
                        ?>
						    </span>
						</a>
					<?php 
                    }
                    break;
                case 'multi_select':
                    if ($value == '') {
                        $value = array();
                    }
                    ?>

					<input type="hidden" name="<?php 
                    echo $name;
                    ?>
" value="">
					<select name="<?php 
                    echo $name;
                    ?>
[]" id="<?php 
                    echo $name;
                    ?>
" class="<?php 
                    echo $class;
                    ?>
" multiple="multiple" size="<?php 
                    echo $size;
                    ?>
">
						<?php 
                    if (is_array($s['options']) and !empty($s['options'])) {
                        foreach ($s['options'] as $option) {
                            ?>
								<option value="<?php 
                            echo $option['value'];
                            ?>
" <?php 
                            selected(in_array($option['value'], $value));
                            ?>
><?php 
                            echo $option['name'];
                            ?>
</option>
								<?php 
                        }
                    }
                    ?>
					</select>
					<?php 
                    if ($help_text != '') {
                        ?>
						<a href="#" class="tooltip">
						    <img id="" class='ninja-forms-help-text' src="<?php 
                        echo NINJA_FORMS_URL;
                        ?>
images/question-ico.gif" title="">
						    <span>
						        <img class="callout" src="<?php 
                        echo NINJA_FORMS_URL;
                        ?>
/images/callout.gif" />
						        <?php 
                        echo $help_text;
                        ?>
						    </span>
						</a>
					<?php 
                    }
                    break;
                case 'checkbox':
                    ?>
					<input type="hidden" name="<?php 
                    echo $name;
                    ?>
" value="0">
					<input type="checkbox" name="<?php 
                    echo $name;
                    ?>
" value="1" <?php 
                    checked($value, 1);
                    ?>
 id="<?php 
                    echo $name;
                    ?>
" class="<?php 
                    echo $class;
                    ?>
">
					<?php 
                    if ($help_text != '') {
                        ?>
						<a href="#" class="tooltip">
						    <img id="" class='ninja-forms-help-text' src="<?php 
                        echo NINJA_FORMS_URL;
                        ?>
images/question-ico.gif" title="">
						    <span>
						        <img class="callout" src="<?php 
                        echo NINJA_FORMS_URL;
                        ?>
images/callout.gif" />
						        <?php 
                        echo $help_text;
                        ?>
						    </span>
						</a>
					<?php 
                    }
                    break;
                case 'checkbox_list':
                    if ($value == '') {
                        $value = array();
                    }
                    ?>
					<input type="hidden" name="<?php 
                    echo $name;
                    ?>
" value="">

						<?php 
                    if ($select_all) {
                        ?>

								<label>
									<input type="checkbox" name="" value="" id="<?php 
                        echo $name;
                        ?>
_select_all" class="ninja-forms-select-all" title="ninja-forms-<?php 
                        echo $name;
                        ?>
">
								- <?php 
                        _e('Select All', 'ninja-forms');
                        ?>
								</label>

						<?php 
                    } else {
                        if (is_array($s['options']) and isset($s['options'][0])) {
                            $option_name = $s['options'][0]['name'];
                            $option_value = $s['options'][0]['value'];
                            ?>

									<label>
										<input type="checkbox" class="ninja-forms-<?php 
                            echo $name;
                            ?>
 <?php 
                            echo $class;
                            ?>
" name="<?php 
                            echo $name;
                            ?>
[]" value="<?php 
                            echo $option_value;
                            ?>
" <?php 
                            checked(in_array($option_value, $value));
                            ?>
 id="<?php 
                            echo $option_name;
                            ?>
">
										<?php 
                            echo $option_name;
                            ?>
									</label>

								<?php 
                        }
                    }
                    ?>

					<?php 
                    if (is_array($s['options']) and !empty($s['options'])) {
                        $x = 0;
                        foreach ($s['options'] as $option) {
                            if (!$select_all and $x > 0 or $select_all) {
                                $option_name = $option['name'];
                                $option_value = $option['value'];
                                ?>
										<label>
											<input type="checkbox" class="ninja-forms-<?php 
                                echo $name;
                                ?>
 <?php 
                                echo $class;
                                ?>
" name="<?php 
                                echo $name;
                                ?>
[]" value="<?php 
                                echo $option_value;
                                ?>
" <?php 
                                checked(in_array($option_value, $value));
                                ?>
 id="<?php 
                                echo $option_name;
                                ?>
">
											<?php 
                                echo $option_name;
                                ?>
										</label>
								<?php 
                            }
                            $x++;
                        }
                    }
                    break;
                case 'radio':
                    if (is_array($s['options']) and !empty($s['options'])) {
                        $x = 0;
                        ?>
						<?php 
                        foreach ($s['options'] as $option) {
                            ?>
							<input type="radio" name="<?php 
                            echo $name;
                            ?>
" value="<?php 
                            echo $option['value'];
                            ?>
" id="<?php 
                            echo $name . "_" . $x;
                            ?>
" <?php 
                            checked($value, $option['value']);
                            ?>
 class="<?php 
                            echo $class;
                            ?>
"> <label for="<?php 
                            echo $name . "_" . $x;
                            ?>
"><?php 
                            echo $option['name'];
                            ?>
</label>
								<?php 
                            if ($help_text != '') {
                                ?>
									<a href="#" class="tooltip">
									    <img id="" class='ninja-forms-help-text' src="<?php 
                                echo NINJA_FORMS_URL;
                                ?>
images/question-ico.gif" title="">
									    <span>
									        <img class="callout" src="<?php 
                                echo NINJA_FORMS_URL;
                                ?>
images/callout.gif" />
									        <?php 
                                echo $help_text;
                                ?>
									    </span>
									</a>
								<?php 
                            }
                            ?>
							<br />

						<?php 
                            $x++;
                        }
                    }
                    break;
                case 'textarea':
                    $value = ninja_forms_esc_html_deep($value);
                    ?>
					<textarea name="<?php 
                    echo $name;
                    ?>
" id="<?php 
                    echo $name;
                    ?>
" class="<?php 
                    echo $class;
                    ?>
"><?php 
                    echo $value;
                    ?>
</textarea>
					<?php 
                    break;
                case 'rte':
                    $args = apply_filters('ninja_forms_admin_metabox_rte', array());
                    wp_editor($value, $name, $args);
                    break;
                case 'file':
                    ?>
					<input type="hidden" name="MAX_FILE_SIZE" value="<?php 
                    echo $max_file_size;
                    ?>
" />
					<input type="file" name="<?php 
                    echo $name;
                    ?>
" id="<?php 
                    echo $name;
                    ?>
" class="<?php 
                    echo $class;
                    ?>
">
					<?php 
                    break;
                case 'desc':
                    echo $desc;
                    break;
                case 'hidden':
                    ?>
					<input type="hidden" name="<?php 
                    echo $name;
                    ?>
" id="<?php 
                    echo $name;
                    ?>
" value="<?php 
                    echo $value;
                    ?>
">
					<?php 
                    break;
                case 'submit':
                    ?>
					<input type="submit" name="<?php 
                    echo $name;
                    ?>
" class="<?php 
                    echo $class;
                    ?>
" value="<?php 
                    echo $label;
                    ?>
">
					<?php 
                    break;
                case 'button':
                    // set a default value for $class to maintain the standard WordPress UI
                    if (isset($class) && empty($class)) {
                        $class = "button-secondary";
                    }
                    ?>
					<input type="button" name="<?php 
                    echo $name;
                    ?>
" id="<?php 
                    echo $name;
                    ?>
" class="<?php 
                    echo $class;
                    ?>
" value="<?php 
                    echo $label;
                    ?>
">
					<?php 
                    break;
                default:
                    if (isset($s['display_function'])) {
                        $s_display_function = $s['display_function'];
                        if ($s_display_function != '') {
                            $arguments['form_id'] = $form_id;
                            $arguments['data'] = $current_settings;
                            $arguments['field'] = $s;
                            call_user_func_array($s_display_function, $arguments);
                        }
                    }
                    break;
            }
            if ($desc != '' and $s['type'] != 'desc') {
                ?>
					<p class="description">
						<?php 
                echo $desc;
                ?>
					</p>
				<?php 
            }
            echo '</td></tr>';
        }
    }
    if ($display_function != '') {
        if ($form_id != '') {
            $arguments['form_id'] = $form_id;
        }
        $arguments['metabox'] = $metabox;
        call_user_func_array($display_function, $arguments);
    }
    if ($display_container) {
        ?>
					</tbody>
				</table>
			</div>
		</div>
		<?php 
    }
}
コード例 #26
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;
    $rating = 0;
    $calc_value = array();
    $calc_fields = array();
    $calc_eq = false;
    $sub_total = false;
    $tax = false;
    if (isset($ninja_forms_loading)) {
        $fields = $ninja_forms_loading->get_all_fields();
    } else {
        $fields = $ninja_forms_processing->get_all_fields();
    }
    if (is_array($fields) and !empty($fields)) {
        foreach ($fields as $field_id => $user_value) {
            if (isset($ninja_forms_loading)) {
                $field = $ninja_forms_loading->get_field_settings($field_id);
            } else {
                $field = $ninja_forms_processing->get_field_settings($field_id);
            }
            if (isset($field['id'])) {
                $field_id = $field['id'];
            } else {
                $field_id = '';
            }
            if (isset($field['type'])) {
                $field_type = $field['type'];
            } else {
                $field_type = '';
            }
            $field['data'] = apply_filters('ninja_forms_display_script_field_data', $field['data'], $field_id);
            if (isset($field['data']['datepicker']) and $field['data']['datepicker'] == 1) {
                $datepicker = 1;
            }
            if (isset($field['data']['show_help']) and $field['data']['show_help'] == 1) {
                $qtip = 1;
            }
            if (isset($field['data']['mask']) and $field['data']['mask'] != '') {
                $mask = 1;
            }
            if (isset($field['data']['mask']) and $field['data']['mask'] == 'currency') {
                $currency = 1;
            }
            if ($field_type == '_rating') {
                $rating = 1;
            }
            // Populate an array of calculation values for the form fields.
            // Check to see if this field has a calc_value. If it does, add this to our calc_value array so that we can tell what it is in our JS.
            if (isset($field['data']['calc_value'])) {
                $calc_value[$field_id] = $field['data']['calc_value'];
            } else {
                if ($field_type == '_list') {
                    // Get a list of options and their 'calc' setting.
                    if (isset($field['data']['list']['options']) and is_array($field['data']['list']['options'])) {
                        $list_options = $field['data']['list']['options'];
                        foreach ($list_options as $option) {
                            if (isset($field['data']['list_show_value']) and $field['data']['list_show_value'] == 1) {
                                $key = $option['value'];
                            } else {
                                $key = $option['label'];
                            }
                            if (!isset($option['calc']) or isset($option['calc']) and empty($option['calc'])) {
                                $option['calc'] = 0;
                            }
                            $calc_value[$field_id][$key] = $option['calc'];
                        }
                    }
                }
            }
            // Check to see if this is a tax field;
            if ($field_type == '_tax') {
                $tax = $field_id;
            }
            // Check to see if this is a calculation field. If it is, store it in our calc_fields array along with its method.
            if ($field_type == '_calc') {
                if (isset($field['data']['calc_method'])) {
                    $calc_method = $field['data']['calc_method'];
                } else {
                    $calc_method = 'auto';
                }
                // Check to see if this is a sub_total calculation
                if (isset($field['data']['payment_sub_total']) and $field['data']['payment_sub_total'] == 1) {
                    $sub_total = $field_id;
                }
                switch ($calc_method) {
                    case 'auto':
                        $calc_fields[$field_id] = array('method' => 'auto');
                        break;
                    case 'fields':
                        $field_ops = $field['data']['calc'];
                        $calc_fields[$field_id] = array('method' => 'fields', 'fields' => $field_ops);
                        break;
                    case 'eq':
                        $calc_fields[$field_id] = array('method' => 'eq', 'eq' => $field['data']['calc_eq']);
                        $calc_eq = true;
                        break;
                }
                $calc_fields[$field_id]['places'] = $field['data']['calc_places'];
            }
        }
        // Loop through our fields again looking for calc fields that are totals.
        foreach ($fields as $field_id => $user_value) {
            if (isset($ninja_forms_loading)) {
                $field = $ninja_forms_loading->get_field_settings($field_id);
            } else {
                $field = $ninja_forms_processing->get_field_settings($field_id);
            }
            if (isset($field['id'])) {
                $field_id = $field['id'];
            } else {
                $field_id = '';
            }
            if (isset($field['type'])) {
                $field_type = $field['type'];
            } else {
                $field_type = '';
            }
            if ($field_type == '_calc') {
                if (isset($field['data']['payment_total']) and $field['data']['payment_total'] == 1) {
                    if ($sub_total and $tax and $field['data']['calc_method'] == 'auto') {
                        $calc_fields[$field_id]['method'] = 'eq';
                        $calc_fields[$field_id]['eq'] = 'field_' . $sub_total . ' + ( field_' . $sub_total . ' * field_' . $tax . ' )';
                        $calc_eq = true;
                    }
                }
            }
        }
    }
    // Loop through our fields once more to add them to our calculation field with the method of 'eq'.
    if ($calc_eq) {
        foreach ($calc_fields as $calc_id => $calc) {
            if ($calc['method'] == 'eq') {
                foreach ($fields as $field_id => $user_value) {
                    if (isset($ninja_forms_loading)) {
                        $field = $ninja_forms_loading->get_field_settings($field_id);
                    } else {
                        $field = $ninja_forms_processing->get_field_settings($field_id);
                    }
                    if (preg_match("/\\bfield_" . $field_id . "\\b/i", $calc['eq'])) {
                        $calc_fields[$calc_id]['fields'][] = $field['id'];
                    }
                }
            }
        }
    }
    if ($datepicker == 1) {
        wp_enqueue_script('jquery-ui-datepicker');
    }
    if ($qtip == 1) {
        wp_enqueue_script('jquery-qtip', NINJA_FORMS_URL . '/js/min/jquery.qtip.min.js', array('jquery', 'jquery-ui-position'));
    }
    if ($mask == 1) {
        wp_enqueue_script('jquery-maskedinput', NINJA_FORMS_URL . '/js/min/jquery.maskedinput.min.js', array('jquery'));
    }
    if ($currency == 1) {
        wp_enqueue_script('jquery-autonumeric', NINJA_FORMS_URL . '/js/min/autoNumeric.min.js', array('jquery'));
    }
    if ($rating == 1) {
        wp_enqueue_script('jquery-rating', NINJA_FORMS_URL . '/js/min/jquery.rating.min.js', array('jquery'));
    }
    $form_row = ninja_forms_get_form_by_id($form_id);
    $form_row = apply_filters('ninja_forms_display_form_form_data', $form_row);
    if (isset($form_row['data']['ajax'])) {
        $ajax = $form_row['data']['ajax'];
    } else {
        $ajax = 0;
    }
    if (isset($form_row['data']['hide_complete'])) {
        $hide_complete = $form_row['data']['hide_complete'];
    } else {
        $hide_complete = 0;
    }
    if (isset($form_row['data']['clear_complete'])) {
        $clear_complete = $form_row['data']['clear_complete'];
    } else {
        $clear_complete = 0;
    }
    $ninja_forms_js_form_settings['ajax'] = $ajax;
    $ninja_forms_js_form_settings['hide_complete'] = $hide_complete;
    $ninja_forms_js_form_settings['clear_complete'] = $clear_complete;
    $calc_settings['calc_value'] = '';
    $calc_settings['calc_fields'] = '';
    if (!empty($calc_value)) {
        $calc_settings['calc_value'] = $calc_value;
    }
    $calc_settings['calc_fields'] = $calc_fields;
    $plugin_settings = get_option("ninja_forms_settings");
    if (isset($plugin_settings['date_format'])) {
        $date_format = $plugin_settings['date_format'];
    } else {
        $date_format = 'm/d/Y';
    }
    $date_format = ninja_forms_date_to_datepicker($date_format);
    $currency_symbol = $plugin_settings['currency_symbol'];
    $password_mismatch = esc_html(stripslashes($plugin_settings['password_mismatch']));
    $msg_format = $plugin_settings['msg_format'];
    $msg_format = 'inline';
    wp_enqueue_script('ninja-forms-display', NINJA_FORMS_URL . '/js/' . $src . '/ninja-forms-display' . $suffix . '.js', array('jquery', 'jquery-form'));
    if (!isset($ninja_forms_display_localize_js) or !$ninja_forms_display_localize_js) {
        wp_localize_script('ninja-forms-display', 'ninja_forms_settings', array('ajax_msg_format' => $msg_format, 'password_mismatch' => $password_mismatch, 'plugin_url' => NINJA_FORMS_URL, 'date_format' => $date_format, 'currency_symbol' => $currency_symbol));
        $ninja_forms_display_localize_js = true;
    }
    wp_localize_script('ninja-forms-display', 'thousandsSeparator', addslashes($wp_locale->number_format['thousands_sep']));
    wp_localize_script('ninja-forms-display', 'decimalPoint', addslashes($wp_locale->number_format['decimal_point']));
    wp_localize_script('ninja-forms-display', 'ninja_forms_form_' . $form_id . '_settings', $ninja_forms_js_form_settings);
    wp_localize_script('ninja-forms-display', 'ninja_forms_form_' . $form_id . '_calc_settings', $calc_settings);
    wp_localize_script('ninja-forms-display', 'ninja_forms_password_strength', array('empty' => __('Strength indicator', 'ninja-forms'), 'short' => __('Very weak', 'ninja-forms'), 'bad' => __('Weak', 'ninja-forms'), 'good' => _x('Medium', 'password strength', 'ninja-forms'), 'strong' => __('Strong', 'ninja-forms'), 'mismatch' => __('Mismatch', 'ninja-forms')));
}
コード例 #27
0
ファイル: deprecated.php プロジェクト: RA2WP/RA2WP
/**
 * Get a form by field id
 * 
 * @since 1.0
 * @param int $field_id
 * @param array $form
 */
function ninja_forms_get_form_by_field_id($field_id)
{
    global $wpdb;
    $form_id = $wpdb->get_row($wpdb->prepare("SELECT form_id FROM " . NINJA_FORMS_FIELDS_TABLE_NAME . " WHERE id = %d", $field_id), ARRAY_A);
    $form_id = $form_id['form_id'];
    $form = ninja_forms_get_form_by_id($form_id);
    return $form;
}
コード例 #28
0
/**
 * Removes old email settings form a single form.
 *
 * @since 2.8.4
 * @return void
 */
function nf_remove_old_email_send_to( $form_id ) {
	if ( empty ( $form_id ) )
		return false;

	// Remove any "Admin mailto" settings we might have.
	$form_row = ninja_forms_get_form_by_id( $form_id );

	if ( isset ( $form_row['data']['admin_mailto'] ) ) {
		unset ( $form_row['data']['admin_mailto'] );

		$args = array(
			'update_array'	=> array(
				'data'		=> serialize( $form_row['data'] ),
			),
			'where'			=> array(
				'id' 		=> $form_id,
			),
		);

		ninja_forms_update_form( $args );

	}

	// Update any old email settings we have.
	$fields = Ninja_Forms()->form( $form_id )->fields;

	// Create a notification for our user email
	if ( ! empty ( $fields ) ) {
		foreach ( $fields as $field_id => $field ) {
			if ( isset ( $field['data']['send_email'] ) && $field['data']['send_email'] == 1 ) {
				// Add this field to our $addresses variable.
				unset( $field['data']['send_email'] );
				unset( $field['data']['replyto_email'] );
				unset( $field['data']['from_name'] );

				$args = array(
					'update_array'	=> array(
						'data'		=> serialize( $field['data'] ),
					),
					'where'			=> array(
						'id' 		=> $field_id,
					),
				);

				ninja_forms_update_field( $args );
			}
		}
	}
}
コード例 #29
0
function ninja_forms_get_form_by_sub_id($sub_id)
{
    global $wpdb;
    $sub_row = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . NINJA_FORMS_SUBS_TABLE_NAME . " WHERE id = %d", $sub_id), ARRAY_A);
    $form_id = $sub_row['form_id'];
    $form_row = ninja_forms_get_form_by_id($form_id);
    return $form_row;
}
コード例 #30
0
 /**
  * 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'];
         }
     }
 }