[ticket/514] Use preg_replace_callback in portal

B3P-514
This commit is contained in:
Marc Alexander
2015-03-20 17:49:01 +01:00
parent 6835979dbf
commit 39482d5441
3 changed files with 25 additions and 21 deletions

View File

@@ -712,15 +712,17 @@ class calendar extends module_base
}
/**
* Unserialize links array
*
* @param string $serial_str Serialized string
*
* @return array Unserialized array
*/
protected function utf_unserialize($serial_str)
* Unserialize links array
*
* @param string $serial_str Serialized string
*
* @return array Unserialized string
*/
private function utf_unserialize($serial_str)
{
$out = preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str );
$out = preg_replace_callback('!s:(\d+):"(.*?)";!s', function ($result) {
return 's:' . strlen($result[2]) . ":\"{$result[2]}\";";
}, $serial_str);
return unserialize($out);
}

View File

@@ -462,15 +462,17 @@ class links extends module_base
}
/**
* Unserialize links array
*
* @param string $serial_str Serialized string
*
* @return array Unserialized string
*/
* Unserialize links array
*
* @param string $serial_str Serialized string
*
* @return array Unserialized string
*/
private function utf_unserialize($serial_str)
{
$out = preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str);
$out = preg_replace_callback('!s:(\d+):"(.*?)";!s', function ($result) {
return 's:' . strlen($result[2]) . ":\"{$result[2]}\";";
}, $serial_str);
return unserialize($out);
}
}

View File

@@ -526,12 +526,12 @@ class main_menu extends module_base
}
/**
* Unserialize links array
*
* @param string $serial_str Serialized string
*
* @return array Unserialized string
*/
* Unserialize links array
*
* @param string $serial_str Serialized string
*
* @return array Unserialized string
*/
private function utf_unserialize($serial_str)
{
$out = preg_replace_callback('!s:(\d+):"(.*?)";!s', function ($result) {