diff options
-rw-r--r-- | classes/ui_forms_plugin.php | 103 | ||||
-rw-r--r-- | classes/ui_service_editor.php.php | 137 |
2 files changed, 103 insertions, 137 deletions
diff --git a/classes/ui_forms_plugin.php b/classes/ui_forms_plugin.php new file mode 100644 index 0000000..2cd7541 --- /dev/null +++ b/classes/ui_forms_plugin.php @@ -0,0 +1,103 @@ +<?php +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see <http://www.gnu.org/licenses/>. + +/** + * Defines forms. + * + * @copyright 2018 'Valentin Popov' <info@valentineus.link> + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + * @package local_webhooks + */ + +defined( "MOODLE_INTERNAL" ) || die(); + +require_once( $CFG->dirroot . "/local/webhooks/lib.php" ); +require_once( $CFG->libdir . "/formslib.php" ); + +/** + * Description editing form definition. + * + * @copyright 2018 'Valentin Popov' <info@valentineus.link> + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + * @package local_webhooks + */ +class local_webhooks_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; + $size = array( "size" => 60 ); + + /* Form heading */ + $mForm->addElement( "header", "editserviceheadermain", new lang_string( "service", "webservice" ) ); + + /* Name of the service */ + $mForm->addElement( "text", "name", new lang_string( "name", "moodle" ), $size ); + $mForm->addRule( "name", null, "required" ); + $mForm->setType( "name", PARAM_RAW ); + + /* Callback address */ + $mForm->addElement( "text", "point", new lang_string( "url", "moodle" ), $size ); + $mForm->addRule( "point", null, "required" ); + $mForm->setType( "point", PARAM_URL ); + + /* Enabling the service */ + $mForm->addElement( "advcheckbox", "status", new lang_string( "enable", "moodle" ) ); + $mForm->setType( "status", PARAM_BOOL ); + $mForm->setDefault( "status", 1 ); + $mForm->setAdvanced( "status" ); + + /* Token */ + $mForm->addElement( "text", "token", new lang_string( "token", "webservice" ), $size ); + $mForm->addRule( "token", null, "required" ); + $mForm->setType( "token", PARAM_RAW ); + + /* Content type */ + $contentType = array( + "application/json" => "application/json", + "application/x-www-form-urlencoded" => "application/x-www-form-urlencoded", + ); + + $mForm->addElement( "select", "header", "Content-Type", $contentType ); + $mForm->setAdvanced( "header" ); + + /* 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(); + foreach ( $eventList as $event ) { + $events[ $event[ "component" ] ][] =& $mForm->createElement( "checkbox", $event[ "eventname" ], $event[ "eventname" ] ); + } + + foreach ( $events as $key => $event ) { + $mForm->addGroup( $event, "events", $key, "<br />", true ); + } + + /* Control Panel */ + $this->add_action_buttons( true ); + } +} diff --git a/classes/ui_service_editor.php.php b/classes/ui_service_editor.php.php deleted file mode 100644 index 3e4021b..0000000 --- a/classes/ui_service_editor.php.php +++ /dev/null @@ -1,137 +0,0 @@ -<?php -// This file is part of Moodle - http://moodle.org/ -// -// Moodle is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// Moodle is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with Moodle. If not, see <http://www.gnu.org/licenses/>. - -/** - * Defines forms. - * - * @package local_webhooks - * @copyright 2017 "Valentin Popov" <info@valentineus.link> - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -defined("MOODLE_INTERNAL") || die(); - -require_once(__DIR__ . "/../lib.php"); - -require_once($CFG->libdir . "/formslib.php"); - -/** - * Description editing form definition. - * - * @copyright 2017 "Valentin Popov" <info@valentineus.link> - * @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; - $size = array("size" => 60); - - /* Form heading */ - $mform->addElement("header", "editserviceheader", new lang_string("service", "webservice")); - - /* Name of the service */ - $mform->addElement("text", "name", new lang_string("name", "moodle"), $size); - $mform->addRule("name", null, "required"); - $mform->setType("name", PARAM_NOTAGS); - - /* Callback address */ - $mform->addElement("text", "point", new lang_string("url", "moodle"), $size); - $mform->addRule("point", null, "required"); - $mform->setType("point", PARAM_URL); - - /* Enabling the service */ - $mform->addElement("advcheckbox", "status", new lang_string("enable", "moodle")); - $mform->setType("status", PARAM_BOOL); - $mform->setDefault("status", 1); - $mform->setAdvanced("status"); - - /* Token */ - $mform->addElement("text", "token", new lang_string("token", "webservice"), $size); - $mform->setType("token", PARAM_NOTAGS); - - /* Content type */ - $contenttype = array("json" => "application/json", "x-www-form-urlencoded" => "application/x-www-form-urlencoded"); - $mform->addElement("select", "header", "Content type", $contenttype); - $mform->setAdvanced("header"); - - /* Form heading */ - $mform->addElement("header", "editserviceheaderevent", new lang_string("edulevel", "moodle")); - - /* List of events */ - $eventlist = local_webhooks_get_list_events(); - $events = array(); - - /* Formation of the list of elements */ - foreach ($eventlist as $event) { - $events[$event["component"]][] =& $mform->createElement("checkbox", $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); - } -} - -/** - * Description of the form of restoration. - * - * @copyright 2017 "Valentin Popov" <info@valentineus.link> - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ -class service_backup_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("restore", "moodle")); - - /* Flag for deleting existing data */ - $mform->addElement("advcheckbox", "deleterecords", new lang_string("deleteall", "moodle")); - $mform->setType("deleterecords", PARAM_BOOL); - $mform->setDefault("deleterecords", 1); - - /* Download the file */ - $mform->addElement("filepicker", "backupfile", new lang_string("file", "moodle")); - $mform->addRule("backupfile", null, "required"); - - /* Control Panel */ - $this->add_action_buttons(true, new lang_string("restore", "moodle")); - } -}
\ No newline at end of file |