<?php

function printVal($val,$escape=true) {
    
      switch (
gettype($val)) {
        case 
'integer':
        case 
'double':
            return 
$val;
        case 
'string':
                    return 
"\"".(($escape !== false)?htmlspecialchars(addcslashes($val,"\\\"\$\r\n\t")):$val)."\"";
        case 
'array':
            return 
formatArray($val);
        case 
'object':
            return 
'Object('.get_class($val).')';
        case 
'resource':
            return 
'Resource('.strstr($val'#').')';
                break;
        case 
'boolean':
            return 
$val 'true' 'false';
                break;
        case 
'NULL':
            return 
'NULL';
                break;
                default:
            return 
'Unknown';
    }
}

function 
formatArray($arr$level=0){
    if(
gettype($arr) == "array") {
        
$ret="Array(";
        foreach (
$arr as $name => $value){
            switch(
gettype($value)){
                case 
"array":
                    
$level++;
                    switch(
strtolower($name)){
                        case 
"globals";
                            
                            
$value "Array (..)";
                        break;
                        default: 
                            
$value formatArray($value$level);
                        break;
                    }
                break;
                case 
"string":
                        
$value="\"".htmlspecialchars(addcslashes($value,"\\\"\$\r\n\t"))."\"";
                break;
                case 
"integer":
                break;
                case 
"double":
                break;
                case 
"boolean":
                        
$value=$value?"true":"false";
                break;
                case 
"resource":
                        
$value'Resource('.strstr("$value"'#').') /* '.get_resource_type($value).' */'
                break;
                default:
                    
$value=gettype($value);
                break;
            }
            if(!
is_numeric($name)) {
                
$value "\"$name\" => $value";
            }
            if(
$ret == "Array("$ret.=$value
            else 
$ret.=",".$value;
        }
        
$ret .= ")";
        return 
$ret;
    } else {
        return 
$arr;
    }
}

function 
random_string($len=5$opt='dlu') {
    list(
$usec$sec) = explode(' 'microtime());
    
mt_srand(($usec*1000000)+$sec); //second seed
    
$chr=""$str="";
    if (
strpos($opt,"d") !== false) for($i=48$i<=57$i++) $chr.=chr($i);
    if (
strpos($opt,"u") !== false) for($i=65$i<=90$i++) $chr.=chr($i);
    if (
strpos($opt,"l") !== false) for($i=97$i<=122$i++) $chr.=chr($i);
    for (
$i=0$i<$len;$i++) $str.=$chr[mt_rand(0,strlen($chr)-1)];
    return 
$str;
}

function 
getinfo() {
    global 
$ip$host;
    return 
"[".date("Y-m-d H:i:s")."] [$ip".(!empty($host)?$host":"")."]";
}

?>