Skip to content

Commit

Permalink
New: add dol_json_encode and dol_json_decode instead
Browse files Browse the repository at this point in the history
serialize/unserialize
  • Loading branch information
hregis committed Mar 2, 2012
1 parent 30c7bf8 commit 034b0fc
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 3 deletions.
2 changes: 1 addition & 1 deletion htdocs/core/class/conf.class.php
Expand Up @@ -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.'/';
Expand Down
26 changes: 26 additions & 0 deletions htdocs/core/lib/functions.lib.php
Expand Up @@ -145,6 +145,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).
Expand Down
4 changes: 2 additions & 2 deletions htdocs/core/modules/DolibarrModules.class.php
Expand Up @@ -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);
}
}

Expand Down

0 comments on commit 034b0fc

Please sign in to comment.