本文整理汇总了PHP中vBulletinHook::fetch_hookusage方法的典型用法代码示例。如果您正苦于以下问题:PHP vBulletinHook::fetch_hookusage方法的具体用法?PHP vBulletinHook::fetch_hookusage怎么用?PHP vBulletinHook::fetch_hookusage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vBulletinHook
的用法示例。
在下文中一共展示了vBulletinHook::fetch_hookusage方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: print_output
/**
* Finishes off the current page (using templates), prints it out to the browser and halts execution
*
* @param string The HTML of the page to be printed
* @param boolean Send the content length header?
*/
function print_output($vartext, $sendheader = true)
{
global $querytime, $vbulletin, $show, $vbphrase;
if ($vbulletin->options['addtemplatename'])
{
if ($doctypepos = @strpos($vartext, vB_Template_Runtime::fetchStyleVar('htmldoctype')))
{
$comment = substr($vartext, 0, $doctypepos);
$vartext = substr($vartext, $doctypepos + strlen(vB_Template_Runtime::fetchStyleVar('htmldoctype')));
$vartext = vB_Template_Runtime::fetchStyleVar('htmldoctype') . "\n" . $comment . $vartext;
}
}
if (!empty($vbulletin->db->explain) OR $vbulletin->debug)
{
$totaltime = microtime(true) - TIMESTART;
$vartext .= "<!-- Page generated in " . vb_number_format($totaltime, 5) . " seconds with " . $vbulletin->db->querycount . " queries -->";
}
// set cookies for displayed notices
if ($show['notices'] AND !defined('NOPMPOPUP') AND !empty($vbulletin->np_notices_displayed) AND is_array($vbulletin->np_notices_displayed))
{
$np_notices_cookie = $_COOKIE[COOKIE_PREFIX . 'np_notices_displayed'];
vbsetcookie('np_notices_displayed',
($np_notices_cookie ? "$np_notices_cookie," : '') . implode(',', $vbulletin->np_notices_displayed),
false
);
}
// debug code
global $DEVDEBUG, $vbcollapse;
if ($vbulletin->debug)
{
devdebug('php_sapi_name(): ' . SAPI_NAME);
$messages = '';
if (is_array($DEVDEBUG))
{
foreach($DEVDEBUG AS $debugmessage)
{
$messages .= "\t<option>" . htmlspecialchars_uni($debugmessage) . "</option>\n";
}
}
if (!empty(vB_Template::$template_usage))
{
$tempusagecache = vB_Template::$template_usage;
$_TEMPLATEQUERIES = vB_Template::$template_queries;
unset($tempusagecache['board_inactive_warning'], $_TEMPLATEQUERIES['board_inactive_warning']);
ksort($tempusagecache);
foreach ($tempusagecache AS $template_name => $times)
{
$tempusagecache["$template_name"] =
"<span class=\"shade\" style=\"float:right\">($times)</span>" .
((isset($_TEMPLATEQUERIES["$template_name"]) AND $_TEMPLATEQUERIES["$template_name"]) ?
"<span style=\"color:red; font-weight:bold\">$template_name</span>" : $template_name);
}
}
else
{
$tempusagecache = array();
}
$hook_usage = '';
$hook_total = 0;
foreach (vBulletinHook::fetch_hookusage() AS $hook_name => $has_code)
{
$hook_usage .= '<li class="smallfont' . (!$has_code ? ' shade' : '') . '">' . $hook_name . '</li>';
$hook_total++;
}
if (!$hook_usage)
{
$hook_usage = '<li class="smallfont"> </li>';
}
$phrase_groups = '';
sort($GLOBALS['phrasegroups']);
foreach ($GLOBALS['phrasegroups'] AS $phrase_group)
{
$phrase_groups .= '<li class="smallfont">' . $phrase_group . '</li>';
}
if (!$phrase_groups)
{
$phrase_groups = '<li class="smallfont"> </li>';
}
$vbcollapse['collapseimg_debuginfo'] = (!empty($vbcollapse['collapseimg_debuginfo']) ? $vbcollapse['collapseimg_debuginfo'] : '');
$vbcollapse['collapseobj_debuginfo'] = (!empty($vbcollapse['collapseobj_debuginfo']) ? $vbcollapse['collapseobj_debuginfo'] : '');
$debughtml = "
//.........这里部分代码省略.........
示例2: print_output
/**
* Finishes off the current page (using templates), prints it out to the browser and halts execution
*
* @param string The HTML of the page to be printed
* @param boolean Send the content length header?
*/
function print_output($vartext, $sendheader = true)
{
global $querytime, $vbulletin, $show, $vbphrase;
if ($vbulletin->options['addtemplatename']) {
if ($doctypepos = @strpos($vartext, vB_Template_Runtime::fetchStyleVar('htmldoctype'))) {
$comment = substr($vartext, 0, $doctypepos);
$vartext = substr($vartext, $doctypepos + strlen(vB_Template_Runtime::fetchStyleVar('htmldoctype')));
$vartext = vB_Template_Runtime::fetchStyleVar('htmldoctype') . "\n" . $comment . $vartext;
}
}
if (!empty($vbulletin->db->explain) or $vbulletin->debug) {
$totaltime = microtime(true) - TIMESTART;
$vartext .= "<!-- Page generated in " . vb_number_format($totaltime, 5) . " seconds with " . $vbulletin->db->querycount . " queries -->";
}
// set cookies for displayed notices
if ($show['notices'] and !defined('NOPMPOPUP') and !empty($vbulletin->np_notices_displayed) and is_array($vbulletin->np_notices_displayed)) {
$np_notices_cookie = $_COOKIE[COOKIE_PREFIX . 'np_notices_displayed'];
vbsetcookie('np_notices_displayed', ($np_notices_cookie ? "{$np_notices_cookie}," : '') . implode(',', $vbulletin->np_notices_displayed), false);
}
// --- / TODO remove this code for vB4 gold------------------------------
// debug code
global $DEVDEBUG, $vbcollapse;
if ($vbulletin->debug) {
devdebug('php_sapi_name(): ' . SAPI_NAME);
$messages = '';
if (is_array($DEVDEBUG)) {
foreach ($DEVDEBUG as $debugmessage) {
$messages .= "\t<option>" . htmlspecialchars_uni($debugmessage) . "</option>\n";
}
}
if (!empty(vB_Template::$template_usage)) {
$tempusagecache = vB_Template::$template_usage;
$_TEMPLATEQUERIES = vB_Template::$template_queries;
unset($tempusagecache['board_inactive_warning'], $_TEMPLATEQUERIES['board_inactive_warning']);
ksort($tempusagecache);
foreach ($tempusagecache as $template_name => $times) {
$tempusagecache["{$template_name}"] = "<span class=\"shade\" style=\"float:right\">({$times})</span>" . ((isset($_TEMPLATEQUERIES["{$template_name}"]) and $_TEMPLATEQUERIES["{$template_name}"]) ? "<span style=\"color:red; font-weight:bold\">{$template_name}</span>" : $template_name);
}
} else {
$tempusagecache = array();
}
$hook_usage = '';
$hook_total = 0;
foreach (vBulletinHook::fetch_hookusage() as $hook_name => $has_code) {
$hook_usage .= '<li class="smallfont' . (!$has_code ? ' shade' : '') . '">' . $hook_name . '</li>';
$hook_total++;
}
if (!$hook_usage) {
$hook_usage = '<li class="smallfont"> </li>';
}
$phrase_groups = '';
sort($GLOBALS['phrasegroups']);
foreach ($GLOBALS['phrasegroups'] as $phrase_group) {
$phrase_groups .= '<li class="smallfont">' . $phrase_group . '</li>';
}
if (!$phrase_groups) {
$phrase_groups = '<li class="smallfont"> </li>';
}
$vbcollapse['collapseimg_debuginfo'] = !empty($vbcollapse['collapseimg_debuginfo']) ? $vbcollapse['collapseimg_debuginfo'] : '';
$vbcollapse['collapseobj_debuginfo'] = !empty($vbcollapse['collapseobj_debuginfo']) ? $vbcollapse['collapseobj_debuginfo'] : '';
// TODO: This needs to be converted to vb4 style - $stylevar doesn't exist, use vB_Template_Runtime::fetchStyleVar('textdirection')
$debughtml = "\r\n\t\t\t<table class=\"tborder\" cellpadding=\"6\" cellspacing=\"1\" border=\"0\" align=\"center\" style=\"margin-top:20px\" id=\"debuginfo\" dir=\"ltr\">\r\n\t\t\t<thead>\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<th class=\"tcat\" colspan=\"2\" align=\"left\">\r\n\t\t\t\t\t\t<a style=\"float:right\" href=\"#\" title=\"Close Debug Info\" onclick=\"document.getElementById('debuginfo').parentNode.removeChild(document.getElementById('debuginfo')); return false;\">X</a>\r\n\t\t\t\t\t\tvBulletin {$vbulletin->options['templateversion']} Debug Information\r\n\t\t\t\t\t</th>\r\n\t\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td class=\"alt1 smallfont\" colspan=\"2\">\r\n\t\t\t\t\t\t<ul style=\"list-style:none; margin:0px; padding:0px\">\r\n\t\t\t\t\t\t\t<li class=\"smallfont\" style=\"display:inline; margin-right:8px\"><span class=\"shade\">Page Generation</span> " . vb_number_format($totaltime, 5) . " seconds</li>\r\n\t\t\t\t\t\t\t" . (function_exists('memory_get_usage') ? "<li class=\"smallfont\" style=\"display:inline; margin-right:8px\"><span class=\"shade\">Memory Usage</span> " . number_format(memory_get_usage() / 1024) . 'KB</li>' : '') . "\r\n\t\t\t\t\t\t\t<li class=\"smallfont\" style=\"display:inline; margin-right:8px\"><span class=\"shade\">Queries Executed</span> " . (empty($_TEMPLATEQUERIES) ? $vbulletin->db->querycount : "<span title=\"Uncached Templates!\" style=\"color:red; font-weight:bold\">{$vbulletin->db->querycount}</span>") . " <a href=\"" . htmlspecialchars($vbulletin->scriptpath) . (strpos($vbulletin->scriptpath, '?') === false ? '?' : '&') . "explain=1\" target=\"_blank\" title=\"Explain Queries\">(?)</a></li>\r\n\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t\t<tr align=\"left\">\r\n\t\t\t\t\t<th class=\"thead\" colspan=\"2\"><a style=\"float:right\" href=\"#\" onclick=\"return toggle_collapse('debuginfo')\"><img id=\"collapseimg_debuginfo\" src=\"" . vB_Template_Runtime::fetchStyleVar('imgdir_button') . "/collapse_thead{$vbcollapse['collapseimg_debuginfo']}.gif\" alt=\"\" border=\"0\" /></a> More Information</th>\r\n\t\t\t\t</tr>\r\n\t\t\t</thead>\r\n\t\t\t<tbody id=\"collapseobj_debuginfo\" style=\"{$vbcollapse['collapseobj_debuginfo']}\">\r\n\t\t\t\t<tr valign=\"top\">\r\n\t\t\t\t\t<td class=\"alt1 smallfont\">\r\n\t\t\t\t\t\t<div style=\"margin-bottom:6px\"><strong>Template Usage (</strong>" . sizeof($tempusagecache) . "<strong>):</strong></div>\r\n\t\t\t\t\t\t<ul style=\"list-style:none; margin:0px; padding:0px\"><li class=\"smallfont\">" . implode('</li><li class="smallfont">', $tempusagecache) . " </li></ul>\r\n\t\t\t\t\t\t<hr style=\"margin:10px 0px 10px 0px\" />\r\n\t\t\t\t\t\t<div style=\"margin-bottom:6px\"><strong>Phrase Groups Available (</strong>" . sizeof($GLOBALS['phrasegroups']) . "<strong>):</strong></div>\r\n\t\t\t\t\t\t<ul style=\"list-style:none; margin:0px; padding:0px\">{$phrase_groups}</ul>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td class=\"alt1 smallfont\">\r\n\t\t\t\t\t\t<div style=\"margin-bottom:6px\"><strong>Included Files (</strong>" . sizeof($included_files = get_included_files()) . "<strong>):</strong></div>\r\n\t\t\t\t\t\t<ul style=\"list-style:none; margin:0px; padding:0px\"><li class=\"smallfont\">" . implode('</li><li class="smallfont">', str_replace(str_replace('\\', '/', DIR) . '/', '', preg_replace('#^(.*/)#si', '<span class="shade">./\\1</span>', str_replace('\\', '/', $included_files)))) . " </li></ul>\r\n\t\t\t\t\t\t<hr style=\"margin:10px 0px 10px 0px\" />\r\n\t\t\t\t\t\t<div style=\"margin-bottom:6px\"><strong>Hooks Called (</strong>{$hook_total}<strong>):</strong></div>\r\n\t\t\t\t\t\t<ul style=\"list-style:none; margin:0px; padding:0px\">{$hook_usage}</ul>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t\t</tbody>\r\n\t\t\t\t<tbody>\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td class=\"alt2 smallfont\" colspan=\"2\"><label>Messages:<select style=\"display:block; width:100%\">{$messages}</select></label></td>\r\n\t\t\t\t</tr>\r\n\t\t\t</tbody>\r\n\t\t\t</table>\r\n\t\t";
$vartext = str_replace('</body>', "<!--start debug html-->{$debughtml}<!--end debug html-->\n</body>", $vartext);
}
// end debug code
// --- / TODO remove this code for vB4 gold------------------------------
$output = process_replacement_vars($vartext);
if ($vbulletin->debug and function_exists('memory_get_usage')) {
$output = preg_replace('#(<!--querycount-->Executed <b>\\d+</b> queries<!--/querycount-->)#siU', 'Memory Usage: <strong>' . number_format(memory_get_usage() / 1024) . 'KB</strong>, \\1', $output);
}
// parse PHP include ##################
($hook = vBulletinHook::fetch_hook('global_complete')) ? eval($hook) : false;
// make sure headers sent returns correctly
if (ob_get_level() and ob_get_length()) {
ob_end_flush();
}
if ($vbulletin->options['gzipoutput'] and !headers_sent()) {
$output = fetch_gzipped_text($output, $vbulletin->options['gziplevel']);
if ($sendheader and $vbulletin->donegzip) {
@header('Content-Length: ' . strlen($output));
}
}
// Trigger shutdown event
$vbulletin->shutdown->shutdown();
if (defined('NOSHUTDOWNFUNC')) {
exec_shut_down();
}
// show regular page
if (empty($vbulletin->db->explain)) {
echo $output;
} else {
$querytime = $vbulletin->db->time_total;
echo "\n<b>Page generated in {$totaltime} seconds with " . $vbulletin->db->querycount . " queries,\nspending {$querytime} doing MySQL queries and " . ($totaltime - $querytime) . " doing PHP things.\n\n<hr />Shutdown Queries:</b>" . (defined('NOSHUTDOWNFUNC') ? " <b>DISABLED</b>" : '') . "<hr />\n\n";
}
//.........这里部分代码省略.........