function doctype() { if (isset($_REQUEST['ajax_req'])) { if ($_REQUEST['action'] == 'activitylist') { $this->output($this->activitylist()); } if ($_REQUEST['action'] == 'messagelist') { $this->output($this->messagelist()); } qa_db_disconnect(); return null; } }
/** * Outputs cache to the user */ private function get_cache() { qa_report_process_stage('init_page'); qa_db_connect('qa_page_db_fail_handler'); qa_page_queue_pending(); qa_load_state(); qa_check_login_modules(); if (QA_DEBUG_PERFORMANCE) { if (qa_qa_version_below('1.7')) { qa_usage_mark('setup'); } else { //global $qa_usage; //$qa_usage->mark('setup'); null; } } qa_check_page_clicks(); qa_set_form_security_key(); if (!QA_CACHING_FILE) { $contents = $this->get_cache_db(); } else { $contents = $this->get_cache_file(); } $qa_content = array(); // Dummy contents $userid = qa_get_logged_in_userid(); $questionid = qa_request_part(0); $cookieid = qa_cookie_get(true); if (is_numeric($questionid)) { $question = qa_db_select_with_pending(qa_db_full_post_selectspec($userid, $questionid)); if (is_numeric($questionid) && qa_opt('do_count_q_views') && !preg_match("/^(?:POST|PUT)\$/i", $_SERVER["REQUEST_METHOD"]) && !qa_is_http_post() && qa_is_human_probably() && (!$question['views'] || ($question['lastviewip'] != qa_remote_ip_address() || !isset($question['lastviewip'])) && ($question['createip'] != qa_remote_ip_address() || !isset($question['createip'])) && ($question['userid'] != $userid || !isset($question['userid'])) && ($question['cookieid'] != $cookieid || !isset($question['cookieid'])))) { $qa_content['inc_views_postid'] = $questionid; } else { $qa_content['inc_views_postid'] = null; } qa_do_content_stats($qa_content); } if (QA_DEBUG_PERFORMANCE) { ob_start(); if (qa_qa_version_below('1.7')) { qa_usage_output(); } else { global $qa_usage; $qa_usage->output(); } $contents .= ob_get_contents(); ob_end_clean(); } qa_db_disconnect(); header('Content-type: ' . strtr('^type/^format; charset=utf-8', array('^type' => 'text', '^format' => $this->get_cache_file_extension()))); exit($contents); }
$urlxml = qa_xml(qa_q_path($question['postid'], $question['title'], true, @$question['obasetype'], @$question['opostid'])); } if (isset($blockwordspreg)) { $question['title'] = qa_block_words_replace($question['title'], $blockwordspreg); } // Build the inner XML structure for each item $lines[] = '<item>'; $lines[] = '<title>' . qa_xml($titleprefix . $question['title']) . '</title>'; $lines[] = '<link>' . $urlxml . '</link>'; if (isset($htmlcontent)) { $lines[] = '<description>' . qa_xml($htmlcontent) . '</description>'; } if (isset($question['categoryname'])) { $lines[] = '<category>' . qa_xml($question['categoryname']) . '</category>'; } $lines[] = '<guid isPermaLink="true">' . $urlxml . '</guid>'; if (isset($time)) { $lines[] = '<pubDate>' . qa_xml(gmdate('r', $time)) . '</pubDate>'; } $lines[] = '</item>'; } $lines[] = '</channel>'; $lines[] = '</rss>'; // Disconnect here, once all output is ready to go qa_db_disconnect(); // Output the XML - and we're done! header('Content-type: text/xml; charset=utf-8'); echo implode("\n", $lines); /* Omit PHP closing tag to help avoid accidental output */
/** * Outputs cache to the user */ private function get_cache() { global $qa_usage; qa_db_connect('qa_page_db_fail_handler'); qa_page_queue_pending(); qa_load_state(); qa_check_login_modules(); qa_check_page_clicks(); $contents = @file_get_contents($this->cache_file); if (!$contents) { return; } //cache failure, graceful exit $qa_content = array(); // Dummy contents $userid = qa_get_logged_in_userid(); $questionid = qa_request_part(0); $cookieid = qa_cookie_get(true); if (is_numeric($questionid)) { $question = qa_db_select_with_pending(qa_db_full_post_selectspec($userid, $questionid)); if (is_numeric($questionid) && qa_opt('do_count_q_views') && !$this->post_method && !qa_is_http_post() && qa_is_human_probably() && (!$question['views'] || ($question['lastviewip'] != qa_remote_ip_address() || !isset($question['lastviewip'])) && ($question['createip'] != qa_remote_ip_address() || !isset($question['createip'])) && ($question['userid'] != $userid || !isset($question['userid'])) && ($question['cookieid'] != $cookieid || !isset($question['cookieid'])))) { $qa_content['inc_views_postid'] = $questionid; } else { $qa_content['inc_views_postid'] = null; } qa_do_content_stats($qa_content); } if (QA_DEBUG_PERFORMANCE) { ob_start(); $qa_usage->output(); $contents .= ob_get_contents(); ob_end_clean(); } qa_db_disconnect(); exit($contents); }
function qa_base_db_disconnect() { qa_db_disconnect(); }