summaryrefslogtreecommitdiff
path: root/classes/forms.php
diff options
context:
space:
mode:
Diffstat (limited to 'classes/forms.php')
-rw-r--r--classes/forms.php30
1 files changed, 30 insertions, 0 deletions
diff --git a/classes/forms.php b/classes/forms.php
index c95b280..d6402cc 100644
--- a/classes/forms.php
+++ b/classes/forms.php
@@ -28,6 +28,7 @@ defined("MOODLE_INTERNAL") || die();
require_once($CFG->libdir . "/formslib.php");
+use report_eventlist_list_generator;
use lang_string;
use moodleform;
@@ -46,6 +47,16 @@ class service_edit_form extends moodleform {
}
/**
+ * Unpacks data for display.
+ *
+ * @param object $record
+ */
+ public function set_data($record) {
+ $record->events = unserialize(gzuncompress(base64_decode($record->events)));
+ return parent::set_data($record);
+ }
+
+ /**
* Defines the standard structure of the form.
*/
protected function definition() {
@@ -76,6 +87,25 @@ class service_edit_form extends moodleform {
$mform->setDefault("enable", 1);
$mform->setAdvanced("enable");
+ /* Form heading */
+ $mform->addElement("header", "editserviceheaderevent",
+ new lang_string("edulevel", "moodle"));
+
+ /* List of events */
+ $eventlist = report_eventlist_list_generator::get_all_events_list(true);
+ $events = array();
+
+ /* Formation of the list of elements */
+ foreach ($eventlist as $event) {
+ $events[$event["component"]][] =&
+ $mform->createElement("advcheckbox", $event["eventname"], $event["eventname"]);
+ }
+
+ /* Displays groups of items */
+ foreach ($events as $key => $event) {
+ $mform->addGroup($event, "events", $key, "<br />", true);
+ }
+
/* Control Panel */
$this->add_action_buttons(true);
}