forked from Wavyzz/dolibarr
New: add dol_json_encode and dol_json_decode instead
serialize/unserialize
This commit is contained in:
@@ -165,7 +165,7 @@ class Conf
|
||||
$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.'/';
|
||||
|
||||
@@ -145,6 +145,32 @@ if (! function_exists('json_decode'))
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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).
|
||||
|
||||
@@ -1277,12 +1277,12 @@ abstract class DolibarrModules
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user