/**
  *
  *	Process the form submission
  *
  */
 function process_entry()
 {
     $public_can_vote = avfr_get_option('avfr_public_voting', 'avfr_settings_main');
     $allowed_type = explode(",", avfr_get_option('avfr_allowed_file_types', 'avfr_settings_features'));
     $allowed_size = avfr_get_option('avfr_max_file_size', 'avfr_settings_features');
     $title = isset($_POST['avfr-title']) ? $_POST['avfr-title'] : null;
     $desc = isset($_POST['avfr-description']) ? $_POST['avfr-description'] : null;
     $uploadajx = isset($_POST['avfr-upload']) ? $_POST['avfr-upload'] : null;
     $uploadOk = 1;
     $must_approve = '1' == avfr_get_option('avfr_approve_features', 'avfr_settings_main') ? 'pending' : 'publish';
     session_start();
     if (isset($_POST['action']) && $_POST['action'] == 'process_entry') {
         // only run for logged in users or if public is allowed
         if (!is_user_logged_in() && 'on' !== $public_can_vote) {
             return;
         }
         // OK security passes so let's process some data
         if (wp_verify_nonce($_POST['nonce'], 'avfr-entry-nonce')) {
             // bail if we don't have required fields
             if (empty($title) || empty($desc)) {
                 printf('<div class="error">%s</div>', __('Whoops! Looks like you forgot the Title and/or description.', 'feature-request'));
             } else {
                 if ('on' == avfr_get_option('avfr_disable_captcha', 'avfr_settings_main') || isset($_POST["captcha"]) && $_POST["captcha"] != "" && $_SESSION["code"] == $_POST["captcha"]) {
                     if (is_user_logged_in()) {
                         $userid = get_current_user_ID();
                     } elseif (!is_user_logged_in() && $public_can_vote) {
                         $userid = apply_filters('avfr_default_public_author', 1);
                     }
                     //get array of inserted tags in front-end
                     $tags = str_replace(array('[', ']', '"', '\\'), '', $_POST['avfr-tags']);
                     $groups = $_POST['group'];
                     $tags_array = explode(',', $tags);
                     // create an feature-request post type
                     $post_args = array('post_title' => wp_strip_all_tags($title), 'post_content' => avfr_content_filter($desc), 'the_post_thumbnail' => avfr_image_filter($uploadajx), 'post_status' => $must_approve, 'post_type' => 'avfr', 'post_author' => (int) $userid);
                     if (!is_user_logged_in()) {
                         $email = $_POST['avfr-email'];
                         if (!is_email($email)) {
                             $response_array = array('success' => 'false', 'message' => __('<span class="dashicons dashicons-warning"></span>' . 'Please enter a valid email address.', 'feature-request'));
                             echo json_encode($response_array);
                             die;
                         }
                     }
                     if ($_FILES) {
                         $convert_byte_kb = $allowed_size * 1024;
                         if ($_FILES["avfr-upload"]["size"] > $convert_byte_kb) {
                             $response_array = array('success' => 'false', 'message' => __('<span class="dashicons dashicons-warning"></span>' . ' Your image size is greater than acceptable !', 'feature-request'));
                             echo json_encode($response_array);
                             die;
                         }
                         if (in_array($_FILES["avfr-upload"]["type"], $allowed_type)) {
                             //continue
                         } else {
                             $response_array = array('success' => 'false', 'message' => __('<span class="dashicons dashicons-warning"></span>' . ' Please upload acceptable image format !', 'feature-request'));
                             echo json_encode($response_array);
                             die;
                         }
                         if ($_FILES['avfr-upload']['error'] !== UPLOAD_ERR_OK) {
                             $response_array = array('success' => 'false', 'message' => __('<span class="dashicons dashicons-dismiss"></span>' . ' upload error :' . $_FILES['avfr-upload']['error'], 'feature-request'));
                             echo json_encode($response_array);
                             die;
                         } else {
                             $entry_id = wp_insert_post($post_args);
                             $attach_id = media_handle_upload('avfr-upload', $entry_id);
                             update_post_meta($entry_id, '_thumbnail_id', $attach_id);
                         }
                     } else {
                         $entry_id = wp_insert_post($post_args);
                     }
                     $entry_groups = wp_set_object_terms($entry_id, $groups, 'groups');
                     $entry_avfrtags = wp_set_object_terms($entry_id, $tags_array, 'featureTags');
                     update_post_meta($entry_id, '_avfr_votes', 0);
                     update_post_meta($entry_id, '_avfr_total_votes', 0);
                     update_post_meta($entry_id, '_avfr_status', 'open');
                     update_post_meta($entry_id, '_flag', 0);
                     if (!is_user_logged_in()) {
                         update_post_meta($entry_id, '_avfr_author_email', $email);
                     }
                     do_action('avfr_entry_submitted', $entry_id, $userid);
                     $response_array = array('success' => 'true', 'message' => __('<span class="dashicons dashicons-yes"></span>' . ' Thanks for your entry!', 'feature-request'));
                     echo json_encode($response_array);
                     if ($must_approve == 'pending') {
                         echo "<br/>";
                         $response_array = array('success' => 'true', 'message' => __('<span class="dashicons dashicons-flag"></span>' . ' You suggestion is awaiting moderation.', 'feature-request'));
                         echo json_encode($response_array);
                     }
                 } else {
                     $response_array = array('success' => 'false', 'message' => __('<span class="dashicons dashicons-warning"></span>' . ' Captcha code is not correct!', 'feature-request'));
                     echo json_encode($response_array);
                 }
             }
         }
     }
     exit;
     // Ajax
 }
    function avfr_submit_header()
    {
        $intro_message = avfr_get_option('avfr_welcome', 'avfr_settings_main');
        ?>
			<aside class="avfr-layout-submit">

				<div class="avfr-submit-left">

					<?php 
        echo avfr_content_filter($intro_message);
        ?>

				</div>

				<div class="avfr-submit-right">

					<?php 
        do_action('avfr_before_submit_button');
        ?>

						<a href="#avfr-modal" class="avfr-button avfr-trigger"><?php 
        _e('Submit feature', 'feature-request');
        ?>
</a>

					<?php 
        do_action('avfr_after_submit_button');
        ?>

				</div>

			</aside>
<?php 
    }