+ // {{{ function jsonDisplay
+ protected function jsonDisplay()
+ {
+ header("Content-type: text/javascript; charset=utf-8");
+ array_walk_recursive($this->_jsonVars, "escape_xorgDB");
+ $jsonbegin = Env::v('jsonBegin');
+ $jsonend = Env::v('jsonEnd');
+ if (Env::has('jsonVar')) {
+ $jsonbegin = Env::v('jsonVar').' = ';
+ $jsonend = ';';
+ } elseif (Env::has('jsonFunc')) {
+ $jsonbegin = Env::v('jsonFunc').'(';
+ $jsonend = ');';
+ }
+ echo $jsonbegin, json_encode($this->_jsonVars), $jsonend;
+ exit;
+ }
+ // }}}
+ // {{{ function jsonAssign
+ public function jsonAssign($var, $value)
+ {
+ $this->_jsonVars[$var] = $value;
+ }
+
+ // }}}
+}
+
+function escape_xorgDB(&$item, $key)
+{
+ if (is_a($item, 'XOrgDBIterator')) {
+ $expanded = array();
+ while ($a = $item->next()) {
+ $expanded[] = $a;
+ }
+ $item = $expanded;
+ }