summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--managerservice.php10
-rw-r--r--restorebackup.php64
2 files changed, 72 insertions, 2 deletions
diff --git a/managerservice.php b/managerservice.php
index 6fa2ed3..ee86e3c 100644
--- a/managerservice.php
+++ b/managerservice.php
@@ -34,9 +34,11 @@ $hideshowid = optional_param("hideshowid", 0, PARAM_INT);
require_login();
-/* Link generation */
+$editservice = "/local/webhooks/editservice.php";
$managerservice = "/local/webhooks/managerservice.php";
-$editservice = "/local/webhooks/editservice.php";
+$restorebackup = "/local/webhooks/restorebackup.php";
+
+/* Link generation */
$baseurl = new moodle_url($managerservice);
$PAGE->set_url($baseurl);
@@ -130,4 +132,8 @@ echo $OUTPUT->single_button($addurl, new lang_string("addaservice", "webservice"
$backupurl = new moodle_url($managerservice, array("backup" => true));
echo $OUTPUT->single_button($backupurl, new lang_string("backup", "moodle"), "get");
+/* Button for restoring settings */
+$restorebackupurl = new moodle_url($restorebackup, array("sesskey" => sesskey()));
+echo $OUTPUT->single_button($restorebackupurl, new lang_string("restore", "moodle"), "get");
+
echo $OUTPUT->footer(); \ No newline at end of file
diff --git a/restorebackup.php b/restorebackup.php
new file mode 100644
index 0000000..82d8a38
--- /dev/null
+++ b/restorebackup.php
@@ -0,0 +1,64 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Restore settings page.
+ *
+ * @package local_webhooks
+ * @copyright 2017 "Valentin Popov" <info@valentineus.link>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+require_once(__DIR__ . "/../../config.php");
+require_once(__DIR__ . "/classes/editform.php");
+require_once($CFG->libdir . "/adminlib.php");
+
+admin_externalpage_setup("pluginsoverview");
+
+require_login();
+
+/* Link generation */
+$managerservice = new moodle_url("/local/webhooks/managerservice.php");
+$baseurl = new moodle_url("/local/webhooks/restorebackup.php");
+$PAGE->set_url($baseurl);
+
+/* Configure the context of the page */
+$context = context_system::instance();
+$PAGE->set_context($context);
+
+/* Create an editing form */
+$mform = new \local_webhooks\service_backup_form($PAGE->url);
+
+/* Cancel processing */
+if ($mform->is_cancelled()) {
+ redirect($managerservice);
+}
+
+/* Page template */
+$titlepage = new lang_string("backup", "moodle");
+$PAGE->set_pagelayout("admin");
+$PAGE->set_heading($titlepage);
+$PAGE->set_title($titlepage);
+
+/* The page title */
+$PAGE->navbar->add(new lang_string("externalservices", "webservice"), $managerservice);
+$PAGE->navbar->add($titlepage);
+echo $OUTPUT->header();
+
+/* Displays the form */
+$mform->display();
+
+echo $OUTPUT->footer(); \ No newline at end of file