class krumo

Same name in other branches
  1. 7.x-1.x krumo/class.krumo.php \krumo

Krumo API

This class stores the Krumo API for rendering and displaying the structured information it is reporting

@package Krumo

Hierarchy

Expanded class hierarchy of krumo

3 string references to 'krumo'
has_krumo in ./devel.module
krumo::dump in krumo/class.krumo.php
* Dump information about a variable * *
krumo::_marker in krumo/class.krumo.php
* Return the marked used to stain arrays * and objects in order to detect recursions * *

File

krumo/class.krumo.php, line 60

View source
class krumo {
    
    /**
     * Return Krumo version
     *
     * @return string
     * @access public
     * @static
     */
    static function version() {
        return '0.2a';
    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Prints a debug backtrace
     *
     * @access public
     * @static
     */
    static function backtrace() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        return krumo::dump(debug_backtrace());
    }
    
    /**
     * Prints a list of all currently declared classes.
     *
     * @access public
     * @static
     */
    static function classes() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all currently declared classes.
</div>
		<?php

        return krumo::dump(get_declared_classes());
    }
    
    /**
     * Prints a list of all currently declared interfaces (PHP5 only).
     *
     * @access public
     * @static
     */
    static function interfaces() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all currently declared interfaces.
</div>
		<?php

        return krumo::dump(get_declared_interfaces());
    }
    
    /**
     * Prints a list of all currently included (or required) files.
     *
     * @access public
     * @static
     */
    static function includes() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all currently included (or required) files.
</div>
		<?php

        return krumo::dump(get_included_files());
    }
    
    /**
     * Prints a list of all currently declared functions.
     *
     * @access public
     * @static
     */
    static function functions() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all currently declared functions.
</div>
		<?php

        return krumo::dump(get_defined_functions());
    }
    
    /**
     * Prints a list of all currently declared constants.
     *
     * @access public
     * @static
     */
    static function defines() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all currently declared constants (defines).
</div>
		<?php

        return krumo::dump(get_defined_constants());
    }
    
    /**
     * Prints a list of all currently loaded PHP extensions.
     *
     * @access public
     * @static
     */
    static function extensions() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all currently loaded PHP extensions.
</div>
		<?php

        return krumo::dump(get_loaded_extensions());
    }
    
    /**
     * Prints a list of all HTTP request headers.
     *
     * @access public
     * @static
     */
    static function headers() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all HTTP request headers.
</div>
		<?php

        return krumo::dump(getAllHeaders());
    }
    
    /**
     * Prints a list of the configuration settings read from <i>php.ini</i>
     *
     * @access public
     * @static
     */
    static function phpini() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of the configuration settings read from <code><b><?php

        echo get_cfg_var('cfg_file_path');
        ?></b></code>.
</div>
		<?php

        return krumo::dump(parse_ini_file(get_cfg_var('cfg_file_path'), true));
    }
    
    /**
     * Prints a list of all your configuration settings.
     *
     * @access public
     * @static
     */
    static function conf() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all your configuration settings.
</div>
		<?php

        return krumo::dump(ini_get_all());
    }
    
    /**
     * Prints a list of the specified directories under your <i>include_path</i> option.
     *
     * @access public
     * @static
     */
    static function path() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of the specified directories under your <code><b>include_path</b></code> option.
</div>
		<?php

        return krumo::dump(explode(PATH_SEPARATOR, ini_get('include_path')));
    }
    
    /**
     * Prints a list of all the values from the <i>$_REQUEST</i> array.
     *
     * @access public
     * @static
     */
    static function request() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all the values from the <code><b>$_REQUEST</b></code> array.
</div>
		<?php

        return krumo::dump($_REQUEST);
    }
    
    /**
     * Prints a list of all the values from the <i>$_GET</i> array.
     *
     * @access public
     * @static
     */
    static function get() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all the values from the <code><b>$_GET</b></code> array.
</div>
		<?php

        return krumo::dump($_GET);
    }
    
    /**
     * Prints a list of all the values from the <i>$_POST</i> array.
     *
     * @access public
     * @static
     */
    static function post() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all the values from the <code><b>$_POST</b></code> array.
</div>
		<?php

        return krumo::dump($_POST);
    }
    
    /**
     * Prints a list of all the values from the <i>$_SERVER</i> array.
     *
     * @access public
     * @static
     */
    static function server() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all the values from the <code><b>$_SERVER</b></code> array.
