diff options
author | Valentin Popov <info@valentineus.link> | 2018-11-02 01:03:17 +0300 |
---|---|---|
committer | Valentin Popov <info@valentineus.link> | 2018-11-02 01:03:17 +0300 |
commit | 849d7126d8674faac056b941038f5fd59811e34f (patch) | |
tree | 3c14a0e5d67d733d58a1fda23ae77ab6c2b15234 | |
parent | d8f3a9f3edf66fad0af84a703e39e45911f37d85 (diff) | |
download | local_webhooks-849d7126d8674faac056b941038f5fd59811e34f.tar.xz local_webhooks-849d7126d8674faac056b941038f5fd59811e34f.zip |
Correction of work with event names
Signed-off-by: Valentin Popov <info@valentineus.link>
-rw-r--r-- | classes/service_form.php | 4 | ||||
-rw-r--r-- | editservice.php | 25 |
2 files changed, 28 insertions, 1 deletions
diff --git a/classes/service_form.php b/classes/service_form.php index eac7bb7..eef6e5c 100644 --- a/classes/service_form.php +++ b/classes/service_form.php @@ -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 */ diff --git a/editservice.php b/editservice.php index 821e0cc..de99556 100644 --- a/editservice.php +++ b/editservice.php @@ -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); |