Version: 1.0.1
Type: Function
Category: Other
License: Other
Description: include file for dumping complex objects in three formats: preformatted text, HTML lists, and HTML tables.
<?
if(!isset($object_dump_lib_semaphore)){
$object_dump_lib_semaphore=TRUE;
/*
object_dump.lib version 1.0
syntax:
object_dump(string $name, mixed $object, string $prefix="", string $type="html")
potential front end for the other three, not really needed
html_object_dump(string $name, mixed $object, string $prefix="")
Dumps as a HTML list. changing $listt and $clistt will change the type of list
table_object_dump(string $name, mixed $object, string $prefix="")
Dumps as a HTML table. There are some config type things near the top
Currently pretty ugly.
text_object_dump(string $name, mixed $object, string $prefix="")
Dumps as preformatted text.
$prefix is superfulous in all but text_object_dump, but it keeps the interfaces the same
Kyle Jerviss
kjj@fusion-solutions.com
*/
function object_dump($name,$obj,$prefix="",$type="html"){
if("html"==$type)$retval=html_object_dump($name,$obj,$prefix);
if("text"==$type)$retval=text_object_dump($name,$obj,$prefix);
if("table"==$type)$retval=table_object_dump($name,$obj,$prefix);
return $retval;
}
function html_object_dump($name,$obj,$prefix=""){
$listt="<UL>";
$clistt="</UL>";
$retval="";
$retval.=$name;
if(is_array($obj) OR is_object($obj)){
$retval.=" (".gettype($obj).")";
$retval.=$listt."";
while(list($key,$val)=each($obj)){
$retval.="<LI>".html_object_dump($key,$val," | ".$prefix)."</LI>";
}
$retval.=$clistt;
}else{
$retval.=" = ".$obj." (".gettype($obj).")";
}
return $retval;
}
function table_object_dump($name,$obj,$prefix=""){
$size="<H2>";
$csize="</H2>";
$border= "border=1 bordercolor=\"#000000\"";
$align= "align=\"left\"";
$valign= "valign=\"top\"";
$ncolor= "bgcolor=\"#FF0000\"";
$tcolor= "bgcolor=\"#00FF00\"";
$vcolor= "bgcolor=\"#0000FF\"";
$retval="";
$retval.="<TABLE ".$border.">\n";
$retval.="\t<TR>\n\t\t<TD rowspan=1 ".$valign." ".$align." ".$ncolor.">".$size.$name.$csize."</TD>\n";
if(is_array($obj) OR is_object($obj)){
$retval.="\t\t<TD rowspan=1 ".$valign." ".$align." ".$tcolor.">(".gettype($obj).")</TD>\n";
$retval.="\t\t<TD rowspan=2 ".$valign." ".$align." ".$vcolor.">";
while(list($key,$val)=each($obj)){
$retval.=table_object_dump($key,$val," | ".$prefix);
}
$retval.="</TD>\n";
}else{
$retval.="\t\t<TD ".$valign." ".$align." ".$tcolor.">(".gettype($obj).")</TD>\n";
$retval.="\t\t<TD ".$valign." ".$align." ".$vcolor.">".$obj."</TD>\n";
}
$retval.="\t</TR>\n</TABLE>\n";
return $retval;
}
function text_object_dump($name,$obj,$prefix=""){
$retval="";
$retval.=$prefix." ".$name;
if(is_array($obj) OR is_object($obj)){
$retval.=" (".gettype($obj).")"."\n";
while(list($key,$val)=each($obj)){
if(""==$prefix){
$retval.=text_object_dump($key,$val," + ".$prefix);
}else{
$retval.=text_object_dump($key,$val," | ".$prefix);
}
}
}else{
$retval.=" = ".$obj." (".gettype($obj).")"."\n";
}
return $retval;
}
}
?>