static function updateOrderJson($orders_id, $datas) { $order = new PluginFusioninventoryDeployOrder(); $options = 0; if (version_compare(PHP_VERSION, '5.3.3') >= 0) { $options = $options | JSON_NUMERIC_CHECK; } if (version_compare(PHP_VERSION, '5.4.0') >= 0) { $options = $options | JSON_UNESCAPED_SLASHES; } $json = json_encode($datas, $options); $json_error_consts = array(JSON_ERROR_NONE => "JSON_ERROR_NONE", JSON_ERROR_DEPTH => "JSON_ERROR_DEPTH", JSON_ERROR_STATE_MISMATCH => "JSON_ERROR_STATE_MISMATCH", JSON_ERROR_CTRL_CHAR => "JSON_ERROR_CTRL_CHAR", JSON_ERROR_SYNTAX => "JSON_ERROR_SYNTAX"); if (version_compare(phpversion(), "5.3.3", "ge")) { $json_error_consts[JSON_ERROR_UTF8] = "JSON_ERROR_UTF8"; } $error_json = json_last_error(); if (version_compare(PHP_VERSION, '5.5.0', "ge")) { $error_json_message = json_last_error_msg(); } else { $error_json_message = ""; } $error = 0; if ($error_json != JSON_ERROR_NONE) { $error_msg = ""; $error_msg = $json_error_consts[$error_json]; Session::addMessageAfterRedirect(__("The modified JSON contained a syntax error :", "fusioninventory") . "<br/>" . $error_msg . "<br/>" . $error_json_message, FALSE, ERROR, FALSE); $error = 1; } else { $error = $order->update(array('id' => $orders_id, 'json' => Toolbox::addslashes_deep($json))); } return $error; }