From c936ca4abf8ccc71df9a084f070bfd7690c92727 Mon Sep 17 00:00:00 2001 From: Jean-Christian Denis Date: Thu, 22 Dec 2022 22:45:38 +0100 Subject: [PATCH] avoid usage of function serialize --- _install.php | 20 ++++++++++++++++++++ inc/class.license.bootstrap.php | 4 ++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/_install.php b/_install.php index 272592f..970bb1b 100644 --- a/_install.php +++ b/_install.php @@ -80,6 +80,26 @@ try { return null; } + // version < 2022.12.22 : upgrade settings ns and array + $current = dcCore::app()->getVersion(basename(__DIR__)); + if ($current && version_compare($current, '2022.12.22', '<')) { + $record = dcCore::app()->con->select( + 'SELECT * FROM ' . dcCore::app()->prefix . dcNamespace::NS_TABLE_NAME . ' ' . + "WHERE setting_ns = 'licenseBootstrap' " + ); + $cur = dcCore::app()->con->openCursor(dcCore::app()->prefix . dcNamespace::NS_TABLE_NAME); + while ($record->fetch()) { + if (in_array($record->setting_id, ['license_head'])) { + $cur->setting_value = (string) unserialize(base64_decode($record->setting_value)); + } + $cur->setting_ns = basename(__DIR__); + $cur->update( + "WHERE setting_id = '" . $record->setting_id . "' and setting_ns = 'licenseBootstrap' " . + 'AND blog_id ' . (null === $record->blog_id ? 'IS NULL ' : ("= '" . dcCore::app()->con->escape($record->blog_id) . "' ")) + ); + $cur->clean(); + } + } # Set module settings dcCore::app()->blog->settings->addNamespace(basename(__DIR__)); foreach ($mod_conf as $v) { diff --git a/inc/class.license.bootstrap.php b/inc/class.license.bootstrap.php index 8c21292..47cd83d 100644 --- a/inc/class.license.bootstrap.php +++ b/inc/class.license.bootstrap.php @@ -364,11 +364,11 @@ class licenseBootstrap public static function encode($a) { - return base64_encode(serialize($a)); + return json_encode($a); } public static function decode($a) { - return unserialize(base64_decode($a)); + return json_decode($a, true); } }