/** * Process ticket form submissions. * * @since 1.0 * @param arr $data $_POST super global * @return void */ function kbs_process_ticket_submission($data) { kbs_do_honeypot_check($data); $form_id = !empty($data['kbs_form_id']) ? $data['kbs_form_id'] : ''; $redirect = !empty($data['redirect']) ? $data['redirect'] : ''; $posted = array(); $ignore = kbs_form_ignore_fields(); foreach ($data as $key => $value) { if (!in_array($key, $ignore)) { if (is_string($value) || is_int($value)) { $posted[$key] = $value; } elseif (is_array($value)) { $posted[$key] = array_map('absint', $value); } } } if (kbs_add_ticket_from_form($form_id, $posted)) { $message = 'ticket_submitted'; } else { $message = 'ticket_failed'; } wp_redirect(add_query_arg(array('kbs_notice' => $message), $redirect)); die; }
public function show_form_data() { if (empty($this->form_data)) { return; } $form = new KBS_Form($this->form_data['id']); $ignore = kbs_form_ignore_fields(); $output = '<h2>' . sprintf(__('Form: %s', 'kb-support'), get_the_title($this->form_data['id'])) . '</h2>'; foreach ($this->form_data['data'] as $field => $value) { $form_field = kbs_get_field_by('name', $field); if (empty($form_field)) { continue; } $settings = $form->get_field_settings($form_field->ID); $value = apply_filters('kbs_show_form_data', $value, $form_field->ID, $settings); $output .= '<p><strong>' . get_the_title($form_field->ID) . '</strong>: ' . $value; } return apply_filters('kbs_show_form_data', $output); }