PHP Classes

File: templates/biggidroid-frontend-view.php

Recommend this page to a friend!
  Classes of Adeleye Ayodeji   Biggidroid Contact for WordPress   templates/biggidroid-frontend-view.php   Download  
File: templates/biggidroid-frontend-view.php
Role: Auxiliary script
Content type: text/plain
Description: Configuration script
Class: Biggidroid Contact for WordPress
Add contact forms to WordPress site pages
Author: By
Last change:
Date: 1 month ago
Size: 4,414 bytes
 

Contents

Class file image Download
<?php
//check for security
if (!defined('WPINC')) {
    die(
'Cant access file directly');
}
//get biggidroid form fields
$biggidroid_form_fields = get_biggidroid_form_fields($post_id);
//get contact body
$contact_body = $biggidroid_form_fields['biggidroid-form-content'];
?>
<style>
    .biggidroid-form-message-error {
        color: red;
        border: 1px solid red;
        padding: 10px;
        border-radius: 5px;
    }

    .biggidroid-form-message-success {
        color: green;
        border: 1px solid green;
        padding: 10px;
        border-radius: 5px;
    }
</style>
<div class="biggidroid-contact-form-frontend">
    <div class="biggidroid-contact-header">
        <h3>
            <?php echo esc_html($title) ?>
</h3>
    </div>
    <div class="biggidroid-contact-body">
        <form action="" id="biggidroid-contact-form-submit">
            <input type="hidden" name="action" value="biggidroid_send_message">
            <input type="hidden" name="nonce" value="<?php echo wp_create_nonce('biggidroid-contact-message'); ?>">
            <input type="hidden" name="biggidroid-post-id" value="<?php echo esc_attr($post_id); ?>">
            <?php
           
//get the shortcode regex
           
$shortcode_regex = get_shortcode_regex();
           
//get the shortcodes regex
           
if (preg_match_all('/' . $shortcode_regex . '/s', $contact_body, $matches, PREG_SET_ORDER)) {
               
//loop through the matches
               
foreach ($matches as $match) {
                   
//do the shortcode
                   
echo do_shortcode($match[0]);
                }
            }
           
?>
<div class="biggidroid-form-group">
                <button type="submit">
                    Submit
                </button>
            </div>
            <div class="biggidroid-form-group">
                <div class="biggidroid-form-message">
                    <p id="biggidroid-form-message"></p>
                </div>
            </div>
        </form>
    </div>
</div>
<script>
    jQuery(document).ready(function($) {
        $('form#biggidroid-contact-form-submit').on('submit', function(e) {
            e.preventDefault();
            var form = $(this);
            var data = form.serialize();
            //send ajax
            $.ajax({
                type: "POST",
                url: "<?php echo admin_url('admin-ajax.php'); ?>",
                data,
                dataType: "json",
                beforeSend: function() {
                    form.find('button[type="submit"]').prop('disabled', true);
                    //change the button text
                    form.find('button[type="submit"]').text('Sending...');
                },
                success: function(response) {
                    console.log(response);
                    if (response.success) {
                        //show success message
                        form.find('#biggidroid-form-message').html(
                            `
                            <p class="biggidroid-form-message-success">${response.data.message}</p>
                            `
                        );
                        //reset the form
                        form[0].reset();
                    } else {
                        //show error message
                        form.find('#biggidroid-form-message').html(
                            `
                            <p class="biggidroid-form-message-error">${response.data.message}</p>
                            `
                        );
                    }
                    //restore the button
                    form.find('button[type="submit"]').prop('disabled', false);
                    form.find('button[type="submit"]').text('Submit');
                },
                error: function(response) {
                    console.log(response);
                    //show error message
                    form.find('#biggidroid-form-message').html(
                        `
                        <p class="biggidroid-form-message-error">Something went wrong</p>
                        `
                    );
                    //restore the button
                    form.find('button[type="submit"]').prop('disabled', false);
                    form.find('button[type="submit"]').text('Submit');
                }
            });
        });
    });
</script>