Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

New: add dol_json_encode and dol_json_decode instead

serialize/unserialize
  • Loading branch information...
commit 034b0fc4d4f1bf2550b7c165a990f776b517b1a4 1 parent 30c7bf8
Regis Houssin authored
View
2  htdocs/core/class/conf.class.php
@@ -165,7 +165,7 @@ function setValues($db)
$varname = $partname.'_modules'; // TODO deprecated
if (! is_array($this->$varname)) { $this->$varname = array(); } // TODO deprecated
if (! is_array($this->modules_parts[$partname])) { $this->modules_parts[$partname] = array(); }
- $arrValue = @unserialize($value);
+ $arrValue = dol_json_decode($value,true);
if (is_array($arrValue) && ! empty($arrValue)) $value = $arrValue;
else if (in_array($partname,array('login','menus','triggers'))) $value = '/'.$modulename.'/core/'.$partname.'/';
else if (in_array($partname,array('models'))) $value = '/'.$modulename.'/';
View
26 htdocs/core/lib/functions.lib.php
@@ -146,6 +146,32 @@ function json_decode($json, $assoc=false)
}
/**
+ * Function that encodes data in json format
+ *
+ * @param mixed $elements PHP object to json encode
+ * @return string Json encoded string
+ */
+function dol_json_encode($elements)
+{
+ return json_encode($elements);
+}
+
+/**
+ * Function that decodes data from json format
+ *
+ * @param string $json Json encoded to PHP Object or Array
+ * @param bool $assoc False return an object, true return an array
+ * @return mixed Object or Array
+ */
+function dol_json_decode($json, $assoc=false)
+{
+ $out='';
+ $out = unserialize($json); // For compatibility, test if serialized
+ if (empty($out)) $out = json_decode($json, $assoc);
+ return $out;
+}
+
+/**
* Function to return value of a static property when class
* name is dynamically defined (not hard coded).
* This is because $myclass::$myvar works from PHP 5.3.0+ only
View
4 htdocs/core/modules/DolibarrModules.class.php
@@ -1277,12 +1277,12 @@ function insert_module_parts()
// Can defined other parameters
if (is_array($value['data']) && ! empty($value['data']))
{
- $newvalue = serialize($value['data']);
+ $newvalue = dol_json_encode($value['data']);
if (isset($value['entity'])) $entity = $value['entity'];
}
else
{
- $newvalue = serialize($value);
+ $newvalue = dol_json_encode($value);
}
}
Please sign in to comment.
Something went wrong with that request. Please try again.