skeleton/debug.php
1.5 KB, 42 lines
<?php
// plugins register themselves and define functions
// the $fbx['debug_buffer'] is used directly by the runtime, since this file is a plugin and not necessarily present.
if (!$GLOBALS['fbx']['production']) fbx_plugin_register('prehtml', 'debug_output');
function debug($message, $filename, $line)
{
if (!$GLOBALS['fbx']['production']) $GLOBALS['fbx']['user_debug_buffer'][] = array('message' => $message, 'filename' => $filename, 'line' => $line);
}
function debug_output($item_name)
{
global $fbx, $content;
if (count($fbx['debug_buffer']))
{
$output = array();
$filename_len = 0;
for ($i=0; $i<count($fbx['debug_buffer']); $i++) $filename_len = max(strlen(basename($fbx['debug_buffer'][$i]['filename'])), $filename_len);
foreach ($fbx['debug_buffer'] as $item)
{
$output[] = str_pad(basename($item['filename']) . ':' . $item['line'] .' ', $filename_len + 6, ' ', STR_PAD_RIGHT) . $item['message'];
}
$content['debugpanes']['internal'] = str_replace(' ', ' ', join("<br>", $output));
}
if (count($fbx['user_debug_buffer']))
{
$output = array();
$filename_len = 0;
for ($i=0; $i<count($fbx['user_debug_buffer']); $i++) $filename_len = max(strlen(basename($fbx['user_debug_buffer'][$i]['filename'])), $filename_len);
foreach ($fbx['user_debug_buffer'] as $item)
{
$output[] = str_pad(basename($item['filename']) . ':' . $item['line'] .': ', $filename_len + 6, ' ', STR_PAD_RIGHT) . $item['message'];
}
$content['debugpanes']['user'] = str_replace(' ', ' ', join("<br>", $output));
}
}