X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2FTree%2FNode.php;h=2ff8edb524f6ccfb1f563fa41c17cf649a8eed70;hb=83a56cb5c8a85bc4eb577547ed3ddf3f46fb25b0;hp=04668ba67a324124b161d9ca81ea8acedbef675c;hpb=56aefc1ef7ef2d90499b174648625baa6ccb30b1;p=diogenes.git diff --git a/include/Tree/Node.php b/include/Tree/Node.php index 04668ba..2ff8edb 100644 --- a/include/Tree/Node.php +++ b/include/Tree/Node.php @@ -31,7 +31,7 @@ define('VAR_TYPE_NODE', 4); 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; @@ -43,23 +43,24 @@ function var_encode_text($var, $level = 0, $no_children = FALSE, $tabstr = ' ', { $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."'"; @@ -75,7 +76,7 @@ function var_encode_html($var, $level = 0, $no_children = FALSE) 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); @@ -183,7 +184,7 @@ class Diogenes_Tree_Node { $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); }