Keys →
Functions ↓
function eko () {#-k debug#- routine used exclusively to dump inside the debug routines to HTML screen;#- only calls PHP lib & non-printing util rtns#-d 1/1/15 - add microsecs#-d 2/7/21 - convert to variable args global $fmtSwitch; # used only by 'ekho' to prevent HTML <> stripping $raw = debug_backtrace(); $raw[]['function'] = 'MAIN'; for ($i=0;$i<count($raw);$i++) { $arr = pathinfo ( $raw[$i]['file'] ); $raw[$i]['fname'] = $arr['basename']; } $hdr = '<pre>' . date('Y-m-d H:i:s'.substr((string)microtime(), 1, 8).' '); for ($i=count($raw)-2;$i>=0;$i--) $hdr .= $raw[$i+1]['function'] . "@" . $raw[$i]['fname'] . '[' . $raw[$i]['line'] . "] >> "; $callingFile = file ( $raw[0]['file'] ); $theLine = $callingFile[$raw[0]['line']-1]; $x = strpos ( $theLine,'(' )+1; $y = strrpos ( $theLine,')' ); $var = trim(substr ( $theLine,$x,$y-$x )); $var = str_replace( '<', '‹', $var ); $out = "\n"; $ar = callingVars ( 1 ); for ($ii=0;$ii<count($ar);$ii++) { $L = ''; if (is_bool($ar[$ii]['cont'])) { $L = '(bool)'; $ar[$ii]['cont'] = boolval($ar[$ii]['cont']) ? 'true' : 'false'; } elseif (is_scalar($ar[$ii]['cont'])) $L = '(' . strlen($ar[$ii]['cont']) . ')'; if ($fmtSwitch) $str = print_r($ar[$ii]['cont'],true); else $str = myZap(print_r($ar[$ii]['cont'],true),4); $out .= '<fieldset style="background-color: white; color:black; text-align:left;"><legend style="background-color: #F8EED8; color:red; font-weight:bold;">' . $ar[$ii]['name'] . '</legend><pre><b>' . $hdr . '</b><br>' . $L . ' [' . $str . ']</pre></fieldset>'."\n"; } echo $out."\n"; }?>