public static function enqueue_css($register = 'enqueue')
 {
     global $frm_vars;
     $register_css = $register == 'register';
     if (($frm_vars['load_css'] || $register_css) && !FrmAppHelper::is_admin()) {
         $frm_settings = FrmAppHelper::get_settings();
         if ($frm_settings->load_style == 'none') {
             return;
         }
         $css = apply_filters('get_frm_stylesheet', self::custom_stylesheet());
         if (!empty($css)) {
             $version = FrmAppHelper::plugin_version();
             foreach ((array) $css as $css_key => $file) {
                 if ($register == 'register') {
                     wp_register_style($css_key, $file, array(), $version);
                 }
                 if ('all' == $frm_settings->load_style || $register != 'register') {
                     wp_enqueue_style($css_key);
                 }
                 unset($css_key, $file);
             }
             if ($frm_settings->load_style == 'all') {
                 $frm_vars['css_loaded'] = true;
             }
         }
         unset($css);
     }
 }
 public static function create($values)
 {
     global $wpdb;
     self::sanitize_entry_post($values);
     $values = apply_filters('frm_pre_create_entry', $values);
     if (!isset($values['item_key'])) {
         $values['item_key'] = '';
     }
     $item_name = self::get_new_entry_name($values, $values['item_key']);
     $new_values = array('item_key' => FrmAppHelper::get_unique_key($values['item_key'], $wpdb->prefix . 'frm_items', 'item_key'), 'name' => FrmAppHelper::truncate($item_name, 255, 1, ''), 'ip' => FrmAppHelper::get_ip_address(), 'is_draft' => isset($values['frm_saving_draft']) && $values['frm_saving_draft'] == 1 || isset($values['is_draft']) && $values['is_draft'] == 1 ? 1 : 0, 'form_id' => isset($values['form_id']) ? (int) $values['form_id'] : null, 'post_id' => isset($values['post_id']) ? (int) $values['post_id'] : 0, 'parent_item_id' => isset($values['parent_item_id']) ? (int) $values['parent_item_id'] : 0, 'created_at' => isset($values['created_at']) ? $values['created_at'] : current_time('mysql', 1), 'updated_at' => isset($values['updated_at']) ? $values['updated_at'] : (isset($values['created_at']) ? $values['created_at'] : current_time('mysql', 1)));
     if (is_array($new_values['name'])) {
         $new_values['name'] = reset($new_values['name']);
     }
     if (isset($values['description']) && !empty($values['description'])) {
         $new_values['description'] = maybe_serialize($values['description']);
     } else {
         $new_values['description'] = serialize(array('browser' => FrmAppHelper::get_server_value('HTTP_USER_AGENT'), 'referrer' => FrmAppHelper::get_server_value('HTTP_REFERER')));
     }
     //if(isset($values['id']) and is_numeric($values['id']))
     //    $new_values['id'] = $values['id'];
     if (isset($values['frm_user_id']) && (is_numeric($values['frm_user_id']) || FrmAppHelper::is_admin())) {
         $new_values['user_id'] = $values['frm_user_id'];
     } else {
         $user_ID = get_current_user_id();
         $new_values['user_id'] = $user_ID ? $user_ID : 0;
     }
     $new_values['updated_by'] = isset($values['updated_by']) ? $values['updated_by'] : $new_values['user_id'];
     // don't create duplicate entry
     if (self::is_duplicate($new_values, $values)) {
         return false;
     }
     $query_results = $wpdb->insert($wpdb->prefix . 'frm_items', $new_values);
     if (!$query_results) {
         return false;
     }
     $entry_id = $wpdb->insert_id;
     global $frm_vars;
     if (!isset($frm_vars['saved_entries'])) {
         $frm_vars['saved_entries'] = array();
     }
     $frm_vars['saved_entries'][] = (int) $entry_id;
     if (isset($values['item_meta'])) {
         FrmEntryMeta::update_entry_metas($entry_id, $values['item_meta']);
     }
     self::clear_cache();
     // this is a child entry
     $is_child = isset($values['parent_form_id']) && isset($values['parent_nonce']) && !empty($values['parent_form_id']) && wp_verify_nonce($values['parent_nonce'], 'parent');
     do_action('frm_after_create_entry', $entry_id, $new_values['form_id'], compact('is_child'));
     do_action('frm_after_create_entry_' . $new_values['form_id'], $entry_id, compact('is_child'));
     return $entry_id;
 }
 public static function validate_recaptcha(&$errors, $field, $args)
 {
     if ($field->type != 'captcha' || FrmAppHelper::is_admin() || apply_filters('frm_is_field_hidden', false, $field, stripslashes_deep($_POST))) {
         return;
     }
     $frm_settings = FrmAppHelper::get_settings();
     if (empty($frm_settings->pubkey)) {
         // don't require the captcha if it shouldn't be shown
         return;
     }
     if (!isset($_POST['g-recaptcha-response'])) {
         // If captcha is missing, check if it was already verified
         if (!isset($_POST['recaptcha_checked']) || !wp_verify_nonce($_POST['recaptcha_checked'], 'frm_ajax')) {
             // There was no captcha submitted
             $errors['field' . $args['id']] = __('The captcha is missing from this form', 'formidable');
         }
         return;
     }
     $arg_array = array('body' => array('secret' => $frm_settings->privkey, 'response' => $_POST['g-recaptcha-response'], 'remoteip' => FrmAppHelper::get_ip_address()));
     $resp = wp_remote_post('https://www.google.com/recaptcha/api/siteverify', $arg_array);
     $response = json_decode(wp_remote_retrieve_body($resp), true);
     if (isset($response['success']) && !$response['success']) {
         // What happens when the CAPTCHA was entered incorrectly
         $errors['field' . $args['id']] = !isset($field->field_options['invalid']) || $field->field_options['invalid'] == '' ? $frm_settings->re_msg : $field->field_options['invalid'];
     } else {
         if (is_wp_error($resp)) {
             $error_string = $resp->get_error_message();
             $errors['field' . $args['id']] = __('There was a problem verifying your recaptcha', 'formidable');
             $errors['field' . $args['id']] .= ' ' . $error_string;
         }
     }
 }
 public static function footer_js($location = 'footer')
 {
     global $frm_vars;
     FrmStylesController::enqueue_css();
     if (!FrmAppHelper::is_admin() && $location != 'header' && !empty($frm_vars['forms_loaded'])) {
         //load formidable js
         wp_enqueue_script('formidable');
     }
 }
                                ?>
 <?php 
                                do_action('frm_field_input_html', $field);
                                ?>
 /><?php 
                                if (!isset($atts) || !isset($atts['label']) || $atts['label']) {
                                    echo ' ' . $opt . '</label>';
                                }
                                FrmFieldsHelper::include_other_input(array('other_opt' => $other_opt, 'read_only' => $read_only, 'checked' => $checked, 'name' => $other_args['name'], 'value' => $other_args['value'], 'field' => $field, 'html_id' => $html_id, 'opt_key' => $opt_key));
                                unset($other_opt, $other_args, $checked);
                                ?>
