function var_encode_text($var, $level = 0, $no_children = FALSE, $tabstr = ' ', $eol = "\n")
{
- if (is_object($var) && (get_class($var) == 'Diogenes_Tree_Node')) {
+ if (is_object($var) && (strtolower(get_class($var)) == 'diogenes_tree_node')) {
// node name
$code = str_repeat($tabstr, $level) . "node : {$var->name}" . $eol;
{
$code .= str_repeat($tabstr, $level+1) . "* children" . $eol;
foreach ($var->children as $index => $child)
+ {
$code .= str_repeat($tabstr, $level+2) . "index : $index" . $eol;
$code .= var_encode_text($child, $level+2, $no_children, $tabstr, $eol);
+ }
}
return $code;
} elseif (is_array($var)) {
$arraysep = ",$eol";
- $code = "array(".$eol;
+ $vcode = '';
foreach ($var as $key => $value) {
- $code .= str_repeat($tabstr, $level + 1);
- $code .= "'$key'=>".var_encode_text($value, $level + 1, $no_children, $tabstr, $eol);
- $code .= $arraysep;
+ $vcode .= str_repeat($tabstr, $level + 1);
+ $vcode .= "'$key'=>".var_encode_text($value, $level + 1, $no_children, $tabstr, $eol);
+ $vcode .= $arraysep;
}
- if (substr($code, -strlen($arraysep)))
- $code = substr($code, 0, - strlen($arraysep));
- $code .= $eol;
- //$code = chop($code, ','); //remove unnecessary coma
- $code .= str_repeat($tabstr, $level) . ")";
+ if (substr($vcode, -strlen($arraysep)) == $arraysep)
+ $vcode = substr($vcode, 0, - strlen($arraysep));
+
+ $code = "array(".($vcode ? "$eol$vcode$eol".str_repeat($tabstr, $level) : ""). ")";
return $code;
} elseif (is_scalar($var)) {
return "'".$var."'";
function var_encode_bin($var, $no_children = FALSE)
{
- if (is_object($var) && (get_class($var) == 'Diogenes_Tree_Node')) {
+ if (is_object($var) && (strtolower(get_class($var)) == 'diogenes_tree_node')) {
$code = pack('C', VAR_TYPE_NODE);
$code .= var_encode_bin($var->name);
$code .= var_encode_bin($var->data);
{
$bin = file_get_contents($filename);
$node = var_decode_bin($bin);
- if (!is_object($node) || get_class($node) != 'Diogenes_Tree_Node')
+ if (!is_object($node) || strtolower(get_class($node)) != 'diogenes_tree_node')
{
trigger_error('readFile : not a Diogenes_Tree_Node', E_USER_ERROR);
}