BREAKING CHANGE: legacy management routes now fail closed and the legacy helper API is removed.
This commit is contained in:
+3
-78
@@ -23,83 +23,8 @@
|
||||
*/
|
||||
|
||||
require_once(__DIR__ . '/../../config.php');
|
||||
require_once(__DIR__ . '/classes/service_edit_form.php');
|
||||
require_once(__DIR__ . '/lib.php');
|
||||
|
||||
require_once($CFG->libdir . '/adminlib.php');
|
||||
require_login();
|
||||
require_capability('moodle/site:config', context_system::instance());
|
||||
|
||||
/* Optional parameters */
|
||||
$serviceid = optional_param('serviceid', 0, PARAM_INT);
|
||||
|
||||
/* Link generation */
|
||||
$urlparameters = ['serviceid' => $serviceid];
|
||||
$baseurl = new moodle_url('/local/webhooks/editservice.php', $urlparameters);
|
||||
$managerservice = new moodle_url('/local/webhooks/index.php');
|
||||
|
||||
/* Configure the context of the page */
|
||||
admin_externalpage_setup('local_webhooks', '', null, $baseurl);
|
||||
$context = context_system::instance();
|
||||
|
||||
/* Create an editing form */
|
||||
$mform = new service_edit_form($PAGE->url);
|
||||
|
||||
/* Cancel processing */
|
||||
if ($mform->is_cancelled()) {
|
||||
redirect($managerservice);
|
||||
}
|
||||
|
||||
/* Getting the data */
|
||||
$servicerecord = new stdClass();
|
||||
if (($editing = (bool) $serviceid) === true) {
|
||||
$servicerecord = local_webhooks_get_record($serviceid);
|
||||
|
||||
if (is_array($servicerecord->events)) {
|
||||
$events = [];
|
||||
|
||||
/* Escaping event names */
|
||||
foreach ($servicerecord->events as $eventname => $eventstatus) {
|
||||
$eventname = base64_encode($eventname);
|
||||
$events[$eventname] = $eventstatus;
|
||||
}
|
||||
|
||||
$servicerecord->events = $events;
|
||||
}
|
||||
|
||||
$mform->set_data($servicerecord);
|
||||
}
|
||||
|
||||
/* Processing of received data */
|
||||
if (!empty($data = $mform->get_data())) {
|
||||
if (is_array($data->events)) {
|
||||
$events = [];
|
||||
|
||||
/* Deciphering event names */
|
||||
foreach ($data->events as $eventname => $eventstatus) {
|
||||
$eventname = (string) base64_decode($eventname);
|
||||
$events[$eventname] = $eventstatus;
|
||||
}
|
||||
|
||||
$data->events = $events;
|
||||
}
|
||||
|
||||
if ($editing) {
|
||||
$data->id = $serviceid;
|
||||
local_webhooks_update_record($data, false);
|
||||
redirect($managerservice, new lang_string('eventwebserviceserviceupdated', 'local_webhooks'));
|
||||
} else {
|
||||
local_webhooks_update_record($data);
|
||||
redirect($managerservice, new lang_string('eventwebserviceservicecreated', 'local_webhooks'));
|
||||
}
|
||||
}
|
||||
|
||||
/* The page title */
|
||||
$titlepage = new lang_string('externalservice', 'local_webhooks');
|
||||
$PAGE->navbar->add($titlepage);
|
||||
$PAGE->set_heading($titlepage);
|
||||
$PAGE->set_title($titlepage);
|
||||
echo $OUTPUT->header();
|
||||
|
||||
/* Displays the form */
|
||||
$mform->display();
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
throw new moodle_exception('legacyuidisabled', 'local_webhooks');
|
||||
|
||||
Reference in New Issue
Block a user