/** * * Process the form submission * */ function process_entry() { $public_can_vote = idea_factory_get_option('if_public_voting', 'if_settings_main'); $title = isset($_POST['idea-title']) ? $_POST['idea-title'] : null; $desc = isset($_POST['idea-description']) ? $_POST['idea-description'] : null; $must_approve = 'on' == idea_factory_get_option('if_approve_ideas', 'if_settings_main') ? 'pending' : 'publish'; 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'], 'if-entry-nonce')) { // bail if we dont have rquired fields if (empty($title) || empty($desc)) { printf('<div class="error">%s</div>', __('Whoopsy! Looks like you forgot the Title and/or description.', 'idea-factory')); } else { if (is_user_logged_in()) { $userid = get_current_user_ID(); } elseif (!is_user_logged_in() && $public_can_vote) { $userid = apply_filters('idea_factory_default_public_author', 1); } // create an ideas post type $post_args = array('post_title' => wp_strip_all_tags($title), 'post_content' => idea_factory_media_filter($desc), 'post_status' => $must_approve, 'post_type' => 'ideas', 'post_author' => (int) $userid); $entry_id = wp_insert_post($post_args); update_post_meta($entry_id, '_idea_votes', 0); update_post_meta($entry_id, '_idea_total_votes', 0); do_action('idea_factory_entry_submitted', $entry_id, $userid); _e('Thanks for your entry!', 'idea-factory'); if ($must_approve == 'pending') { echo "<br/>"; _e('You suggestion is awaiting moderation.', 'idea-factory'); } } } } exit; // ajax }
function idea_factory_submit_header() { $intro_message = idea_factory_get_option('if_welcome', 'if_settings_main', apply_filters('idea_factory_default_message', __('Submit and vote for new features!', 'idea-factory'))); $public_can_vote = idea_factory_get_option('if_public_voting', 'if_settings_main'); if (is_user_logged_in() || $public_can_vote) { ?> <aside class="idea-factory--layout-submit"> <div class="idea-factory--submit-left"> <?php echo idea_factory_media_filter($intro_message); ?> </div> <div class="idea-factory--submit-right"> <?php do_action('idea_factory_before_submit_button'); ?> <a href="#" data-toggle="idea-factory-modal" data-target=".idea-factory-modal" class="idea-factory--button idea-factory-trigger"><?php _e('Submit Idea', 'idea-factory'); ?> </a> <?php do_action('idea_factory_after_submit_button'); ?> </div> </aside> <?php } }