</div>
		<?php

        return krumo::dump($_SERVER);
    }
    
    /**
     * Prints a list of all the values from the <i>$_COOKIE</i> array.
     *
     * @access public
     * @static
     */
    static function cookie() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all the values from the <code><b>$_COOKIE</b></code> array.
</div>
		<?php

        return krumo::dump($_COOKIE);
    }
    
    /**
     * Prints a list of all the values from the <i>$_ENV</i> array.
     *
     * @access public
     * @static
     */
    static function env() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all the values from the <code><b>$_ENV</b></code> array.
</div>
		<?php

        return krumo::dump($_ENV);
    }
    
    /**
     * Prints a list of all the values from the <i>$_SESSION</i> array.
     *
     * @access public
     * @static
     */
    static function session() {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all the values from the <code><b>$_SESSION</b></code> array.
</div>
		<?php

        return krumo::dump($_SESSION);
    }
    
    /**
     * Prints a list of all the values from an INI file.
     *
     * @param string $ini_file
     *
     * @access public
     * @static
     */
    static function ini($ini_file) {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // read it
        //
        if (!($_ = @parse_ini_file($ini_file, 1))) {
            return false;
        }
        // render it
        //
        ?>
<div class="krumo-title">
This is a list of all the values from the <code><b><?php

        echo realpath($ini_file) ? realpath($ini_file) : $ini_file;
        ?></b></code> INI file.
</div>
		<?php

        return krumo::dump($_);
    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Dump information about a variable
     *
     * @param mixed $data,...
     * @access public
     * @static
     */
    static function dump($data) {
        // disabled ?
        //
        if (!krumo::_debug()) {
            return false;
        }
        // more arguments ?
        //
        if (func_num_args() > 1) {
            $_ = func_get_args();
            foreach ($_ as $d) {
                krumo::dump($d);
            }
            return;
        }
        // the css ?
        //
        krumo::_css();
        // find caller
        // DEVEL: we added array_reverse() so the proper file+line number is found.
        $_ = array_reverse(debug_backtrace());
        while ($d = array_pop($_)) {
            // DEVEL: changed if() condition below
            if (strpos(@$d['file'], 'devel') === FALSE && strpos(@$d['file'], 'krumo') === FALSE && @$d['class'] != 'krumo') {
                break;
            }
        }
        // the content
        //
        ?>
<div class="krumo-root" dir="ltr">
	<ul class="krumo-node krumo-first">
		<?php

        echo krumo::_dump($data);
        ?>
		<li class="krumo-footnote">
			<div class="krumo-version" style="white-space:nowrap;">
				<h6>Krumo version <?php

        echo krumo::version();
        ?></h6> | <a
					href="http://krumo.sourceforge.net"
					target="_blank">http://krumo.sourceforge.net</a>
			</div>
		
		<?php

        if (@$d['file']) {
            ?>
		<span class="krumo-call" style="white-space:nowrap;">
			Called from <code><?php

            echo $d['file'];
            ?></code>,
				line <code><?php

            echo $d['line'];
            ?></code></span>
		<?php

        }
        ?>
		&nbsp;
		</li>
	</ul>
</div>
<?php

        // flee the hive
        //
        $_recursion_marker = krumo::_marker();
        if ($hive =& krumo::_hive($dummy)) {
            foreach ($hive as $i => $bee) {
                if (is_object($bee)) {
                    unset($hive[$i]->{$_recursion_marker});
                    // DEVEL: changed 'else' to 'elseif' below
                }
                elseif (is_array($bee)) {
                    unset($hive[$i][$_recursion_marker]);
                }
            }
        }
        // PHP 4.x.x array reference bug...
        //
        if (is_array($data) && version_compare(PHP_VERSION, "5", "<")) {
            unset($GLOBALS[krumo::_marker()]);
        }
    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Print the skin (CSS)
     *
     * @return boolean
     * @access private
     * @static
     */
    static function _css() {
        static $_css = false;
        // already set ?
        //
        if ($_css) {
            return true;
        }
        $css = '';
        // DEVEL: changed for Drupal variables system
        $skin = variable_get('devel_krumo_skin', 'orange');
        // custom selected skin ?
        //
        $_ = KRUMO_DIR . "skins/{$skin}/skin.css";
        if ($fp = @fopen($_, 'r', 1)) {
            $css = fread($fp, filesize($_));
            fclose($fp);
        }
        // defautl skin ?
        //
        if (!$css && $skin != 'default') {
            $skin = 'default';
            $_ = KRUMO_DIR . "skins/default/skin.css";
            $css = join('', @file($_));
        }
        // print ?
        //
        if ($_css = $css != '') {
            // fix the urls
            //
            // DEVEL: changed for Drupal path system.
            $css_url = base_path() . drupal_get_path('module', 'devel') . "/krumo/skins/{$skin}/";
            $css = preg_replace('~%url%~Uis', $css_url, $css);
            // the CSS
            //
            ?>
<!-- Using Krumo Skin: <?php

            echo preg_replace('~^' . preg_quote(realpath(KRUMO_DIR) . DIRECTORY_SEPARATOR) . '~Uis', '', realpath($_));
            ?> -->
<style type="text/css">
<!--/**/
<?php

            echo $css;
            ?>

/**/-->
</style>
<?php

            // the JS
            //
            ?>
<script type="text/javascript">
<!--//
<?php

            echo join(file(KRUMO_DIR . "krumo.js"));
            ?>

//-->
</script>
<?php

        }
        return $_css;
    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Enable Krumo
     *
     * @return boolean
     * @access public
     * @static
     */
    static function enable() {
        return true === krumo::_debug(true);
    }
    
    /**
     * Disable Krumo
     *
     * @return boolean
     * @access public
     * @static
     */
    static function disable() {
        return false === krumo::_debug(false);
    }
    
    /**
     * Get\Set Krumo state: whether it is enabled or disabled
     *
     * @param boolean $state
     * @return boolean
     * @access private
     * @static
     */
    static function _debug($state = null) {
        static $_ = true;
        // set
        //
        if (isset($state)) {
            $_ = (bool) $state;
        }
        // get
        //
        return $_;
    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Dump information about a variable
     *
     * @param mixed $data
     * @param string $name
     * @access private
     * @static
     */
    static function _dump(&$data, $name = '...') {
        // object ?
        //
        if (is_object($data)) {
            return krumo::_object($data, $name);
        }
        // array ?
        //
        if (is_array($data)) {
            // PHP 4.x.x array reference bug...
            //
            if (version_compare(PHP_VERSION, "5", "<")) {
                // prepare the GLOBAL reference list...
                //
                if (!isset($GLOBALS[krumo::_marker()])) {
                    $GLOBALS[krumo::_marker()] = array();
                }
                if (!is_array($GLOBALS[krumo::_marker()])) {
                    $GLOBALS[krumo::_marker()] = (array) $GLOBALS[krumo::_marker()];
                }
                // extract ?
                //
                if (!empty($GLOBALS[krumo::_marker()])) {
                    $d = array_shift($GLOBALS[krumo::_marker()]);
                    if (is_array($d)) {
                        $data = $d;
                    }
                }
            }
            return krumo::_array($data, $name);
        }
        // resource ?
        //
        if (is_resource($data)) {
            return krumo::_resource($data, $name);
        }
        // scalar ?
        //
        if (is_string($data)) {
            return krumo::_string($data, $name);
        }
        if (is_float($data)) {
            return krumo::_float($data, $name);
        }
        if (is_integer($data)) {
            return krumo::_integer($data, $name);
        }
        if (is_bool($data)) {
            return krumo::_boolean($data, $name);
        }
        // null ?
        //
        if (is_null($data)) {
            return krumo::_null($name);
        }
    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Render a dump for a NULL value
     *
     * @param string $name
     * @return string
     * @access private
     * @static
     */
    static function _null($name) {
        ?>
<li class="krumo-child">
	<div class="krumo-element"
		onMouseOver="krumo.over(this);"
		onMouseOut="krumo.out(this);">
		
			<?php

        
        /* DEVEL: added htmlSpecialChars */
        ?>
			<a class="krumo-name"><?php

        echo htmlSpecialChars($name);
        ?></a>
			(<em class="krumo-type krumo-null">NULL</em>) 
	</div>
</li>
<?php

    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Return the marked used to stain arrays
     * and objects in order to detect recursions
     *
     * @return string
     * @access private
     * @static
     */
    static function _marker() {
        static $_recursion_marker;
        if (!isset($_recursion_marker)) {
            $_recursion_marker = uniqid('krumo');
        }
        return $_recursion_marker;
    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Adds a variable to the hive of arrays and objects which 
     * are tracked for whether they have recursive entries
     *
     * @param mixed &$bee either array or object, not a scallar vale
     * @return array all the bees
     *
     * @access private
     * @static
     */
    static function &_hive(&$bee) {
        static $_ = array();
        // new bee ?
        //
        if (!is_null($bee)) {
            // stain it
            //
            $_recursion_marker = krumo::_marker();
            is_object($bee) ? @$bee->{$_recursion_marker}++ : @$bee[$_recursion_marker]++;
            $_[0][] =& $bee;
        }
        // return all bees
        //
        return $_[0];
    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Render a dump for the properties of an array or objeect
     *
     * @param mixed &$data
     * @access private
     * @static
     */
    static function _vars(&$data) {
        $_is_object = is_object($data);
        // test for references in order to
        // prevent endless recursion loops
        //
        $_recursion_marker = krumo::_marker();
        $_r = $_is_object ? @$data->{$_recursion_marker} : @$data[$_recursion_marker];
        $_r = (int) $_r;
        // recursion detected
        //
        if ($_r > 0) {
            return krumo::_recursion();
        }
        // stain it
        //
        krumo::_hive($data);
        // render it
        //
        ?>
<div class="krumo-nest" style="display:none;">
	<ul class="krumo-node">
	<?php

        // keys ?
        //
        $keys = $_is_object ? array_keys(get_object_vars($data)) : array_keys($data);
        // itterate
        //
        foreach ($keys as $k) {
            // skip marker
            //
            if ($k === $_recursion_marker) {
                continue;
            }
            // get real value
            //
            if ($_is_object) {
                $v =& $data->{$k};
            }
            else {
                $v =& $data[$k];
            }
            // PHP 4.x.x array reference bug...
            //
            if (is_array($data) && version_compare(PHP_VERSION, "5", "<")) {
                $GLOBALS[krumo::_marker()][] =& $v;
            }
            krumo::_dump($v, $k);
        }
        ?>
	</ul>
</div>
<?php

    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Render a block that detected recursion
     *
     * @access private
     * @static
     */
    static function _recursion() {
        ?>
<div class="krumo-nest" style="display:none;">
	<ul class="krumo-node">
		<li class="krumo-child">
			<div class="krumo-element"
				onMouseOver="krumo.over(this);"
				onMouseOut="krumo.out(this);">
					<a class="krumo-name"><big>&#8734;</big></a>
					(<em class="krumo-type">Recursion</em>) 
			</div>
		
		</li>
	</ul>
</div>
<?php

    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Render a dump for an array
     *
     * @param mixed $data
     * @param string $name
     * @access private
     * @static
     */
    static function _array(&$data, $name) {
        ?>
<li class="krumo-child">
	
	<div class="krumo-element<?php

        echo count($data) > 0 ? ' krumo-expand' : '';
        ?>"
		<?php

        if (count($data) > 0) {
            ?> onClick="krumo.toggle(this);"<?php

        }
        ?>
		onMouseOver="krumo.over(this);"
		onMouseOut="krumo.out(this);">
		
			<?php

        
        /* DEVEL: added htmlSpecialChars */
        ?>
			<a class="krumo-name"><?php

        echo htmlSpecialChars($name);
        ?></a>
			(<em class="krumo-type">Array, <strong class="krumo-array-length"><?php

        echo count($data) == 1 ? "1 element" : count($data) . " elements";
        ?></strong></em>) 
			
				
			<?php

        // callback ?
        //
        if (is_callable($data)) {
            $_ = array_values($data);
            ?>
				<span class="krumo-callback"> |
					(<em class="krumo-type">Callback</em>)
					<strong class="krumo-string"><?php

            echo htmlSpecialChars($_[0]);
            ?>::<?php

            echo htmlSpecialChars($_[1]);
            ?>();</strong></span>
				<?php

        }
        ?>
				
	</div>

	<?php

        if (count($data)) {
            krumo::_vars($data);
        }
        ?>
</li>
<?php

    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Render a dump for an object
     *
     * @param mixed $data
     * @param string $name
     * @access private
     * @static
     */
    static function _object(&$data, $name) {
        ?>
<li class="krumo-child">

	<div class="krumo-element<?php

        echo count($data) > 0 ? ' krumo-expand' : '';
        ?>"
		<?php

        if (count($data) > 0) {
            ?> onClick="krumo.toggle(this);"<?php

        }
        ?>
		onMouseOver="krumo.over(this);"
		onMouseOut="krumo.out(this);">

			<?php

        
        /* DEVEL: added htmlSpecialChars */
        ?>
			<a class="krumo-name"><?php

        echo htmlSpecialChars($name);
        ?></a>
			(<em class="krumo-type">Object</em>) 
			<strong class="krumo-class"><?php

        echo get_class($data);
        ?></strong>
	</div>

	<?php

        if (count($data)) {
            krumo::_vars($data);
        }
        ?>
</li>
<?php

    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Render a dump for a resource
     *
     * @param mixed $data
     * @param string $name
     * @access private
     * @static
     */
    static function _resource($data, $name) {
        ?>
<li class="krumo-child">

	<div class="krumo-element"
		onMouseOver="krumo.over(this);"
		onMouseOut="krumo.out(this);">
		
			<?php

        
        /* DEVEL: added htmlSpecialChars */
        ?>
			<a class="krumo-name"><?php

        echo htmlSpecialChars($name);
        ?></a>
			(<em class="krumo-type">Resource</em>) 
			<strong class="krumo-resource"><?php

        echo get_resource_type($data);
        ?></strong>
	</div>

</li>
<?php

    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Render a dump for a boolean value
     *
     * @param mixed $data
     * @param string $name
     * @access private
     * @static
     */
    static function _boolean($data, $name) {
        ?>
<li class="krumo-child">

	<div class="krumo-element"
		onMouseOver="krumo.over(this);"
		onMouseOut="krumo.out(this);">
		
			<?php

        
        /* DEVEL: added htmlSpecialChars */
        ?>
			<a class="krumo-name"><?php

        echo htmlSpecialChars($name);
        ?></a>
			(<em class="krumo-type">Boolean</em>) 
			<strong class="krumo-boolean"><?php

        echo $data ? 'TRUE' : 'FALSE';
        ?></strong>
	</div>

</li>
<?php

    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Render a dump for a integer value
     *
     * @param mixed $data
     * @param string $name
     * @access private
     * @static
     */
    static function _integer($data, $name) {
        ?>
<li class="krumo-child">

	<div class="krumo-element"
		onMouseOver="krumo.over(this);"
		onMouseOut="krumo.out(this);">
		
			<?php

        
        /* DEVEL: added htmlSpecialChars */
        ?>
			<a class="krumo-name"><?php

        echo htmlSpecialChars($name);
        ?></a>
			(<em class="krumo-type">Integer</em>)
			<strong class="krumo-integer"><?php

        echo $data;
        ?></strong> 
	</div>

</li>
<?php

    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Render a dump for a float value
     *
     * @param mixed $data
     * @param string $name
     * @access private
     * @static
     */
    static function _float($data, $name) {
        ?>
<li class="krumo-child">

	<div class="krumo-element"
		onMouseOver="krumo.over(this);"
		onMouseOut="krumo.out(this);">
		
			<?php

        
        /* DEVEL: added htmlSpecialChars */
        ?>
			<a class="krumo-name"><?php

        echo htmlSpecialChars($name);
        ?></a>
			(<em class="krumo-type">Float</em>) 
			<strong class="krumo-float"><?php

        echo $data;
        ?></strong>
	</div>

</li>
<?php

    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    /**
     * Render a dump for a string value
     *
     * @param mixed $data
     * @param string $name
     * @access private
     * @static
     */
    static function _string($data, $name) {
        // extra ?
        //
        $_extra = false;
        $_ = $data;
        if (strLen($data) > KRUMO_TRUNCATE_LENGTH) {
            $_ = substr($data, 0, KRUMO_TRUNCATE_LENGTH - 3) . '...';
            $_extra = true;
        }
        ?>
<li class="krumo-child">

	<div class="krumo-element<?php

        echo $_extra ? ' krumo-expand' : '';
        ?>"
		<?php

        if ($_extra) {
            ?> onClick="krumo.toggle(this);"<?php

        }
        ?>
		onMouseOver="krumo.over(this);"
		onMouseOut="krumo.out(this);">

			<?php

        
        /* DEVEL: added htmlSpecialChars */
        ?>
			<a class="krumo-name"><?php

        echo htmlSpecialChars($name);
        ?></a>
			(<em class="krumo-type">String,
				<strong class="krumo-string-length"><?php

        echo strlen($data);
        ?> characters</strong> </em>)
			<strong class="krumo-string"><?php

        echo htmlSpecialChars($_);
        ?></strong>
			
			<?php

        // callback ?
        //
        if (is_callable($data)) {
            ?>
				<span class="krumo-callback"> |
					(<em class="krumo-type">Callback</em>)
					<strong class="krumo-string"><?php

            echo htmlSpecialChars($_);
            ?>();</strong></span>
				<?php

        }
        ?>
			
	</div>
	
	<?php

        if ($_extra) {
            ?>
	<div class="krumo-nest" style="display:none;">
		<ul class="krumo-node">
			
			<li class="krumo-child">
				<div class="krumo-preview"><?php

            echo htmlSpecialChars($data);
            ?></div>
			</li>
			
		</ul>
	</div>
	<?php

        }
        ?>
</li>
<?php

    }
    // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    
    //--end-of-class--

}

Members

Title Sort descending Modifiers Object type Summary
krumo::backtrace static function * Prints a debug backtrace
*
* @access public
* @static
krumo::classes static function * Prints a list of all currently declared classes.
*
* @access public
* @static
krumo::conf static function * Prints a list of all your configuration settings.
*
* @access public
* @static
krumo::cookie static function * Prints a list of all the values from the $_COOKIE array.
*
* @access public
* @static
krumo::defines static function * Prints a list of all currently declared constants.
*
* @access public
* @static
krumo::disable static function * Disable Krumo
*
*
krumo::dump static function * Dump information about a variable
*
*
krumo::enable static function * Enable Krumo
*
*
krumo::env static function * Prints a list of all the values from the $_ENV array.
*
* @access public
* @static
krumo::extensions static function * Prints a list of all currently loaded PHP extensions.
*
* @access public
* @static
krumo::functions static function * Prints a list of all currently declared functions.
*
* @access public
* @static
krumo::get static function * Prints a list of all the values from the $_GET array.
*
* @access public
* @static
krumo::headers static function * Prints a list of all HTTP request headers.
*
* @access public
* @static
krumo::includes static function * Prints a list of all currently included (or required) files.
*
* @access public
* @static
krumo::ini static function * Prints a list of all the values from an INI file.
*
*
krumo::interfaces static function * Prints a list of all currently declared interfaces (PHP5 only).
*
* @access public
* @static
krumo::path static function * Prints a list of the specified directories under your include_path option.
*
* @access public
* @static
krumo::phpini static function * Prints a list of the configuration settings read from php.ini
*
* @access public
* @static
krumo::post static function * Prints a list of all the values from the $_POST array.
*
* @access public
* @static
krumo::request static function * Prints a list of all the values from the $_REQUEST array.
*
* @access public
* @static
krumo::server static function * Prints a list of all the values from the $_SERVER array.
*
* @access public
* @static
krumo::session static function * Prints a list of all the values from the $_SESSION array.
*
* @access public
* @static
krumo::version static function * Return Krumo version
*
*
krumo::_array static function * Render a dump for an array
*
*
krumo::_boolean static function * Render a dump for a boolean value
*
*
krumo::_css static function * Print the skin (CSS)
*
*
krumo::_debug static function * Get\Set Krumo state: whether it is enabled or disabled
*
*
krumo::_dump static function * Dump information about a variable
*
*
krumo::_float static function * Render a dump for a float value
*
*
krumo::_hive static function * Adds a variable to the hive of arrays and objects which
* are tracked for whether they have recursive entries
*
*
krumo::_integer static function * Render a dump for a integer value
*
*
krumo::_marker static function * Return the marked used to stain arrays
* and objects in order to detect recursions
*
*
krumo::_null static function * Render a dump for a NULL value
*
*
krumo::_object static function * Render a dump for an object
*
*
krumo::_recursion static function * Render a block that detected recursion
*
* @access private
* @static
krumo::_resource static function * Render a dump for a resource
*
*
krumo::_string static function * Render a dump for a string value
*
*
krumo::_vars static function * Render a dump for the properties of an array or objeect
*
*