本文整理汇总了PHP中qa_page_q_post_rules函数的典型用法代码示例。如果您正苦于以下问题:PHP qa_page_q_post_rules函数的具体用法?PHP qa_page_q_post_rules怎么用?PHP qa_page_q_post_rules使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了qa_page_q_post_rules函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: qa_post_text
$parentid = qa_post_text('parentid');
$userid = qa_get_logged_in_userid();
list($comment, $question, $parent, $children) = qa_db_select_with_pending(qa_db_full_post_selectspec($userid, $commentid), qa_db_full_post_selectspec($userid, $questionid), qa_db_full_post_selectspec($userid, $parentid), qa_db_full_child_posts_selectspec($userid, $parentid));
// Check if there was an operation that succeeded
if (@$comment['basetype'] == 'C' && @$question['basetype'] == 'Q' && (@$parent['basetype'] == 'Q' || @$parent['basetype'] == 'A')) {
$comment = $comment + qa_page_q_post_rules($comment, $parent, $children, null);
// array union
if (qa_page_q_single_click_c($comment, $question, $parent, $error)) {
$comment = qa_db_select_with_pending(qa_db_full_post_selectspec($userid, $commentid));
// If so, page content to be updated via Ajax
echo "QA_AJAX_RESPONSE\n1";
// If the comment was not deleted...
if (isset($comment)) {
$parent = $parent + qa_page_q_post_rules($parent, $questionid == $parentid ? null : $question, null, $children);
// in theory we should retrieve the parent's siblings for the above, but they're not going to be relevant
$comment = $comment + qa_page_q_post_rules($comment, $parent, $children, null);
$usershtml = qa_userids_handles_html(array($comment), true);
$c_view = qa_page_q_comment_view($question, $parent, $comment, $usershtml, false);
$themeclass = qa_load_theme_class(qa_get_site_theme(), 'ajax-comment', null, null);
// ... send back the HTML for it
echo "\n";
$themeclass->c_list_item($c_view);
}
return;
}
}
echo "QA_AJAX_RESPONSE\n0\n";
// fall back to non-Ajax submission if something failed
/*
Omit PHP closing tag to help avoid accidental output
*/
示例2: qa_lang_html
// If so, page content to be updated via Ajax
echo "QA_AJAX_RESPONSE\n1\n";
// Send back new count of answers
$countanswers = $question['acount'];
if ($countanswers == 1) {
echo qa_lang_html('question/1_answer_title');
} else {
echo qa_lang_html_sub('question/x_answers_title', $countanswers);
}
// If the answer was not deleted....
if (isset($answer)) {
$question = $question + qa_page_q_post_rules($question, null, null, $qchildposts);
// array union
$answer = $answer + qa_page_q_post_rules($answer, $question, $qchildposts, $achildposts);
foreach ($achildposts as $key => $achildpost) {
$achildposts[$key] = $achildpost + qa_page_q_post_rules($achildpost, $answer, $achildposts, null);
}
$usershtml = qa_userids_handles_html(array_merge(array($answer), $achildposts), true);
$a_view = qa_page_q_answer_view($question, $answer, $answer['postid'] == $question['selchildid'] && $answer['type'] == 'A', $usershtml, false);
$a_view['c_list'] = qa_page_q_comment_follow_list($question, $answer, $achildposts, false, $usershtml, false, null);
$themeclass = qa_load_theme_class(qa_get_site_theme(), 'ajax-answer', null, null);
// ... send back the HTML for it
echo "\n";
$themeclass->a_list_item($a_view);
}
return;
}
}
echo "QA_AJAX_RESPONSE\n0\n";
// fall back to non-Ajax submission if something failed
/*
示例3: qa_user_use_captcha
// Load relevant information about this question and check it exists
$usecaptcha = qa_user_use_captcha();
$questionid = qa_post_text('a_questionid');
$userid = qa_get_logged_in_userid();
list($question, $childposts) = qa_db_select_with_pending(qa_db_full_post_selectspec($userid, $questionid), qa_db_full_child_posts_selectspec($userid, $questionid));
if (@$question['basetype'] == 'Q' && !isset($question['closedbyid'])) {
$answers = qa_page_q_load_as($question, $childposts);
// Try to create the new answer
$answerid = qa_page_q_add_a_submit($question, $answers, $usecaptcha, $in, $errors);
$countanswers = $question['acount'] + 1;
if (isset($answerid)) {
// If successful, page content will be updated via Ajax
$answer = qa_db_select_with_pending(qa_db_full_post_selectspec($userid, $answerid));
$question = $question + qa_page_q_post_rules($question, null, null, $childposts);
// array union
$answer = $answer + qa_page_q_post_rules($answer, $question, $answers, null);
$usershtml = qa_userids_handles_html(array($answer), true);
$a_view = qa_page_q_answer_view($question, $answer, false, $usershtml, false);
$themeclass = qa_load_theme_class(qa_get_site_theme(), 'ajax-answer', null, null);
echo "QA_AJAX_RESPONSE\n1\n";
// Send back whether the 'answer' button should still be visible
echo (int) qa_opt('allow_multi_answers') . "\n";
// Send back the count of answers
if ($countanswers == 1) {
echo qa_lang_html('question/1_answer_title') . "\n";
} else {
echo qa_lang_html_sub('question/x_answers_title', $countanswers) . "\n";
}
// Send back the HTML
$themeclass->a_list_item($a_view);
return;
示例4: qa_page_q_load_as
$question['extra'] = $extravalue;
$answers = qa_page_q_load_as($question, $childposts);
$commentsfollows = qa_page_q_load_c_follows($question, $childposts, $achildposts);
$question = $question + qa_page_q_post_rules($question, null, null, $childposts);
// array union
if ($question['selchildid'] && @$answers[$question['selchildid']]['type'] != 'A') {
$question['selchildid'] = null;
}
// if selected answer is hidden or somehow not there, consider it not selected
foreach ($answers as $key => $answer) {
$answers[$key] = $answer + qa_page_q_post_rules($answer, $question, $answers, $achildposts);
$answers[$key]['isselected'] = $answer['postid'] == $question['selchildid'];
}
foreach ($commentsfollows as $key => $commentfollow) {
$parent = $commentfollow['parentid'] == $questionid ? $question : @$answers[$commentfollow['parentid']];
$commentsfollows[$key] = $commentfollow + qa_page_q_post_rules($commentfollow, $parent, $commentsfollows, null);
}
}
// Deal with question not found or not viewable, otherwise report the view event
if (!isset($question)) {
return include QA_INCLUDE_DIR . 'qa-page-not-found.php';
}
if (!$question['viewable']) {
$qa_content = qa_content_prepare();
if ($question['queued']) {
$qa_content['error'] = qa_lang_html('question/q_waiting_approval');
} elseif ($question['flagcount'] && !isset($question['lastuserid'])) {
$qa_content['error'] = qa_lang_html('question/q_hidden_flagged');
} elseif ($question['authorlast']) {
$qa_content['error'] = qa_lang_html('question/q_hidden_author');
} else {
示例5: do_select
function do_select($data, $question)
{
$questionid = (int) @$data['action_data']['question_id'];
$answerid = (int) @$data['action_id'];
if ($questionid === null) {
return false;
}
$userid = qa_get_logged_in_userid();
require_once QA_INCLUDE_DIR . 'qa-app-posts.php';
require_once QA_INCLUDE_DIR . 'qa-page-question-view.php';
$qchildposts = qa_db_select_with_pending(qa_db_full_child_posts_selectspec($userid, $questionid));
$question = $question + qa_page_q_post_rules($question, null, null, $qchildposts);
// array union
if (isset($data['action_data']['select']) && $question['aselectable'] && (!isset($answerid) || !isset($question['selchildid']) && !qa_opt('do_close_on_select'))) {
// allowed to select
qa_post_set_selchildid($questionid, $answerid, $userid);
return true;
} else {
if (!isset($data['action_data']['select']) && $question['aselectable'] && isset($answerid) && (int) $question['selchildid'] == $answerid) {
// allowed to unselect
qa_post_set_selchildid($questionid, null, $userid);
return true;
}
}
return false;
}
示例6: qa_user_use_captcha
require_once QA_INCLUDE_DIR . 'app/format.php';
require_once QA_INCLUDE_DIR . 'app/post-create.php';
require_once QA_INCLUDE_DIR . 'app/cookies.php';
require_once QA_INCLUDE_DIR . 'pages/question-view.php';
require_once QA_INCLUDE_DIR . 'pages/question-submit.php';
require_once QA_INCLUDE_DIR . 'util/sort.php';
// Try to create the new comment
$usecaptcha = qa_user_use_captcha(qa_user_level_for_post($question));
$commentid = qa_page_q_add_c_submit($question, $parent, $children, $usecaptcha, $in, $errors);
// If successful, page content will be updated via Ajax
if (isset($commentid)) {
$children = qa_db_select_with_pending(qa_db_full_child_posts_selectspec($userid, $parentid));
$parent = $parent + qa_page_q_post_rules($parent, $questionid == $parentid ? null : $question, null, $children);
// in theory we should retrieve the parent's siblings for the above, but they're not going to be relevant
foreach ($children as $key => $child) {
$children[$key] = $child + qa_page_q_post_rules($child, $parent, $children, null);
}
$usershtml = qa_userids_handles_html($children, true);
qa_sort_by($children, 'created');
$c_list = qa_page_q_comment_follow_list($question, $parent, $children, true, $usershtml, false, null);
$themeclass = qa_load_theme_class(qa_get_site_theme(), 'ajax-comments', null, null);
echo "QA_AJAX_RESPONSE\n1\n";
// Send back the ID of the new comment
echo qa_anchor('C', $commentid) . "\n";
// Send back the HTML
$themeclass->c_list_items($c_list['cs']);
return;
}
}
echo "QA_AJAX_RESPONSE\n0\n";
// fall back to non-Ajax submission if there were any problems
示例7: qa_page_q_load_q
function qa_page_q_load_q()
{
global $qa_login_userid, $questionid, $question, $parentquestion, $answers, $commentsfollows, $relatedcount, $relatedquestions, $question, $categories;
list($question, $childposts, $achildposts, $parentquestion, $relatedquestions, $categories) = qa_db_select_with_pending(qa_db_full_post_selectspec($qa_login_userid, $questionid), qa_db_full_child_posts_selectspec($qa_login_userid, $questionid), qa_db_full_a_child_posts_selectspec($qa_login_userid, $questionid), qa_db_post_parent_q_selectspec($questionid), qa_db_related_qs_selectspec($qa_login_userid, $questionid), qa_db_category_nav_selectspec($questionid, true, true));
if ($question['basetype'] != 'Q') {
// don't allow direct viewing of other types of post
$question = null;
}
$answers = array();
$commentsfollows = array();
foreach ($childposts as $postid => $post) {
switch ($post['type']) {
case 'Q':
// never show follow-on Qs which have been hidden, even to admins
// never show follow-on Qs which have been hidden, even to admins
case 'C':
case 'C_HIDDEN':
$commentsfollows[$postid] = $post;
break;
case 'A':
case 'A_HIDDEN':
$answers[$postid] = $post;
break;
}
}
foreach ($achildposts as $postid => $post) {
switch ($post['type']) {
case 'Q':
case 'Q_HIDDEN':
case 'C':
case 'C_HIDDEN':
$commentsfollows[$postid] = $post;
break;
}
}
if (isset($question)) {
$relatedcount = qa_opt('do_related_qs') ? 1 + qa_opt('page_size_related_qs') : 0;
$relatedquestions = array_slice($relatedquestions, 0, $relatedcount);
// includes question itself at this point
qa_page_q_post_rules($question);
if ($question['selchildid'] && @$answers[$question['selchildid']]['type'] != 'A') {
$question['selchildid'] = null;
}
// if selected answer is hidden or somehow not there, consider it not selected
foreach ($answers as $key => $answer) {
$question['deleteable'] = false;
qa_page_q_post_rules($answers[$key]);
if ($answers[$key]['isbyuser'] && !qa_opt('allow_multi_answers')) {
$question['answerbutton'] = false;
}
$answers[$key]['isselected'] = $answer['postid'] == $question['selchildid'];
}
foreach ($commentsfollows as $key => $commentfollow) {
if ($commentfollow['parentid'] == $questionid) {
$question['deleteable'] = false;
}
if (isset($answers[$commentfollow['parentid']])) {
$answers[$commentfollow['parentid']]['deleteable'] = false;
}
qa_page_q_post_rules($commentsfollows[$key]);
}
}
}
示例8: qa_lang_html
echo "QA_AJAX_RESPONSE\n1\n";
// Send back new count of answers
$countanswers = $question['acount'];
if ($countanswers == 1) {
echo qa_lang_html('question/1_answer_title');
} else {
echo qa_lang_html_sub('question/x_answers_title', $countanswers);
}
// If the answer was not deleted....
if (isset($answer)) {
$question = $question + qa_page_q_post_rules($question, null, null, $qchildposts);
// array union
$answer = $answer + qa_page_q_post_rules($answer, $question, $qchildposts, $achildposts);
$commentsfollows = qa_page_q_load_c_follows($question, $qchildposts, $achildposts);
foreach ($commentsfollows as $key => $commentfollow) {
$commentsfollows[$key] = $commentfollow + qa_page_q_post_rules($commentfollow, $answer, $commentsfollows, null);
}
$usershtml = qa_userids_handles_html(array_merge(array($answer), $commentsfollows), true);
$a_view = qa_page_q_answer_view($question, $answer, $answer['postid'] == $question['selchildid'] && $answer['type'] == 'A', $usershtml, false);
$a_view['c_list'] = qa_page_q_comment_follow_list($question, $answer, $commentsfollows, false, $usershtml, false, null);
$themeclass = qa_load_theme_class(qa_get_site_theme(), 'ajax-answer', null, null);
$themeclass->initialize();
// ... send back the HTML for it
echo "\n";
$themeclass->a_list_item($a_view);
}
return;
}
}
echo "QA_AJAX_RESPONSE\n0\n";
// fall back to non-Ajax submission if something failed