From 050af2a7605376cdfd7f513e09929299eab7a69c Mon Sep 17 00:00:00 2001 From: Christian A. Weber Date: Mon, 13 May 2019 17:15:46 +0200 Subject: itjs::serialize() preserves data types (string, int, bool, null) --- itjs.class | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) (limited to 'itjs.class') diff --git a/itjs.class b/itjs.class index 72cf64d..7922cdc 100644 --- a/itjs.class +++ b/itjs.class @@ -39,30 +39,13 @@ function send_headers($charset = null) } /** - * Serialize the result into a javascript script + * json_encode the result with options suitable for using as javascript source code * @param $values Array with values to be serialized - * @param $envelope Encapsulate the data when callback function is provided (iframe solution) * @return String with javascript code to be sent to client */ -static function serialize($values, $envelope = false) +static function serialize($values) { - if (($envelope || isset($values['eof'])) && ($callback = it::replace(array('[^\w.]' => ""), $_REQUEST['itjs_call']))) - { - $target = $_REQUEST['itjs_iframe'] ? "parent" : "window"; - list($itclass) = explode('.', $callback); - $header = "$target.$itclass && $target.$callback && $target.$callback.dataReady("; - $footer = "," . intval($_REQUEST['itjs_callid']) . ");"; - - if ($_REQUEST['itjs_iframe']) # iframe-based loading required by Opera 7 - { - $header = '"; - } - } - - $result = $header . itjs::encode($values) . $footer; - - return it_untaint($result); + return json_encode($values, JSON_UNESCAPED_UNICODE | (it::is_devel() ? JSON_PRETTY_PRINT : 0)); } /* -- cgit v1.2.3