function qa_page_q_single_click_a($answer, $question, $answers, $commentsfollows, $allowselectmove, &$error) { $userid = qa_get_logged_in_userid(); $handle = qa_get_logged_in_handle(); $cookieid = qa_cookie_get(); $prefix = 'a' . $answer['postid'] . '_'; if (qa_page_q_clicked($prefix . 'doselect') && $question['aselectable'] && ($allowselectmove || !isset($question['selchildid']) && !qa_opt('do_close_on_select'))) { qa_question_set_selchildid($userid, $handle, $cookieid, $question, $answer['postid'], $answers); return true; } if (qa_page_q_clicked($prefix . 'dounselect') && $question['aselectable'] && $question['selchildid'] == $answer['postid'] && ($allowselectmove || !qa_opt('do_close_on_select'))) { qa_question_set_selchildid($userid, $handle, $cookieid, $question, null, $answers); return true; } if (qa_page_q_clicked($prefix . 'dohide') && $answer['hideable'] || qa_page_q_clicked($prefix . 'doreject') && $answer['moderatable']) { qa_answer_set_hidden($answer, true, $userid, $handle, $cookieid, $question, $commentsfollows); return true; } if (qa_page_q_clicked($prefix . 'doreshow') && $answer['reshowable'] || qa_page_q_clicked($prefix . 'doapprove') && $answer['moderatable']) { qa_answer_set_hidden($answer, false, $userid, $handle, $cookieid, $question, $commentsfollows); return true; } if (qa_page_q_clicked($prefix . 'dodelete') && $answer['deleteable']) { qa_answer_delete($answer, $question, $userid, $handle, $cookieid); return true; } if (qa_page_q_clicked($prefix . 'doclaim') && $answer['claimable']) { if (qa_limits_remaining($userid, QA_LIMIT_ANSWERS)) { // already checked 'permit_post_a' qa_answer_set_userid($answer, $userid, $handle, $cookieid); return true; } else { $error = qa_lang_html('question/answer_limit'); } } if (qa_page_q_clicked($prefix . 'doflag') && $answer['flagbutton']) { require_once QA_INCLUDE_DIR . 'qa-app-votes.php'; $error = qa_flag_error_html($answer, $userid, qa_request()); if (!$error) { if (qa_flag_set_tohide($answer, $userid, $handle, $cookieid, $question)) { qa_answer_set_hidden($answer, true, null, null, null, $question, $commentsfollows); } // hiding not really by this user so pass nulls return true; } } if (qa_page_q_clicked($prefix . 'dounflag') && $answer['unflaggable']) { require_once QA_INCLUDE_DIR . 'qa-app-votes.php'; qa_flag_clear($answer, $userid, $handle, $cookieid); return true; } if (qa_page_q_clicked($prefix . 'doclearflags') && $answer['clearflaggable']) { require_once QA_INCLUDE_DIR . 'qa-app-votes.php'; qa_flags_clear_all($answer, $userid, $handle, $cookieid); return true; } return false; }
function qa_page_q_single_click_a($answer, $question, $answers, $commentsfollows, $allowselectmove, &$error) { $userid = qa_get_logged_in_userid(); $handle = qa_get_logged_in_handle(); $cookieid = qa_cookie_get(); $prefix = 'a' . $answer['postid'] . '_'; if (qa_clicked($prefix . 'doselect') && $question['aselectable'] && ($allowselectmove || !isset($question['selchildid']) && !qa_opt('do_close_on_select')) && qa_page_q_click_check_form_code($answer, $error)) { qa_question_set_selchildid($userid, $handle, $cookieid, $question, $answer['postid'], $answers); return true; } if (qa_clicked($prefix . 'dounselect') && $question['aselectable'] && $question['selchildid'] == $answer['postid'] && ($allowselectmove || !qa_opt('do_close_on_select')) && qa_page_q_click_check_form_code($answer, $error)) { qa_question_set_selchildid($userid, $handle, $cookieid, $question, null, $answers); return true; } if (qa_clicked($prefix . 'dohide') && $answer['hideable'] || qa_clicked($prefix . 'doreject') && $answer['moderatable']) { if (qa_page_q_click_check_form_code($answer, $error)) { qa_answer_set_hidden($answer, true, $userid, $handle, $cookieid, $question, $commentsfollows); return true; } } if (qa_clicked($prefix . 'doreshow') && $answer['reshowable'] || qa_clicked($prefix . 'doapprove') && $answer['moderatable']) { if (qa_page_q_click_check_form_code($answer, $error)) { if ($answer['moderatable'] || $answer['reshowimmed']) { $status = QA_POST_STATUS_NORMAL; } else { $in = qa_page_q_prepare_post_for_filters($answer); $filtermodules = qa_load_modules_with('filter', 'filter_answer'); // run through filters but only for queued status foreach ($filtermodules as $filtermodule) { $tempin = $in; // always pass original answer in because we aren't modifying anything else $filtermodule->filter_answer($tempin, $temperrors, $question, $answer); $in['queued'] = $tempin['queued']; // only preserve queued status in loop } $status = $in['queued'] ? QA_POST_STATUS_QUEUED : QA_POST_STATUS_NORMAL; } qa_answer_set_status($answer, $status, $userid, $handle, $cookieid, $question, $commentsfollows); return true; } } if (qa_clicked($prefix . 'dodelete') && $answer['deleteable'] && qa_page_q_click_check_form_code($answer, $error)) { qa_answer_delete($answer, $question, $userid, $handle, $cookieid); return true; } if (qa_clicked($prefix . 'doclaim') && $answer['claimable'] && qa_page_q_click_check_form_code($answer, $error)) { if (qa_user_limits_remaining(QA_LIMIT_ANSWERS)) { // already checked 'permit_post_a' qa_answer_set_userid($answer, $userid, $handle, $cookieid); return true; } else { $error = qa_lang_html('question/answer_limit'); } } if (qa_clicked($prefix . 'doflag') && $answer['flagbutton'] && qa_page_q_click_check_form_code($answer, $error)) { require_once QA_INCLUDE_DIR . 'app/votes.php'; $error = qa_flag_error_html($answer, $userid, qa_request()); if (!$error) { if (qa_flag_set_tohide($answer, $userid, $handle, $cookieid, $question)) { qa_answer_set_hidden($answer, true, null, null, null, $question, $commentsfollows); } // hiding not really by this user so pass nulls return true; } } if (qa_clicked($prefix . 'dounflag') && $answer['unflaggable'] && qa_page_q_click_check_form_code($answer, $error)) { require_once QA_INCLUDE_DIR . 'app/votes.php'; qa_flag_clear($answer, $userid, $handle, $cookieid); return true; } if (qa_clicked($prefix . 'doclearflags') && $answer['clearflaggable'] && qa_page_q_click_check_form_code($answer, $error)) { require_once QA_INCLUDE_DIR . 'app/votes.php'; qa_flags_clear_all($answer, $userid, $handle, $cookieid); return true; } return false; }
qa_redirect($qa_request, null, null, null, qa_anchor('A', $answerid)); } if (qa_clicked('doshowa_' . $answerid) && $answer['reshowable']) { qa_answer_set_hidden($answer, false, $qa_login_userid, qa_get_logged_in_handle(), $qa_cookieid, $question, $commentsfollows); qa_report_write_action($qa_login_userid, $qa_cookieid, 'a_reshow', $questionid, $answerid, null); qa_redirect($qa_request, null, null, null, qa_anchor('A', $answerid)); } if (qa_clicked('dodeletea_' . $answerid) && $answer['deleteable']) { qa_answer_delete($answer, $question, $qa_login_userid, qa_get_logged_in_handle(), $qa_cookieid); qa_report_write_action($qa_login_userid, $qa_cookieid, 'a_delete', $questionid, $answerid, null); qa_redirect($qa_request); } if (qa_clicked('doclaima_' . $answerid) && $answer['claimable']) { if (qa_limits_remaining($qa_login_userid, 'A')) { // already checked 'permit_post_a' qa_answer_set_userid($answer, $qa_login_userid, qa_get_logged_in_handle(), $qa_cookieid); qa_report_write_action($qa_login_userid, $qa_cookieid, 'a_claim', $questionid, $answerid, null); qa_redirect($qa_request, null, null, null, qa_anchor('A', $answerid)); } else { $pageerror = qa_lang_html('question/answer_limit'); } } if (qa_clicked('doflaga_' . $answerid) && $answer['flagbutton']) { require_once QA_INCLUDE_DIR . 'qa-app-votes.php'; $pageerror = qa_flag_error_html($answer, $qa_login_userid, $qa_request); if (!$pageerror) { if (qa_flag_set_tohide($answer, $qa_login_userid, qa_get_logged_in_handle(), $qa_cookieid, $question)) { qa_answer_set_hidden($answer, true, null, null, null, $question, $commentsfollows); } // hiding not really by this user so pass nulls qa_redirect($qa_request, null, null, null, qa_anchor('A', $answerid));