From 7dac99c1910818ef34f673251cbab2d3f55e6942 Mon Sep 17 00:00:00 2001 From: meirzamoodle Date: Fri, 22 Nov 2024 17:05:11 +0700 Subject: [PATCH] MDL-83691 core_sms: Avoid saving unnecessary data in the database --- lib/db/upgrade.php | 19 +++++++++++++++++++ sms/configure.php | 3 ++- version.php | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index ea4729ca06f..f49dd69c78b 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -1303,5 +1303,24 @@ function xmldb_main_upgrade($oldversion) { upgrade_main_savepoint(true, 2024112900.02); } + if ($oldversion < 2024120500.01) { + $smsgateways = $DB->get_records('sms_gateways'); + foreach ($smsgateways as $gateway) { + $newconfig = json_decode($gateway->config); + // Continue only if either the `returnurl` OR the `saveandreturn` property exists. + if (property_exists($newconfig, "returnurl") || property_exists($newconfig, "saveandreturn")) { + // Remove unnecessary data in the config. + unset($newconfig->returnurl, $newconfig->saveandreturn); + + // Update the record with the new config. + $gateway->config = json_encode($newconfig); + $DB->update_record('sms_gateways', $gateway); + } + } + + // Main savepoint reached. + upgrade_main_savepoint(true, 2024120500.01); + } + return true; } diff --git a/sms/configure.php b/sms/configure.php index 10110bcba34..ea9d10b806f 100644 --- a/sms/configure.php +++ b/sms/configure.php @@ -96,7 +96,8 @@ if ($data = $mform->get_data()) { $manager = \core\di::get(\core_sms\manager::class); $smsgateway = $data->smsgateway; $gatewayname = $data->name; - unset($data->smsgateway, $data->name, $data->id); + // The $data will go into the database config column. If any data is not needed, unset it here. + unset($data->smsgateway, $data->name, $data->id, $data->saveandreturn, $data->returnurl); if (!empty($id)) { $gatewayinstance = $manager->get_gateway_instances(['id' => $id]); $gatewayinstance = reset($gatewayinstance); diff --git a/version.php b/version.php index 79d7bbf8ebd..5ce882bc91c 100644 --- a/version.php +++ b/version.php @@ -29,7 +29,7 @@ defined('MOODLE_INTERNAL') || die(); -$version = 2024120500.00; // YYYYMMDD = weekly release date of this DEV branch. +$version = 2024120500.01; // YYYYMMDD = weekly release date of this DEV branch. // RR = release increments - 00 in DEV branches. // .XX = incremental changes. $release = '5.0dev (Build: 20241205)'; // Human-friendly version name