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 '
  1. '.$text.'
  2. '; } 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 '
  1. '.$text.'
  2. '; } echo '
'; } } $lang = &JFactory::getLanguage(); if ($this->params->get('language_files', 1)) { echo '

'.JText::_( 'Language Files Loaded' ).'

'; 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('', $debug.'', $body); JResponse::setBody($body); } }