Correction of work with event names
Signed-off-by: Valentin Popov <info@valentineus.link>
This commit is contained in:
		@@ -91,7 +91,9 @@ class service_edit_form extends moodleform {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        /* Formation of the list of elements */
 | 
					        /* Formation of the list of elements */
 | 
				
			||||||
        foreach ($eventlist as $event) {
 | 
					        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 */
 | 
					        /* Displays groups of items */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -52,11 +52,36 @@ if ($mform->is_cancelled()) {
 | 
				
			|||||||
$servicerecord = new stdClass();
 | 
					$servicerecord = new stdClass();
 | 
				
			||||||
if ($editing = (bool) $serviceid) {
 | 
					if ($editing = (bool) $serviceid) {
 | 
				
			||||||
    $servicerecord = local_webhooks_get_record($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);
 | 
					    $mform->set_data($servicerecord);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Processing of received data */
 | 
					/* Processing of received data */
 | 
				
			||||||
if ($data = $mform->get_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) {
 | 
					    if ($editing) {
 | 
				
			||||||
        $data->id = $serviceid;
 | 
					        $data->id = $serviceid;
 | 
				
			||||||
        local_webhooks_update_record($data, false);
 | 
					        local_webhooks_update_record($data, false);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user