public static function process_entry($errors = '', $ajax = false) { if (is_admin() and !defined('DOING_AJAX') or !isset($_POST) or !isset($_POST['form_id']) or !is_numeric($_POST['form_id']) or !isset($_POST['item_key'])) { return; } global $frm_entry, $frm_vars; $frm_form = new FrmForm(); $form = $frm_form->getOne($_POST['form_id']); if (!$form) { return; } $params = FrmEntriesController::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'][$_POST['form_id']])) { return; } if ($errors == '') { $errors = $frm_entry->validate($_POST); } $frm_vars['created_entries'][$_POST['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, $_POST['form_id']) and !isset($frm_vars['created_entries'][$_POST['form_id']]['entry_id'])) { $frm_vars['created_entries'][$_POST['form_id']]['entry_id'] = $frm_entry->create($_POST); } } do_action('frm_process_entry', $params, $errors, $form, array('ajax' => $ajax)); unset($_POST['frm_skip_cookie']); } }
<?php global $frm_form, $frm_field, $frm_entry, $frm_entry_meta, $user_ID, $frm_settings, $frm_created_entry, $frm_form_params; $form_name = $form->name; $form->options = stripslashes_deep(maybe_unserialize($form->options)); $submit = isset($form->options['submit_value']) ? $form->options['submit_value'] : $frm_settings->submit_value; $saved_message = isset($form->options['success_msg']) ? $form->options['success_msg'] : $frm_settings->success_msg; $params = FrmEntriesController::get_params($form); $message = $errors = ''; FrmEntriesHelper::enqueue_scripts($params); if ($params['action'] == 'create' and $params['posted_form_id'] == $form->id and isset($_POST)) { $errors = $frm_created_entry[$form->id]['errors']; if (!empty($errors)) { $fields = FrmFieldsHelper::get_form_fields($form->id, true); $values = FrmEntriesHelper::setup_new_vars($fields, $form); require FRM_VIEWS_PATH . '/frm-entries/new.php'; ?> <script type="text/javascript">window.onload = function(){var frm_pos=jQuery('#form_<?php echo $form->form_key; ?> ').offset(); var cOff = document.documentElement.scrollTop || document.body.scrollTop; if(cOff > frm_pos.top) window.scrollTo(frm_pos.left,frm_pos.top);}</script><?php } else { $fields = FrmFieldsHelper::get_form_fields($form->id); do_action('frm_validate_form_creation', $params, $fields, $form, $title, $description); if (apply_filters('frm_continue_to_create', true, $form->id)) { $values = FrmEntriesHelper::setup_new_vars($fields, $form, true); $created = $frm_created_entry[$form->id]['entry_id']; $saved_message = apply_filters('frm_content', $saved_message, $form, $created); $conf_method = apply_filters('frm_success_filter', 'message', $form, $form->options); if (!$created or !is_numeric($created) or $conf_method == 'message') { $message = '<div class="frm_message" id="message">' . (($created and is_numeric($created)) ? wpautop(do_shortcode($saved_message)) : $frm_settings->failed_msg) . '</div>';
public static function get_form($form, $title, $description, $atts = array()) { global $frm_field, $frm_entry, $frm_entry_meta, $frm_settings, $frm_vars; $form_name = $form->name; $frm_form = new FrmForm(); $submit = isset($form->options['submit_value']) ? $form->options['submit_value'] : $frm_settings->submit_value; $saved_message = isset($form->options['success_msg']) ? $form->options['success_msg'] : $frm_settings->success_msg; $user_ID = get_current_user_id(); $params = FrmEntriesController::get_params($form); $message = $errors = ''; FrmEntriesHelper::enqueue_scripts($params); if ($params['posted_form_id'] == $form->id && $_POST) { $errors = isset($frm_vars['created_entries'][$form->id]) ? $frm_vars['created_entries'][$form->id]['errors'] : array(); } $fields = FrmFieldsHelper::get_form_fields($form->id, isset($errors) && !empty($errors)); $filename = FrmAppHelper::plugin_path() . '/classes/views/frm-entries/frm-entry.php'; if (is_file($filename)) { ob_start(); include $filename; $contents = ob_get_contents(); ob_end_clean(); // check if minimizing is turned on if (isset($atts['minimize']) && !empty($atts['minimize'])) { $contents = str_replace(array("\r\n", "\r", "\n", "\t", " "), '', $contents); } return $contents; } return false; }
function pre_validate($errors, $values) { global $frm_entry_meta, $frm_entry, $frmdb, $frmpro_settings, $frm_vars; $user_ID = get_current_user_id(); $params = isset($frm_vars['form_params']) && is_array($frm_vars['form_params']) && isset($frm_vars['form_params'][$values['form_id']]) ? $frm_vars['form_params'][$values['form_id']] : FrmEntriesController::get_params($values['form_id']); if ($params['action'] != 'create') { if (FrmProFormsHelper::going_to_prev($values['form_id'])) { add_filter('frm_continue_to_create', '__return_false'); $errors = array(); } else { if (FrmProFormsHelper::saving_draft($values['form_id'])) { //$errors = array(); } } return $errors; } $frm_form = new FrmForm(); $form = $frm_form->getOne($values['form_id']); $form_options = maybe_unserialize($form->options); $can_submit = true; if (isset($form_options['single_entry']) and $form_options['single_entry']) { $admin_entry = is_admin() && !defined('DOING_AJAX'); if ($form_options['single_entry_type'] == 'cookie' and 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 = $frm_entry->getAll(array('it.ip' => $_SERVER['REMOTE_ADDR']), '', 1); if ($prev_entry) { $can_submit = false; } } } else { if (($form_options['single_entry_type'] == 'user' or isset($form->options['save_draft']) and $form->options['save_draft'] == 1) and !$form->editable) { if ($user_ID) { $args = array('user_id' => $user_ID, 'form_id' => $form->id); if ($form_options['single_entry_type'] != 'user') { $args['is_draft'] = 1; } $meta = $frmdb->get_var($frmdb->entries, $args); unset($args); } if (isset($meta) and $meta) { $can_submit = false; } } } } unset($admin_entry); if (!$can_submit) { $k = is_numeric($form_options['single_entry_type']) ? 'field' . $form_options['single_entry_type'] : 'single_entry'; $errors[$k] = $frmpro_settings->already_submitted; add_filter('frm_continue_to_create', '__return_false'); return $errors; } } unset($can_submit); if (($_POST and isset($_POST['frm_page_order_' . $form->id]) or FrmProFormsHelper::going_to_prev($form->id)) and !FrmProFormsHelper::saving_draft($form->id)) { add_filter('frm_continue_to_create', '__return_false'); } else { if ($form->editable and isset($form_options['single_entry']) and $form_options['single_entry'] and $form_options['single_entry_type'] == 'user' and $user_ID and (!is_admin() or defined('DOING_AJAX'))) { $meta = $frmdb->get_var($frmdb->entries, array('user_id' => $user_ID, 'form_id' => $form->id)); if ($meta) { $errors['single_entry'] = $frmpro_settings->already_submitted; add_filter('frm_continue_to_create', '__return_false'); } } } if (FrmProFormsHelper::going_to_prev($values['form_id'])) { $errors = array(); } return $errors; }
function process_entry() { if (is_admin() or !isset($_POST) or !isset($_POST['form_id']) or !is_numeric($_POST['form_id']) or !isset($_POST['item_key'])) { return; } global $frm_entry, $frm_form, $frm_created_entry, $frm_form_params; $form = $frm_form->getOne($_POST['form_id']); if (!$form) { return; } if (!$frm_form_params) { $frm_form_params = array(); } $params = FrmEntriesController::get_params($form); $frm_form_params[$form->id] = $params; if (!$frm_created_entry) { $frm_created_entry = array(); } if (isset($frm_created_entry[$_POST['form_id']])) { return; } $errors = $frm_entry->validate($_POST); $frm_created_entry[$_POST['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, $_POST['form_id'])) { $frm_created_entry[$_POST['form_id']]['entry_id'] = $frm_entry->create($_POST); } } do_action('frm_process_entry', $params, $errors, $form); unset($_POST['frm_skip_cookie']); } }