Example #1
0
 function template_redirect()
 {
     if (is_qa_page('user')) {
         wp_redirect($this->_get_url(get_query_var('author')), 301);
         die;
     }
 }
Example #2
0
function test_templates()
{
    foreach (array('ask', 'edit', 'single', 'archive', 'tag', 'category') as $type) {
        if (is_qa_page($type)) {
            echo "<pre>{$type}: true\n</pre>";
        }
    }
}
Example #3
0
 function handle_subs()
 {
     if (!is_qa_page('single')) {
         return;
     }
     if (!is_user_logged_in()) {
         return;
     }
     if (!isset($_GET['_wpnonce']) || !wp_verify_nonce($_GET['_wpnonce'], 'qa_sub')) {
         return;
     }
     // Question authors are automatically subscribed
     if (get_current_user_id() == get_post_field('post_author', get_queried_object_id())) {
         return false;
     }
     if ($_GET['qa_sub']) {
         add_post_meta(get_queried_object_id(), '_sub', get_current_user_id());
     } else {
         delete_post_meta(get_queried_object_id(), '_sub', get_current_user_id());
     }
 }
Example #4
0
function get_the_answer_form()
{
    global $wp_query, $user_ID, $wp_version, $qa_general_settings;
    $out = '';
    if (is_qa_page('edit')) {
        $answer = $wp_query->posts[0];
        if ($user_ID == 0 && !qa_visitor_can('edit_published_answers', $answer->ID) && !current_user_can('edit_published_answers', $answer->ID)) {
            return;
        }
    } else {
        if ($user_ID == 0 && !qa_visitor_can('publish_answers') && !current_user_can('publish_answers')) {
            $out .= '<p>' . __('You are not allowed to add answers!', QA_TEXTDOMAIN) . '</p>';
            return;
        }
        $answer = (object) array('ID' => '', 'post_parent' => get_the_ID(), 'post_content' => '');
    }
    $out .= '<form id="answer-form" method="post" action="' . qa_get_url('archive') . '">';
    $out .= wp_nonce_field('qa_answer', "_wpnonce", true, false);
    $out .= '<input type="hidden" name="qa_action" value="edit_answer" />
	<input type="hidden" name="question_id" value="' . esc_attr($answer->post_parent) . '" />
	<input type="hidden" name="answer_id" value="' . esc_attr($answer->ID) . '" />';
    $use_editor = true;
    if (isset($qa_general_settings["disable_editor"]) && $qa_general_settings["disable_editor"]) {
        $use_editor = false;
    }
    if (version_compare($wp_version, "3.3") >= 0 && $use_editor) {
        $wp_editor_settings = apply_filters('qa_answer_editor_settings', array(), $answer->ID);
        $out .= '<p>';
        ob_start();
        wp_editor($answer->post_content, 'answer', $wp_editor_settings);
        $out .= ob_get_contents();
        ob_end_clean();
        $out .= '</p>';
    } else {
        $out .= '<p><textarea name="answer" class="wp32">' . esc_textarea($answer->post_content) . '</textarea></p>';
    }
    $out .= get_the_qa_submit_button();
    $out .= '</form>';
    return $out;
}
Example #5
0
 function body_class($classes)
 {
     if (is_qa_page('ask')) {
         $classes[] = 'ask-question';
     }
     if (is_qa_page('edit')) {
         $classes[] = 'edit-question';
     }
     if (is_qa_page('unanswered')) {
         $classes[] = 'unanswered';
     }
     return $classes;
 }
Example #6
0
function the_answer_form()
{
    global $wp_query, $wp_version;
    if (is_qa_page('edit')) {
        $answer = $wp_query->posts[0];
        if (!current_user_can('edit_post', $answer->ID)) {
            return;
        }
    } elseif (!current_user_can('publish_answers')) {
        echo _qa_html('p', sprintf(__('Please <a href="%s">login</a> to post questions.', QA_TEXTDOMAIN), wp_login_url(qa_get_url('single', get_queried_object_id()))));
        return;
    } else {
        $answer = (object) array('ID' => '', 'post_parent' => get_the_ID(), 'post_content' => '');
    }
    ?>
<form id="answer-form" method="post" action="<?php 
    echo qa_get_url('archive');
    ?>
">
	<?php 
    wp_nonce_field('qa_answer');
    ?>

	<input type="hidden" name="qa_action" value="edit_answer" />
	<input type="hidden" name="question_id" value="<?php 
    echo esc_attr($answer->post_parent);
    ?>
" />
	<input type="hidden" name="answer_id" value="<?php 
    echo esc_attr($answer->ID);
    ?>
" />

	<?php 
    if (version_compare($wp_version, "3.3") >= 0) {
        ?>
		<p><?php 
        wp_editor($answer->post_content, 'answer', array('media_buttons' => false));
        ?>
</p>
	<?php 
    } else {
        ?>
		<p><textarea name="answer" class="wp32"><?php 
        echo esc_textarea($answer->post_content);
        ?>
</textarea></p>
	<?php 
    }
    ?>

	<?php 
    the_qa_submit_button();
    ?>
</form>
<?php 
}