Correction of work with event names

Signed-off-by: Valentin Popov <info@valentineus.link>
This commit is contained in:
Valentin Popov 2018-11-02 02:03:17 +04:00
parent d8f3a9f3ed
commit 849d7126d8
Signed by: Valentin Popov
GPG Key ID: 269A00ACA90A8EA3
2 changed files with 28 additions and 1 deletions

View File

@ -91,7 +91,9 @@ class service_edit_form extends moodleform {
/* Formation of the list of elements */
foreach ($eventlist as $event) {
$events[$event['component']][] =& $mform->createElement('checkbox', $event['eventname'], $event['eventname']);
/* Escaping event names */
$eventname = base64_encode($event['eventname']);
$events[$event['component']][] =& $mform->createElement('checkbox', $eventname, $event['eventname']);
}
/* Displays groups of items */

View File

@ -52,11 +52,36 @@ if ($mform->is_cancelled()) {
$servicerecord = new stdClass();
if ($editing = (bool) $serviceid) {
$servicerecord = local_webhooks_get_record($serviceid);
if (is_array($servicerecord->events)) {
$events = array();
/* 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 ($data = $mform->get_data()) {
if (is_array($data->events)) {
$events = array();
/* 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);