. /** * Defines the form of editing the service. * * @package local_webhooks * @copyright 2017 "Valentin Popov" * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace local_webhooks; defined("MOODLE_INTERNAL") || die(); require_once($CFG->libdir . "/formslib.php"); use report_eventlist_list_generator; use lang_string; use moodleform; /** * Description editing form definition. * * @copyright 2017 "Valentin Popov" * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class service_edit_form extends moodleform { /** * @param string $baseurl */ public function __construct($baseurl) { parent::__construct($baseurl); } /** * Defines the standard structure of the form. */ protected function definition() { $mform =& $this->_form; /* Form heading */ $mform->addElement("header", "editserviceheader", new lang_string("service", "webservice")); /* Name of the service */ $mform->addElement("text", "title", new lang_string("name", "moodle"), array("size" => 60)); $mform->setType("title", PARAM_NOTAGS); $mform->addRule("title", null, "required"); /* Callback address */ $mform->addElement("text", "url", new lang_string("url", "moodle"), array("size" => 60)); $mform->setType("url", PARAM_URL); $mform->addRule("url", null, "required"); /* Enabling the service */ $mform->addElement("checkbox", "enable", new lang_string("enable", "moodle")); $mform->setType("enable", PARAM_BOOL); $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); foreach ($eventlist as $event) { $eventname = $event["eventname"]; $mform->addElement("advcheckbox", "events[$eventname]", $eventname, $event["component"], array("group" => "events")); $mform->setType($eventname, PARAM_BOOL); } $this->add_checkbox_controller("events", null, null, 1); /* Control Panel */ $this->add_action_buttons(true); } }