/** * Ticket Form Shortcode * * Displays the ticket submission form * * @since 1.0 * @param arr $atts Shortcode attributes * @return str */ function kbs_submit_form_shortcode($atts) { if (kbs_user_must_be_logged_in() && !is_user_logged_in()) { return kbs_login_form(kbs_get_current_page_url()); } extract(shortcode_atts(array('form' => 0), $atts, 'kbs_submit')); return kbs_display_form($form); }
/** * Registration Form * * @since 1.0 * @global $post * @param str $redirect Redirect page URL * @return str Login form */ function kbs_register_form($redirect = '') { global $kbs_register_redirect; if (empty($redirect)) { $redirect = kbs_get_current_page_url(); } $kbs_register_redirect = $redirect; ob_start(); if (!is_user_logged_in()) { kbs_get_template_part('shortcode', 'register'); } return apply_filters('kbs_register_form', ob_get_clean()); }
/** * Output the hidden form fields. * * @since 1.0 * @param $form_id The ID of the form on display. * @return str */ function kbs_render_hidden_form_fields($form_id) { $hidden_fields = array('kbs_form_id' => $form_id, 'kbs_honeypot' => '', 'redirect' => kbs_get_current_page_url(), 'action' => 'kbs_validate_ticket_form'); $hidden_fields = apply_filters('kbs_form_hidden_fields', $hidden_fields, $form_id); ob_start(); ?> <?php foreach ($hidden_fields as $key => $value) { ?> <input type="hidden" name="<?php echo $key; ?> " value="<?php echo $value; ?> " /> <?php } ?> <?php echo ob_get_clean(); }
/** * Get AJAX URL * * @since 1.0 * @return str URL to the AJAX file to call during AJAX requests. */ function kbs_get_ajax_url() { $scheme = defined('FORCE_SSL_ADMIN') && FORCE_SSL_ADMIN ? 'https' : 'admin'; $current_url = kbs_get_current_page_url(); $ajax_url = admin_url('admin-ajax.php', $scheme); if (preg_match('/^https/', $current_url) && !preg_match('/^https/', $ajax_url)) { $ajax_url = preg_replace('/^http/', 'https', $ajax_url); } return apply_filters('kbs_ajax_url', $ajax_url); }