/**
  * Handles support request form submissions
  *
  * @since			1.0.0
  */
 public function ip_new_support_request_handler($action = '')
 {
     // Bail if action is not ip-create-support-request
     if ($action !== 'ip-create-support-request') {
         return;
     }
     // Nonce check
     if (!wp_verify_nonce($_REQUEST['_wpnonce'], $action)) {
         return;
     }
     $request_author = get_current_user_id();
     $request_content = $request_title = '';
     if (!empty($_POST['ip-support-description'])) {
         $request_content = esc_attr(strip_tags($_POST['ip-support-description']));
     } else {
         ip_add_error('ip_support_content', __('<strong>ERROR</strong>: Support Requests require a description.', $this->name));
     }
     if (!empty($_POST['ip-support-title'])) {
         $request_title = esc_attr(strip_tags($_POST['ip-support-title']));
     } else {
         ip_add_error('ip_support_title', __('<strong>ERROR</strong>: Support Requests require a title.', $this->name));
     }
     if (!empty($_POST['ip-support-section'])) {
         $request_section = $_POST['ip-support-section'];
     } else {
         $request_section = get_ip_default_section();
     }
     if (ip_has_errors()) {
         return;
     }
     $post_status = $this->plugin->get_plugin_setting_by_key('ip_default_post_status');
     $support_request_data = apply_filters('ip_new_support_request_pre_insert', array('post_author' => $request_author, 'post_title' => $request_title, 'post_content' => $request_content, 'post_type' => get_ip_support_request_post_type(), 'post_status' => $post_status ? $post_status : 'draft', 'comment_status' => 'open', 'ping_status' => 'closed'));
     $support_request_id = wp_insert_post($support_request_data);
     if (!empty($support_request_id)) {
         update_post_meta($support_request_id, 'status', 'open');
         wp_set_post_terms($support_request_id, $request_section, get_ip_support_section_taxonomy());
         do_action('ip_new_support_request_post_insert', $support_request_id);
     }
 }
    /**
     * Render Template Notices
     *
     * Will check for any IP Errors and render them for templates.
     *
     * @since			1.0.0
     */
    public function render_template_notices()
    {
        if (!ip_has_errors()) {
            return;
        }
        // Local variabel to hold errors array
        $errors = array();
        $ip_errors = $this->plugin->get_errors();
        foreach ($ip_errors->get_error_codes() as $error_code) {
            $error_data = $ip_errors->get_error_data($error_code);
            $error_class = $error_data ? $error_data : '';
            foreach ($ip_errors->get_error_messages($error_code) as $error) {
                $errors[] = array("class" => $error_class, "message" => $error);
            }
        }
        if (!empty($errors)) {
            foreach ($errors as $error) {
                ?>

				<div class="ip-template-notice <?php 
                echo $error['class'];
                ?>
">
					<p><?php 
                echo $error['message'];
                ?>
</p>
				</div>

			<?php 
            }
        }
    }