X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fplpage.php;h=c13410e063b96e31d56f3df73825abcb1802377b;hb=c504af53e5b3e13f19039f1ab03cd16279ce4967;hp=258a8c3c474ef2deedc0be1436a765af3347c527;hpb=a2efe30f0470b8150e70189e6f8d9d7d8601ea87;p=platal.git diff --git a/classes/plpage.php b/classes/plpage.php index 258a8c3..c13410e 100644 --- a/classes/plpage.php +++ b/classes/plpage.php @@ -164,6 +164,7 @@ abstract class PlPage extends Smarty if (!$globals->debug) { error_reporting(0); $this->display($skin); + pl_print_errors(true); exit; } @@ -370,11 +371,10 @@ abstract class PlPage extends Smarty protected function jsonDisplay() { pl_content_headers("text/javascript"); - if (!empty($GLOBALS['pl_errors'])) { - $this->jsonAssign('pl_errors', join("\n", $GLOBALS['pl_errors'])); - $GLOBALS['pl_errors'] = array(); + if (!empty(PlBacktrace::$bt)) { + $this->jsonAssign('pl_backtraces', PlBacktrace::$bt); } - array_walk_recursive($this->_jsonVars, "escape_xorgDB"); + array_walk_recursive($this->_jsonVars, "escape_XDB"); $jsonbegin = Env::v('jsonBegin'); $jsonend = Env::v('jsonEnd'); if (Env::has('jsonVar')) { @@ -388,6 +388,17 @@ abstract class PlPage extends Smarty exit; } // }}} + + public function runJSon() + { + pl_content_headers("text/javascript"); + if (!empty(PlBacktrace::$bt)) { + $this->jsonAssign('pl_backtraces', PlBacktrace::$bt); + } + echo json_encode($this->_jsonVars); + exit; + } + // {{{ function jsonAssign public function jsonAssign($var, $value) { @@ -397,9 +408,9 @@ abstract class PlPage extends Smarty // }}} } -function escape_xorgDB(&$item, $key) +function escape_XDB(&$item, $key) { - if ($item instanceof XOrgDBIterator) { + if ($item instanceof XDBIterator) { $expanded = array(); while ($a = $item->next()) { $expanded[] = $a;