From 1c87dae035480a45bc4710f1118bd09e434b5176 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Thu, 23 Nov 2017 17:47:47 +0400 Subject: Refactoring the service manager code --- managerservice.php | 145 ----------------------------------------------------- 1 file changed, 145 deletions(-) delete mode 100644 managerservice.php (limited to 'managerservice.php') diff --git a/managerservice.php b/managerservice.php deleted file mode 100644 index a27db1d..0000000 --- a/managerservice.php +++ /dev/null @@ -1,145 +0,0 @@ -. - -/** - * Service Management Manager. - * - * @package local_webhooks - * @copyright 2017 "Valentin Popov" - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -require_once(__DIR__ . "/../../config.php"); -require_once($CFG->libdir . "/tablelib.php"); -require_once($CFG->libdir . "/adminlib.php"); - -/* Optional parameters */ -$backupservices = optional_param("getbackup", 0, PARAM_BOOL); -$deleteid = optional_param("deleteid", 0, PARAM_INT); -$hideshowid = optional_param("hideshowid", 0, PARAM_INT); - -/* Link generation */ -$editservice = "/local/webhooks/editservice.php"; -$managerservice = "/local/webhooks/managerservice.php"; -$restorebackup = "/local/webhooks/restorebackup.php"; -$baseurl = new moodle_url($managerservice); - -/* Configure the context of the page */ -admin_externalpage_setup("local_webhooks", "", null, $baseurl, array()); -$context = context_system::instance(); - -/* Delete the service */ -if (boolval($deleteid)) { - $DB->delete_records("local_webhooks_service", array("id" => $deleteid)); - - /* Run the event */ - $event = \local_webhooks\event\service_deleted::create(array("context" => $context, "objectid" => $deleteid)); - $event->trigger(); - - redirect($PAGE->url, new lang_string("eventwebserviceservicedeleted", "webservice")); -} - -/* Retrieving a list of services */ -$callbacks = $DB->get_records_select("local_webhooks_service", null, null, $DB->sql_order_by_text("id")); - -/* Upload settings as a file */ -if (boolval($backupservices)) { - $filecontent = base64_encode(gzcompress(serialize($callbacks), 9)); - $filename = "webhooks_" . date("U") . ".backup"; - - /* Run the event */ - $event = \local_webhooks\event\backup_performed::create(array("context" => $context, "objectid" => 0)); - $event->trigger(); - - send_file($filecontent, $filename, 0, 0, true, true); -} - -/* Switching the status of the service */ -if (boolval($hideshowid)) { - $callback = $callbacks[$hideshowid]; - - if (!empty($callback)) { - $callback->enable = !boolval($callback->enable); - $DB->update_record("local_webhooks_service", $callback); - - /* Run the event */ - $event = \local_webhooks\event\service_updated::create(array("context" => $context, "objectid" => $hideshowid)); - $event->trigger(); - - redirect($PAGE->url, new lang_string("eventwebserviceserviceupdated", "webservice")); - } -} - -/* The page title */ -$titlepage = new lang_string("pluginname", "local_webhooks"); -$PAGE->set_heading($titlepage); -$PAGE->set_title($titlepage); -echo $OUTPUT->header(); - -/* Table declaration */ -$table = new flexible_table("webhooks-service-table"); - -/* Customize the table */ -$table->define_columns(array("title", "url", "actions")); -$table->define_headers(array(new lang_string("name", "moodle"), new lang_string("url", "moodle"), new lang_string("actions", "moodle"))); -$table->define_baseurl($baseurl); -$table->setup(); - -foreach ($callbacks as $callback) { - /* Filling of information columns */ - $titlecallback = html_writer::div($callback->title, "title"); - $urlcallback = html_writer::div($callback->url, "url"); - - /* Defining service status */ - $hideshowicon = "t/show"; - $hideshowstring = new lang_string("enable", "moodle"); - if (boolval($callback->enable)) { - $hideshowicon = "t/hide"; - $hideshowstring = new lang_string("disable", "moodle"); - } - - /* Link to enable / disable the service */ - $hideshowlink = new moodle_url($managerservice, array("hideshowid" => $callback->id)); - $hideshowitem = $OUTPUT->action_icon($hideshowlink, new pix_icon($hideshowicon, $hideshowstring)); - - /* Link for editing */ - $editlink = new moodle_url($editservice, array("serviceid" => $callback->id)); - $edititem = $OUTPUT->action_icon($editlink, new pix_icon("t/edit", new lang_string("edit", "moodle"))); - - /* Link to remove */ - $deletelink = new moodle_url($managerservice, array("deleteid" => $callback->id)); - $deleteitem = $OUTPUT->action_icon($deletelink, new pix_icon("t/delete", new lang_string("delete", "moodle"))); - - /* Adding data to the table */ - $table->add_data(array($titlecallback, $urlcallback, $hideshowitem . $edititem . $deleteitem)); -} - -/* Display the table */ -$table->print_html(); - -/* Add service button */ -$addserviceurl = new moodle_url($editservice); -echo $OUTPUT->single_button($addserviceurl, new lang_string("addaservice", "webservice"), "get"); - -/* Button to get a backup */ -$backupurl = new moodle_url($managerservice, array("getbackup" => true)); -echo $OUTPUT->single_button($backupurl, new lang_string("backup", "moodle"), "get"); - -/* Button for restoring settings */ -$restorebackupurl = new moodle_url($restorebackup); -echo $OUTPUT->single_button($restorebackupurl, new lang_string("restore", "moodle"), "get"); - -echo $OUTPUT->footer(); \ No newline at end of file -- cgit v1.2.3