From 849d7126d8674faac056b941038f5fd59811e34f Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Fri, 2 Nov 2018 02:03:17 +0400 Subject: Correction of work with event names Signed-off-by: Valentin Popov --- editservice.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'editservice.php') 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); -- cgit v1.2.3