From 0bc809ba07e16c8d043edb58dde95d5dfaed32d7 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Thu, 23 Nov 2017 18:09:56 +0400 Subject: Refactoring the backup recovery code --- restorebackup.php | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/restorebackup.php b/restorebackup.php index 453e25c..b4cfce0 100644 --- a/restorebackup.php +++ b/restorebackup.php @@ -15,7 +15,7 @@ // along with Moodle. If not, see . /** - * Restore settings page. + * Restore the settings page. * * @package local_webhooks * @copyright 2017 "Valentin Popov" @@ -24,18 +24,20 @@ require_once(__DIR__ . "/../../config.php"); require_once(__DIR__ . "/classes/editform.php"); +require_once(__DIR__ . "/lib.php"); + require_once($CFG->libdir . "/adminlib.php"); /* Link generation */ -$managerservice = new moodle_url("/local/webhooks/managerservice.php"); $baseurl = new moodle_url("/local/webhooks/restorebackup.php"); +$managerservice = new moodle_url("/local/webhooks/index.php"); /* Configure the context of the page */ admin_externalpage_setup("local_webhooks", "", null, $baseurl, array()); $context = context_system::instance(); /* Create an editing form */ -$mform = new \local_webhooks\service_backup_form($PAGE->url); +$mform = new service_backup_form($PAGE->url); /* Cancel processing */ if ($mform->is_cancelled()) { @@ -43,19 +45,15 @@ if ($mform->is_cancelled()) { } /* Processing the received file */ -if ($data = $mform->get_data() && confirm_sesskey()) { +if ($data = $mform->get_data()) { $content = $mform->get_file_content("backupfile"); - $callbacks = unserialize(gzuncompress(base64_decode($content))); + $callbacks = local_webhooks_unarchive_data($content); - $DB->delete_records("local_webhooks_service"); + local_webhooks_remove_list_records(); foreach ($callbacks as $callback) { - $DB->insert_record("local_webhooks_service", $callback); + local_webhooks_update_record($callback, true); } - /* Run the event */ - $event = \local_webhooks\event\backup_restored::create(array("context" => $context, "objectid" => 0)); - $event->trigger(); - redirect($managerservice, new lang_string("restorefinished", "moodle")); } -- cgit v1.2.3