includes/paths.php
changeset 1053 bdbb49cf6f1b
parent 982 bd349add2697
child 1081 745200a9cc2a
--- a/includes/paths.php	Sat Jul 11 20:24:19 2009 -0400
+++ b/includes/paths.php	Sat Jul 11 20:25:50 2009 -0400
@@ -491,14 +491,20 @@
     $i = 0;
     $ret = '';
     $icon = $this->make_sprite_icon(4, 2);
-    $icon = addslashes($icon);
-    $ret .= "var TREE_ITEMS = [\n  ['$icon" . $lang->get('adm_btn_home') . "', 'javascript:ajaxPage(\'".$this->nslist['Admin']."Home\');',\n    ";
+    $ret .= "var TREE_ITEMS = ";
+    $tree = array(
+        array($icon . $lang->get('adm_btn_home'), "javascript:ajaxPage('{$this->nslist['Admin']}Home');")
+      );
+    
+    $root =& $tree[0];
+    
     foreach($k as $key)
     {
       $i++;
       $name = $lang->get($key);
-      $ret .= "['".$name."', 'javascript:trees[0].toggle($i)', \n";
-      foreach($this->admin_tree[$key] as $c)
+      $group = array($name, "javascript:trees[0].toggle($i)");
+      
+      foreach($this->admin_tree[$key] as $nodeid => $c)
       {
         $i++;
         $name = $lang->get($c['name']);
@@ -519,20 +525,29 @@
         {
           $icon = '';
         }
-        $icon = addslashes($icon);
-        $ret .= "        ['$icon$name', 'javascript:ajaxPage(\\'".$this->nslist['Admin'].$c['pageid']."\\');'],\n";
+        $group[] = array("$icon$name", "javascript:ajaxPage('{$this->nslist['Admin']}{$c['pageid']}');");
       }
-      $ret .= "      ],\n";
+      
+      $root[] = $group;
     }
     $icon = $this->make_sprite_icon(1, 1);
-    $icon = addslashes($icon);
-    $ret .= "    ['$icon" . $lang->get('adm_btn_logout') . "', 'javascript:ajaxPage(\\'".$this->nslist['Admin']."AdminLogout\\');'],\n";
-    $ret .= "    ['<span id=\\'keepalivestat\\'>" . $lang->get('adm_btn_keepalive_loading') . "</span>', 'javascript:ajaxToggleKeepalive();', 
-                   ['" . $lang->get('adm_btn_keepalive_about') . "', 'javascript:aboutKeepAlive();']
-                 ],\n";
+    $root[] = array(
+        $icon . $lang->get('adm_btn_logout'),
+        "javascript:ajaxPage('{$this->nslist['Admin']}AdminLogout');"
+      );
+    $root[] = array(
+        "<span id=\"keepalivestat\">" . $lang->get('adm_btn_keepalive_loading') . "</span>",
+        "javascript:ajaxToggleKeepalive();",
+        array(
+            $lang->get('adm_btn_keepalive_about'),
+            "javascript:aboutKeepAlive();"
+          )
+      );
+    
+    $ret .= enano_json_encode($tree) . ';';
+    
     // I used this while I painstakingly wrote the Runt code that auto-expands certain nodes based on the value of a bitfield stored in a cookie. *shudders*
     // $ret .= "    ['(debug) Clear menu bitfield', 'javascript:createCookie(\\'admin_menu_state\\', \\'1\\', 365);'],\n";
-    $ret .= "]\n];";
     return $ret;
   }