[fusion-commits] r1911 - trunk/common/php
svn_fusion at osgeo.org
svn_fusion at osgeo.org
Thu Sep 24 15:09:12 EDT 2009
Author: pagameba
Date: 2009-09-24 15:09:10 -0400 (Thu, 24 Sep 2009)
New Revision: 1911
Modified:
trunk/common/php/Utilities.php
Log:
Closes #81. Modify var2json to always utf8 encode json strings.
Modified: trunk/common/php/Utilities.php
===================================================================
--- trunk/common/php/Utilities.php 2009-09-24 18:46:45 UTC (rev 1910)
+++ trunk/common/php/Utilities.php 2009-09-24 19:09:10 UTC (rev 1911)
@@ -26,35 +26,40 @@
/* recursively convert a variable to its json representation */
function var2json($var) {
- $result = "";
- if (is_object($var)) {
- $result .= "{";
- $sep = "";
- foreach($var as $key => $val) {
- $result .= $sep.'"'.$key.'":'.var2json($val);
- $sep = ",";
- }
- $result .= "}";
- } else if (is_array($var)) {
- $result .= "[";
- $sep = "";
- for($i=0; $i<count($var); $i++) {
- $result .= $sep.var2json($var[$i]);
- $sep = ",";
- }
- $result .= "]";
- } else if (is_string($var)) {
- //$tmpStr = str_replace("'", "\'", $var);
- $tmpStr = str_replace('"', '\"', $var);
- $result = '"'.str_replace("\n", '\n', $tmpStr).'"';
- } else if (is_bool($var)) {
- $result = $var ? 'true' : 'false';
- } else if (is_null($var)) {
- $result = 'null';
- }else {
- $result = $var;
+ if (function_exists('json_encode')) {
+ $result json_encode($var);
+ } else {
+ $result = "";
+ if (is_object($var)) {
+ $result .= "{";
+ $sep = "";
+ foreach($var as $key => $val) {
+ $result .= $sep.'"'.$key.'":'.var2json($val);
+ $sep = ",";
+ }
+ $result .= "}";
+ } else if (is_array($var)) {
+ $result .= "[";
+ $sep = "";
+ for($i=0; $i<count($var); $i++) {
+ $result .= $sep.var2json($var[$i]);
+ $sep = ",";
+ }
+ $result .= "]";
+ } else if (is_string($var)) {
+ //$tmpStr = str_replace("'", "\'", $var);
+ $tmpStr = str_replace('"', '\"', $var);
+ $result = '"'.str_replace("\n", '\n', $tmpStr).'"';
+ } else if (is_bool($var)) {
+ $result = $var ? 'true' : 'false';
+ } else if (is_null($var)) {
+ $result = 'null';
+ } else {
+ $result = $var;
+ }
}
- return $result;
+
+ return utf8_encode($result);
}
function xml2json($domElement) {
More information about the fusion-commits
mailing list