loadLanguage( );
}
/**
* Converting the site URL to fit to the HTTP request
*
*/
function onAfterRender()
{
global $_PROFILER, $mainframe, $database;
// Do not render if debugging is not enabled
if(!JDEBUG) { return; }
$document =& JFactory::getDocument();
$doctype = $document->getType();
// Only render for HTML output
if ( $doctype !== 'html' ) { return; }
$profiler =& $_PROFILER;
ob_start();
echo '
';
if ($this->params->get('profile', 1)) {
echo '
'.JText::_( 'Profile Information' ).'
';
foreach ( $profiler->getBuffer() as $mark ) {
echo '
'.$mark.'
';
}
}
if ($this->params->get('memory', 1)) {
echo '
'.JText::_( 'Memory Usage' ).'
';
echo $profiler->getMemory();
}
if ($this->params->get('queries', 1))
{
jimport('geshi.geshi');
$geshi = new GeSHi( '', 'sql' );
$geshi->set_header_type(GESHI_HEADER_DIV);
//$geshi->enable_line_numbers( GESHI_FANCY_LINE_NONE );
$newlineKeywords = '/
'
.'(FROM|LEFT|INNER|OUTER|WHERE|SET|VALUES|ORDER|GROUP|HAVING|LIMIT|ON|AND)'
.'<\\/span>/i'
;
$db =& JFactory::getDBO();
echo ''.JText::sprintf( 'Queries logged', $db->getTicker() ).'
';
if ($log = $db->getLog())
{
echo '';
foreach ($log as $k=>$sql)
{
$geshi->set_source($sql);
$text = $geshi->parse_code();
$text = preg_replace($newlineKeywords, '
\\0', $text);
echo '- '.$text.'
';
}
echo '
';
}
if(isset($database))
{
echo ''.JText::sprintf( 'Legacy Queries logged', $database->getTicker() ).'
';
echo '';
foreach ($database->getLog() as $k=>$sql)
{
$geshi->set_source($sql);
$text = $geshi->parse_code();
$text = preg_replace($newlineKeywords, '
\\0', $text);
echo '- '.$text.'
';
}
echo '
';
}
}
$lang = &JFactory::getLanguage();
if ($this->params->get('language_files', 1))
{
echo ''.JText::_( 'Language Files Loaded' ).'
';
echo '';
$extensions = $lang->getPaths();
foreach ( $extensions as $extension => $files)
{
foreach ( $files as $file => $status )
{
echo "- $file $status
";
}
}
echo '
';
}
$langStrings = $this->params->get('language_strings', -1);
if ($langStrings < 0 OR $langStrings == 1) {
echo ''.JText::_( 'Untranslated Strings Diagnostic' ).'
';
echo '';
$orphans = $lang->getOrphans();
if (count( $orphans ))
{
ksort( $orphans, SORT_STRING );
foreach ($orphans as $key => $occurance) {
foreach ( $occurance as $i => $info) {
$class = @$info['class'];
$func = @$info['function'];
$file = @$info['file'];
$line = @$info['line'];
echo strtoupper( $key )."\t$class::$func()\t[$file:$line]\n";
}
}
}
else {
echo JText::_( 'None' );
}
echo '
';
}
if ($langStrings < 0 OR $langStrings == 2) {
echo ''.JText::_( 'Untranslated Strings Designer' ).'
';
echo '';
$orphans = $lang->getOrphans();
if (count( $orphans ))
{
ksort( $orphans, SORT_STRING );
$guesses = array();
foreach ($orphans as $key => $occurance) {
if (is_array( $occurance ) AND isset( $occurance[0] )) {
$info = &$occurance[0];
$file = @$info['file'];
if (!isset( $guesses[$file] )) {
$guesses[$file] = array();
}
$guess = str_replace( '_', ' ', $info['string'] );
if ($strip = $this->params->get('language_prefix')) {
$guess = trim( preg_replace( chr(1).'^'.$strip.chr(1), '', $guess ) );
}
$guesses[$file][] = trim( strtoupper( $key ) ).'='.$guess;
}
}
foreach ($guesses as $file => $keys) {
echo "\n\n# ".($file ? $file : JText::_( 'Unknown file' ))."\n\n";
echo implode( "\n", $keys );
}
}
else {
echo JText::_( 'None' );
}
echo '
';
}
echo ' ';
$debug = ob_get_clean();
$body = JResponse::getBody();
$body = str_replace('