From 39482d544190717508d660a033000c66e662eb05 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Fri, 20 Mar 2015 17:49:01 +0100 Subject: [PATCH] [ticket/514] Use preg_replace_callback in portal B3P-514 --- modules/calendar.php | 18 ++++++++++-------- modules/links.php | 16 +++++++++------- modules/main_menu.php | 12 ++++++------ 3 files changed, 25 insertions(+), 21 deletions(-) diff --git a/modules/calendar.php b/modules/calendar.php index 3c34619e..82813f6f 100644 --- a/modules/calendar.php +++ b/modules/calendar.php @@ -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); } diff --git a/modules/links.php b/modules/links.php index 96eea0d5..2db14e1c 100644 --- a/modules/links.php +++ b/modules/links.php @@ -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); } } diff --git a/modules/main_menu.php b/modules/main_menu.php index 3c833348..d533ee12 100644 --- a/modules/main_menu.php +++ b/modules/main_menu.php @@ -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) {