I think JsonReader.read ought to use the Ext JSON functionality rather than calling eval.

Original:

PHP Code:
    read : function(response){
        var 
json response.responseText;
        var 
= eval("("+json+")");
        if(!
o) {
            throw {
message"JsonReader.read: Json object not found"};
        }
        return 
this.readRecords(o);
    } 
Proposed:
PHP Code:
    read : function(response){
        var 
Ext.decode(response.responseText);
        if(!
o) {
            throw {
message"JsonReader.read: Json object not found"};
        }
        return 
this.readRecords(o); 
Same thing in TreeLoader.processResponse.