</div>
<?php 
                            }
                        }
                    }
                } else {
                    if ($field['type'] == 'captcha' && !FrmAppHelper::is_admin()) {
                        $frm_settings = FrmAppHelper::get_settings();
                        if (!empty($frm_settings->pubkey)) {
                            FrmFieldsHelper::display_recaptcha($field);
                        }
                    } else {
                        do_action('frm_form_fields', $field, $field_name, compact('errors', 'html_id'));
                        do_action('frm_form_field_' . $field['type'], $field, $field_name, compact('errors', 'html_id'));
                    }
                }
            }
        }
    }
}
Exemple #6
0
    echo esc_attr($id);
    ?>
" /><?php 
}
if ($values['fields']) {
    foreach ($values['fields'] as $field) {
        if (apply_filters('frm_show_normal_field_type', true, $field['type'])) {
            echo FrmFieldsHelper::replace_shortcodes($field['custom_html'], $field, $errors, $form);
        } else {
            do_action('frm_show_other_field_type', $field, $form, array('action' => $form_action));
        }
        do_action('frm_get_field_scripts', $field, $form, $form->id);
    }
}
$frm_settings = FrmAppHelper::get_settings();
if (FrmAppHelper::is_admin()) {
    ?>
<div class="frm_form_field form-field">
<label class="frm_primary_label"><?php 
    _e('Entry Key', 'formidable');
    ?>
</label>
<input type="text" name="item_key" value="<?php 
    echo esc_attr($values['item_key']);
    ?>
" />
</div>
<?php 
} else {
    ?>
<input type="hidden" name="item_key" value="<?php 
 public static function get_file_name($media_ids, $short = true)
 {
     $value = '';
     foreach ((array) $media_ids as $media_id) {
         if (!is_numeric($media_id)) {
             continue;
         }
         $attachment = get_post($media_id);
         if (!$attachment) {
             continue;
         }
         $url = wp_get_attachment_url($media_id);
         $label = $short ? basename($attachment->guid) : $url;
         $action = FrmAppHelper::simple_get('action', 'sanitize_title');
         $frm_action = FrmAppHelper::simple_get('frm_action', 'sanitize_title');
         if ($frm_action == 'csv' || $action == 'frm_entries_csv') {
             if (!empty($value)) {
                 $value .= ', ';
             }
         } else {
             if (FrmAppHelper::is_admin()) {
                 $url = '<a href="' . esc_url($url) . '">' . $label . '</a>';
                 if (strpos(FrmAppHelper::simple_get('page', 'sanitize_title'), 'formidable') === 0) {
                     $url .= '<br/><a href="' . esc_url(admin_url('media.php') . '?action=edit&attachment_id=' . $media_id) . '">' . __('Edit Uploaded File', 'formidable') . '</a>';
                 }
             } else {
                 if (!empty($value)) {
                     $value .= "<br/>\r\n";
                 }
             }
         }
         $value .= $url;
         unset($media_id);
     }
     return $value;
 }
Exemple #8
0
    echo esc_attr($id);
    ?>
" /><?php 
}
if ($values['fields']) {
    foreach ($values['fields'] as $field) {
        if (apply_filters('frm_show_normal_field_type', true, $field['type'])) {
            echo FrmFieldsHelper::replace_shortcodes($field['custom_html'], $field, $errors, $form);
        } else {
            do_action('frm_show_other_field_type', $field, $form, array('action' => $form_action));
        }
        do_action('frm_get_field_scripts', $field, $form, $form->id);
    }
}
$frm_settings = FrmAppHelper::get_settings();
if (FrmAppHelper::is_admin() && !$frm_settings->lock_keys) {
    ?>
<div class="frm_form_field form-field">
<label class="frm_primary_label"><?php 
    _e('Entry Key', 'formidable');
    ?>
</label>
<input type="text" name="item_key" value="<?php 
    echo esc_attr($values['item_key']);
    ?>
" />
</div>
<?php 
} else {
    ?>
<input type="hidden" name="item_key" value="<?php 
Exemple #9
0
_container" class="frm_form_field form-field frm_top_container">
<label class="frm_primary_label"><?php 
        echo $field['name'];
        ?>
:</label> <?php 
        echo $field['value'];
        ?>
</div>
<?php 
    }
    $field['html_id'] = $html_id;
    FrmProFieldsHelper::insert_hidden_fields($field, $field_name, $field['value']);
} else {
    if ($field['type'] == 'user_id') {
        $user_ID = get_current_user_id();
        $value = is_numeric($field['value']) || FrmAppHelper::is_admin() && $_POST && isset($_POST['item_meta'][$field['id']]) || isset($args['action']) && $args['action'] == 'update' ? $field['value'] : ($user_ID ? $user_ID : '');
        echo '<input type="hidden" id="' . esc_attr($html_id) . '" name="' . esc_attr($field_name) . '" value="' . esc_attr($value) . '"/>' . "\n";
        unset($value);
    } else {
        if ($field['type'] == 'break') {
            global $frm_vars;
            $post_form_id = FrmAppHelper::get_post_param('form_id', 0, 'absint');
            if (isset($frm_vars['prev_page'][$field['form_id']]) && $frm_vars['prev_page'][$field['form_id']] == $field['field_order']) {
                echo FrmFieldsHelper::replace_shortcodes($field['custom_html'], $field, array(), $form);
                ?>
<input type="hidden" name="frm_next_page" class="frm_next_page" id="frm_next_p_<?php 
                echo isset($frm_vars['prev_page'][$field['form_id']]) ? $frm_vars['prev_page'][$field['form_id']] : 0;
                ?>
" value="" />
<?php 
                if ($field['form_id'] == $post_form_id && !defined('DOING_AJAX')) {
 public static function add_field_class($class, $field)
 {
     if ($field['type'] == 'scale' && FrmField::is_option_true($field, 'star')) {
         $class .= ' star';
     } else {
         if ($field['type'] == 'date') {
             $class .= ' frm_date';
         } else {
             if ($field['type'] == 'file' && FrmField::is_option_true($field, 'multiple')) {
                 $class .= ' frm_multiple_file';
             }
         }
     }
     // Hide the "No files selected" text if files are selected
     if ($field['type'] == 'file' && !FrmField::is_option_empty($field, 'value')) {
         $class .= ' frm_transparent';
     }
     if (!FrmAppHelper::is_admin() && FrmField::is_option_true($field, 'autocom') && ($field['type'] == 'select' || $field['type'] == 'data' && isset($field['data_type']) && $field['data_type'] == 'select') && !empty($field['options']) && !FrmField::is_read_only($field)) {
         global $frm_vars;
         $frm_vars['chosen_loaded'] = true;
         $class .= ' frm_chzn';
         $style = FrmStylesController::get_form_style($field['form_id']);
         if ($style && 'rtl' == $style->post_content['direction']) {
             $class .= ' chosen-rtl';
         }
     }
     return $class;
 }
Exemple #11
0
<?php

// Check if field is read only
$disabled = FrmField::is_read_only($field) && !FrmAppHelper::is_admin() ? ' disabled="disabled"' : '';
// Dynamic Dropdowns
if ($field['data_type'] == 'select') {
    if (!empty($field['options'])) {
        ?>
<select <?php 
        echo $disabled;
        ?>
 name="<?php 
        echo esc_attr($field_name);
        ?>
" id="<?php 
        echo esc_attr($html_id);
        ?>
" <?php 
        do_action('frm_field_input_html', $field);
        ?>
>
<?php 
        if ($field['options']) {
            foreach ($field['options'] as $opt_key => $opt) {
                $selected = $field['value'] == $opt_key || in_array($opt_key, (array) $field['value']) ? ' selected="selected"' : '';
                ?>
<option value="<?php 
                echo esc_attr($opt_key);
                ?>
"<?php 
                echo $selected;
 public static function load_hooks()
 {
     add_action('init', 'FrmProAppController::create_taxonomies', 0);
     add_action('frm_after_install', 'FrmProDb::upgrade');
     add_filter('wpmu_drop_tables', 'FrmProAppController::drop_tables');
     add_shortcode('frm_set_get', 'FrmProAppController::set_get');
     add_shortcode('frm-set-get', 'FrmProAppController::set_get');
     add_action('genesis_init', 'FrmProAppController::load_genesis');
     // Displays Controller
     add_action('init', 'FrmProDisplaysController::register_post_types', 0);
     add_action('before_delete_post', 'FrmProDisplaysController::before_delete_post');
     add_filter('the_content', 'FrmProDisplaysController::get_content', 8);
     // Display Shortcodes
     add_shortcode('display-frm-data', 'FrmProDisplaysController::get_shortcode', 1);
     // Entries Controller
     if (!FrmAppHelper::is_admin()) {
         add_action('wp_footer', 'FrmProEntriesController::enqueue_footer_js', 19);
         add_action('wp_footer', 'FrmProEntriesController::footer_js', 20);
     }
     add_filter('frm_data_sort', 'FrmProEntriesController::data_sort', 20);
     add_action('widgets_init', 'FrmProEntriesController::register_widgets');
     add_filter('frm_update_entry', 'FrmProEntriesController::check_draft_status', 10, 2);
     add_action('frm_after_create_entry', 'FrmProEntriesController::remove_draft_hooks', 1);
     add_action('frm_process_entry', 'FrmProEntriesController::process_update_entry', 10, 4);
     add_filter('frm_prepare_data_before_db', 'FrmProEntryMeta::prepare_data_before_db', 10, 3);
     add_action('frm_display_form_action', 'FrmProEntriesController::edit_update_form', 10, 5);
     add_action('frm_submit_button_action', 'FrmProEntriesController::ajax_submit_button');
     add_filter('frm_success_filter', 'FrmProEntriesController::get_confirmation_method', 10, 3);
     add_action('frm_success_action', 'FrmProEntriesController::confirmation', 10, 5);
     add_action('deleted_post', 'FrmProEntriesController::delete_entry');
     add_action('trashed_post', 'FrmProEntriesController::trashed_post');
     add_action('untrashed_post', 'FrmProEntriesController::trashed_post');
     add_filter('frmpro_fields_replace_shortcodes', 'FrmProEntriesController::filter_shortcode_value', 10, 3);
     add_filter('frm_display_value_custom', 'FrmProEntriesController::filter_display_value', 1, 3);
     add_filter('frm_display_value_atts', 'FrmProEntriesController::display_value_atts', 10, 2);
     add_action('frm_after_create_entry', 'FrmProEntriesController::maybe_set_cookie', 20, 2);
     add_filter('frm_setup_edit_entry_vars', 'FrmProEntriesController::setup_edit_vars');
     // Entry and Meta Helpers
     add_filter('frm_show_new_entry_page', 'FrmProEntriesHelper::allow_form_edit', 10, 2);
     add_filter('frm_email_value', 'FrmProEntryMetaHelper::email_value', 10, 3);
     // Entry Shortcodes
     add_shortcode('formresults', 'FrmProEntriesController::get_form_results');
     add_shortcode('frm-search', 'FrmProEntriesController::get_search');
     add_shortcode('frm-entry-links', 'FrmProEntriesController::entry_link_shortcode');
     add_shortcode('frm-entry-edit-link', 'FrmProEntriesController::entry_edit_link');
     add_shortcode('frm-entry-update-field', 'FrmProEntriesController::entry_update_field');
     add_shortcode('frm-entry-delete-link', 'FrmProEntriesController::entry_delete_link');
     add_shortcode('frm-field-value', 'FrmProEntriesController::get_field_value_shortcode');
     add_shortcode('frm-show-entry', 'FrmProEntriesController::show_entry_shortcode');
     add_shortcode('frm-alt-color', 'FrmProEntriesController::change_row_color');
     // Trigger entry model
     add_action('frm_validate_form_creation', 'FrmProEntry::validate', 10, 5);
     add_filter('frm_pre_create_entry', 'FrmProEntry::mod_other_vals', 10, 1);
     add_filter('frm_pre_update_entry', 'FrmProEntry::mod_other_vals', 10, 1);
     add_filter('frm_pre_create_entry', 'FrmProEntry::save_sub_entries', 20, 2);
     add_filter('frm_pre_update_entry', 'FrmProEntry::save_sub_entries', 20, 2);
     add_action('frm_after_duplicate_entry', 'FrmProEntry::duplicate_sub_entries', 10, 3);
     add_action('frm_after_create_entry', 'FrmProEntry::update_parent_id', 10, 2);
     // Trigger entry meta model
     add_filter('frm_add_entry_meta', 'FrmProEntryMeta::before_save');
     add_filter('frm_update_entry_meta', 'FrmProEntryMeta::before_save');
     add_filter('frm_validate_field_entry', 'FrmProEntryMeta::validate', 10, 4);
     // Fields Controller
     add_filter('frm_show_normal_field_type', 'FrmProFieldsController::show_normal_field', 10, 2);
     add_filter('frm_normal_field_type_html', 'FrmProFieldsController::normal_field_html', 10, 2);
     add_filter('frm_field_type', 'FrmProFieldsController::change_type', 9, 2);
     add_filter('frm_field_value_saved', 'FrmProFieldsController::use_field_key_value', 10, 3);
     add_action('frm_field_input_html', 'FrmProFieldsController::input_html', 10, 2);
     add_filter('frm_field_classes', 'FrmProFieldsController::add_field_class', 20, 2);
     // Fields Helper
     add_filter('frm_posted_field_ids', 'FrmProFieldsHelper::posted_field_ids');
     add_filter('frm_other_custom_html', 'FrmProFieldsHelper::get_default_html', 10, 2);
     add_filter('frm_get_display_value', 'FrmProFieldsHelper::get_display_value', 10, 3);
     add_filter('frm_pro_available_fields', 'FrmProFieldsHelper::modify_available_fields', 10);
     add_filter('frm_get_parent_child_field_helpers', 'FrmProFieldsHelper::maybe_get_parent_child_field_helpers', 10, 3);
     add_filter('frm_is_field_hidden', 'FrmProFieldsHelper::route_to_is_field_hidden', 10, 3);
     add_filter('frm_get_current_page', 'FrmProFieldsHelper::get_current_page', 10, 3);
     // Form Actions Controller
     add_action('frm_registered_form_actions', 'FrmProFormActionsController::register_actions');
     add_filter('frm_email_control_settings', 'FrmProFormActionsController::email_action_control');
     add_action('frm_after_update_entry', 'FrmProFormActionsController::trigger_update_actions', 10, 2);
     add_action('frm_before_destroy_entry', 'FrmProFormActionsController::trigger_delete_actions', 20, 2);
     // Forms Controller
     add_action('formidable_shortcode_atts', 'FrmProFormsController::formidable_shortcode_atts', 10, 2);
     add_filter('frm_replace_content_shortcodes', 'FrmProFormsController::replace_content_shortcodes', 10, 3);
     add_filter('frm_conditional_shortcodes', 'FrmProFormsController::conditional_options');
     add_filter('frm_user_shortcodes', 'FrmProFormsController::user_options');
     add_filter('frm_validate_entry', 'FrmProFormsHelper::can_submit_form_now', 15, 2);
     // trigger form model
     add_filter('frm_validate_form', 'FrmProFormsController::validate', 10, 2);
     // Posts model
     add_action('frm_trigger_wppost_action', 'FrmProPost::save_post', 10, 3);
     add_action('frm_before_destroy_entry', 'FrmProPost::destroy_post', 10, 2);
     // Stats Controller
     add_shortcode('frm-graph', 'FrmProStatisticsController::graph_shortcode');
     add_shortcode('frm-stats', 'FrmProStatisticsController::stats_shortcode');
     add_action('frm_form_action_reports', 'FrmProStatisticsController::show', 9);
     // notification model
     add_filter('frm_notification_attachment', 'FrmProNotification::add_attachments', 1, 3);
     // XML Controller
     add_filter('frm_default_templates_files', 'FrmProXMLController::import_default_templates');
     add_filter('frm_importing_xml', 'FrmProXMLController::importing_xml', 10, 2);
 }
 /**
  * @since 2.0.8
  * @return boolean
  */
 public static function user_can_submit_form($form)
 {
     $admin_entry = FrmAppHelper::is_admin();
     $can_submit = true;
     if ($form->options['single_entry_type'] == 'cookie' && isset($_COOKIE['frm_form' . $form->id . '_' . COOKIEHASH])) {
         $can_submit = $admin_entry ? true : false;
     } else {
         if ($form->options['single_entry_type'] == 'ip') {
             if (!$admin_entry) {
                 $prev_entry = FrmEntry::getAll(array('it.form_id' => $form->id, 'it.ip' => FrmAppHelper::get_ip_address()), '', 1);
                 if ($prev_entry) {
                     $can_submit = false;
                 }
             }
         } else {
             if (($form->options['single_entry_type'] == 'user' || isset($form->options['save_draft']) && $form->options['save_draft'] == 1) && !$form->editable) {
                 $user_ID = get_current_user_id();
                 if ($user_ID) {
                     $meta = FrmProEntriesHelper::check_for_user_entry($user_ID, $form, $form->options['single_entry_type'] != 'user');
                     if ($meta) {
                         $can_submit = false;
                     }
                 }
             }
         }
     }
     return $can_submit;
 }
Exemple #14
0
<?php 
}
do_action('frm_entry_form', $form, $form_action, $errors);
global $frm_vars;
// close open section div
if (isset($frm_vars['div']) && $frm_vars['div']) {
    echo "</div>\n";
    unset($frm_vars['div']);
}
// close open collapsible toggle div
if (isset($frm_vars['collapse_div']) && $frm_vars['collapse_div']) {
    echo "</div>\n";
    unset($frm_vars['collapse_div']);
}
echo FrmFormsHelper::replace_shortcodes($values['after_html'], $form);
if (has_action('frm_entries_footer_scripts')) {
    ?>
<script type="text/javascript">
<?php 
    do_action('frm_entries_footer_scripts', $values['fields'], $form);
    ?>
</script><?php 
}
if (!$form->is_template && $form->status == 'published' && !FrmAppHelper::is_admin()) {
    unset($values['fields']);
    FrmFormsHelper::get_custom_submit($values['submit_html'], $form, $submit, $form_action, $values);
}
?>
</fieldset>
</div>
 public static function process_entry($errors = '', $ajax = false)
 {
     $form_id = FrmAppHelper::get_post_param('form_id', '', 'absint');
     if (FrmAppHelper::is_admin() || empty($_POST) || empty($form_id) || !isset($_POST['item_key'])) {
         return;
     }
     global $frm_vars;
     $form = FrmForm::getOne($form_id);
     if (!$form) {
         return;
     }
     $params = FrmForm::get_params($form);
     if (!isset($frm_vars['form_params'])) {
         $frm_vars['form_params'] = array();
     }
     $frm_vars['form_params'][$form->id] = $params;
     if (isset($frm_vars['created_entries'][$form_id])) {
         return;
     }
     if ($errors == '') {
         $errors = FrmEntryValidate::validate($_POST);
     }
     /**
      * Use this filter to add trigger actions and add errors after
      * all other errors have been processed
      * @since 2.0.6
      */
     $errors = apply_filters('frm_entries_before_create', $errors, $form);
     $frm_vars['created_entries'][$form_id] = array('errors' => $errors);
     if (empty($errors)) {
         $_POST['frm_skip_cookie'] = 1;
         if ($params['action'] == 'create') {
             if (apply_filters('frm_continue_to_create', true, $form_id) && !isset($frm_vars['created_entries'][$form_id]['entry_id'])) {
                 $frm_vars['created_entries'][$form_id]['entry_id'] = FrmEntry::create($_POST);
             }
         }
         do_action('frm_process_entry', $params, $errors, $form, array('ajax' => $ajax));
         unset($_POST['frm_skip_cookie']);
     }
 }
Exemple #16
0
 /**
  * Get the user_id value for a new entry
  *
  * @since 2.0.16
  * @param array $values
  * @return int
  */
 private static function get_entry_user_id($values)
 {
     if (isset($values['frm_user_id']) && (is_numeric($values['frm_user_id']) || FrmAppHelper::is_admin())) {
         $user_id = $values['frm_user_id'];
     } else {
         $current_user_id = get_current_user_id();
         $user_id = $current_user_id ? $current_user_id : 0;
     }
     return $user_id;
 }
 public static function entry_delete_link($atts)
 {
     global $post, $frm_vars;
     $atts = shortcode_atts(array('id' => isset($frm_vars['editing_entry']) ? $frm_vars['editing_entry'] : false, 'label' => __('Delete'), 'confirm' => __('Are you sure you want to delete that entry?', 'formidable'), 'class' => '', 'page_id' => $post ? $post->ID : 0, 'html_id' => false, 'prefix' => '', 'title' => ''), $atts);
     $entry_id = FrmAppHelper::get_param('id', false, 'get', 'sanitize_text_field');
     $entry_id = $atts['id'] && is_numeric($atts['id']) ? $atts['id'] : (FrmAppHelper::is_admin() ? $entry_id : FrmAppHelper::get_param('entry', false, 'get', 'sanitize_text_field'));
     if (empty($entry_id) || !FrmProEntriesHelper::user_can_delete($entry_id)) {
         // User doesn't have permission to delete this entry
         return '';
     }
     $frm_vars['forms_loaded'][] = true;
     if (!empty($atts['prefix'])) {
         if (!$atts['html_id']) {
             $atts['html_id'] = 'frm_delete_' . $entry_id;
         }
         $link = '<a href="#" class="frm_ajax_delete frm_delete_link ' . esc_attr($atts['class']) . '" id="' . esc_attr($atts['html_id']) . '" data-deleteconfirm="' . esc_attr($atts['confirm']) . '" data-entryid="' . esc_attr($entry_id) . '" data-prefix="' . esc_attr($atts['prefix']) . '">' . $atts['label'] . "</a>\n";
         return $link;
     }
     $link = '';
     // Delete entry now
     $action = FrmAppHelper::get_param('frm_action', '', 'get', 'sanitize_title');
     if ($action == 'destroy') {
         $entry_key = FrmAppHelper::get_param('entry', '', 'get', 'absint');
         if ($entry_key && $entry_key == $entry_id) {
             $link = self::ajax_destroy(false, false, false);
             if (!empty($link)) {
                 $new_link = '<div class="frm_message">' . $link . '</div>';
                 if (empty($atts['label'])) {
                     return;
                 }
                 if ($link == __('Your entry was successfully deleted', 'formidable')) {
                     return $new_link;
                 } else {
                     $link = $new_link;
                 }
                 unset($new_link);
             }
         }
     }
     $delete_link = wp_nonce_url(admin_url('admin-ajax.php') . '?action=frm_entries_destroy&entry=' . $entry_id . '&redirect=' . $atts['page_id'], 'frm_ajax', 'nonce');
     if (empty($atts['label'])) {
         $link .= $delete_link;
     } else {
         if (empty($atts['title'])) {
             $atts['title'] = $atts['label'];
         }
         $link .= '<a href="' . esc_url($delete_link) . '" class="' . esc_attr($atts['class']) . '" data-frmconfirm="' . esc_attr($atts['confirm']) . '" title="' . esc_attr($atts['title']) . '">' . $atts['label'] . '</a>' . "\n";
     }
     return $link;
 }
Exemple #18
0
 public static function show_submit($form)
 {
     $show = !$form->is_template && $form->status == 'published' && !FrmAppHelper::is_admin();
     $show = apply_filters('frm_show_submit_button', $show, $form);
     return $show;
 }
Exemple #19
0
/>
<?php 
                        if ($field['value']) {
                            echo FrmProFieldsHelper::get_display_value($field['value'], $field, array('html' => true));
                        }
                    } else {
                        if ($field['type'] == 'scale') {
                            require FrmAppHelper::plugin_path() . '/pro/classes/views/frmpro-fields/10radio.php';
                            if (FrmField::is_option_true($field, 'star')) {
                                if (!isset($frm_vars['star_loaded']) || !is_array($frm_vars['star_loaded'])) {
                                    $frm_vars['star_loaded'] = array(true);
                                }
                            }
                            // Rich Text for back-end
                        } else {
                            if ($field['type'] == 'rte' && FrmAppHelper::is_admin()) {
                                ?>
<div id="<?php 
                                echo user_can_richedit() ? 'postdivrich' : 'postdiv';
                                ?>
" class="postarea frm_full_rte">
<?php 
                                wp_editor(str_replace('&quot;', '"', $field['value']), $html_id, array('dfw' => true, 'textarea_name' => $field_name));
                                ?>
</div>
<?php 
                                // Rich text for front-end, including Preview page
                            } else {
                                if ($field['type'] == 'rte') {
                                    if (!isset($frm_vars['skip_rte']) || !$frm_vars['skip_rte']) {
                                        $e_args = array('media_buttons' => false, 'textarea_name' => $field_name);