move 'events' handling into Barrel/Events.php
[diogenes.git] / include / Tree / Node.php
index 04668ba..2ff8edb 100644 (file)
@@ -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);
     }