Ejemplo n.º 1
0
function ap_user_can_answer($question_id)
{
    if (is_super_admin()) {
        return true;
    }
    if (ap_opt('close_after_selecting') && ap_is_answer_selected($question_id)) {
        return false;
    }
    if (current_user_can('ap_new_answer') || ap_show_form_to_guest()) {
        if (!ap_opt('multiple_answers') && ap_is_user_answered($question_id, get_current_user_id()) && get_current_user_id() != '0') {
            return false;
        } else {
            return true;
        }
    }
    return false;
}
Ejemplo n.º 2
0
function ap_user_can_answer($question_id)
{
    if (is_super_admin()) {
        return true;
    }
    $question = get_post($question_id);
    if (!ap_opt('disallow_op_to_answer') && $question->post_author == get_current_user_id() && get_current_user_id() > 0) {
        return false;
    }
    if ($question->post_type == 'closed') {
        return false;
    }
    if (ap_allow_anonymous() && !is_user_logged_in()) {
        return true;
    }
    if (is_user_logged_in()) {
        if (!ap_opt('multiple_answers') && ap_is_user_answered($question_id, get_current_user_id()) && get_current_user_id() != '0') {
            return false;
        } else {
            return true;
        }
    }
    return false;
}
Ejemplo n.º 3
0
/**
 * Check if a user can answer on a question
 * @param  integer $question_id question id.
 * @return boolean
 */
function ap_user_can_answer($question_id)
{
    if (ap_opt('only_admin_can_answer') && !is_super_admin()) {
        return false;
    }
    if (is_super_admin()) {
        return true;
    }
    $question = get_post($question_id);
    // Check if user is original poster and dont allow them to answer their own question.
    if (!ap_opt('disallow_op_to_answer') && $question->post_author == get_current_user_id() && !is_user_logged_in()) {
        return false;
    }
    // Bail out if question is closed
    if ($question->post_type == 'closed') {
        return false;
    }
    // Check if user already answered and if multiple answer disabled then down't allow them to answer.
    if (current_user_can('ap_new_answer')) {
        if (!ap_opt('multiple_answers') && ap_is_user_answered($question_id, get_current_user_id())) {
            return false;
        } else {
            return true;
        }
    }
    if (ap_allow_anonymous() && !is_user_logged_in()) {
        return true;
    }
    return false;
}