diff options
Diffstat (limited to 'classes')
-rw-r--r-- | classes/event/backup_performed.php | 36 | ||||
-rw-r--r-- | classes/event/backup_restored.php | 36 | ||||
-rw-r--r-- | classes/event/response_answer.php | 34 | ||||
-rw-r--r-- | classes/event/service_added.php | 36 | ||||
-rw-r--r-- | classes/event/service_deleted.php | 36 | ||||
-rw-r--r-- | classes/event/service_updated.php | 36 | ||||
-rw-r--r-- | classes/handler.php | 42 | ||||
-rw-r--r-- | classes/service_form.php | 66 |
8 files changed, 199 insertions, 123 deletions
diff --git a/classes/event/backup_performed.php b/classes/event/backup_performed.php index d9a5502..b1f7b7e 100644 --- a/classes/event/backup_performed.php +++ b/classes/event/backup_performed.php @@ -26,40 +26,50 @@ namespace local_webhooks\event; defined('MOODLE_INTERNAL') || die(); +use core\event\base; +use lang_string; +use moodle_url; + /** * Defines how to work with events. * * @copyright 2017 "Valentin Popov" <info@valentineus.link> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class backup_performed extends \core\event\base { - /** - * Init method. - */ - protected function init() { - $this->data["crud"] = "c"; - $this->data["edulevel"] = self::LEVEL_OTHER; - $this->data["objecttable"] = "local_webhooks_service"; - } - +class backup_performed extends base { /** * Return localised event name. + * + * @throws \coding_exception */ public static function get_name() { - return new \lang_string("create", "moodle"); + return new lang_string('create', 'moodle'); } /** * Returns description of what happened. + * + * @throws \coding_exception */ public function get_description() { - return new \lang_string("backup", "moodle"); + return new lang_string('backup', 'moodle'); } /** * Get URL related to the action. + * + * @throws \moodle_exception */ public function get_url() { - return new \moodle_url("/local/webhooks/index.php"); + return new moodle_url('/local/webhooks/index.php'); + } + + /** + * Init method. + */ + protected function init() { + $this->data['crud'] = 'c'; + $this->data['edulevel'] = self::LEVEL_OTHER; + $this->data['objecttable'] = 'local_webhooks_service'; } }
\ No newline at end of file diff --git a/classes/event/backup_restored.php b/classes/event/backup_restored.php index 0b6b5f9..83c9ae6 100644 --- a/classes/event/backup_restored.php +++ b/classes/event/backup_restored.php @@ -26,40 +26,50 @@ namespace local_webhooks\event; defined('MOODLE_INTERNAL') || die(); +use core\event\base; +use lang_string; +use moodle_url; + /** * Defines how to work with events. * * @copyright 2017 "Valentin Popov" <info@valentineus.link> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class backup_restored extends \core\event\base { - /** - * Init method. - */ - protected function init() { - $this->data["crud"] = "u"; - $this->data["edulevel"] = self::LEVEL_OTHER; - $this->data["objecttable"] = "local_webhooks_service"; - } - +class backup_restored extends base { /** * Return localised event name. + * + * @throws \coding_exception */ public static function get_name() { - return new \lang_string("update", "moodle"); + return new lang_string('update', 'moodle'); } /** * Returns description of what happened. + * + * @throws \coding_exception */ public function get_description() { - return new \lang_string("backupfinished", "moodle"); + return new lang_string('backupfinished', 'moodle'); } /** * Get URL related to the action. + * + * @throws \moodle_exception */ public function get_url() { - return new \moodle_url("/local/webhooks/index.php"); + return new moodle_url('/local/webhooks/index.php'); + } + + /** + * Init method. + */ + protected function init() { + $this->data['crud'] = 'u'; + $this->data['edulevel'] = self::LEVEL_OTHER; + $this->data['objecttable'] = 'local_webhooks_service'; } }
\ No newline at end of file diff --git a/classes/event/response_answer.php b/classes/event/response_answer.php index aa12845..95a3949 100644 --- a/classes/event/response_answer.php +++ b/classes/event/response_answer.php @@ -26,40 +26,48 @@ namespace local_webhooks\event; defined('MOODLE_INTERNAL') || die(); +use core\event\base; +use lang_string; +use moodle_url; + /** * Defines how to work with events. * * @copyright 2017 "Valentin Popov" <info@valentineus.link> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class response_answer extends \core\event\base { - /** - * Init method. - */ - protected function init() { - $this->data["crud"] = "r"; - $this->data["edulevel"] = self::LEVEL_OTHER; - $this->data["objecttable"] = "local_webhooks_service"; - } - +class response_answer extends base { /** * Return localised event name. + * + * @throws \coding_exception */ public static function get_name() { - return new \lang_string("answer", "moodle"); + return new lang_string('answer', 'moodle'); } /** * Returns description of what happened. */ public function get_description() { - return $this->other["status"]; + return $this->other['status']; } /** * Get URL related to the action. + * + * @throws \moodle_exception */ public function get_url() { - return new \moodle_url("/local/webhooks/editservice.php", array("serviceid" => $this->objectid)); + return new moodle_url('/local/webhooks/editservice.php', array('serviceid' => $this->objectid)); + } + + /** + * Init method. + */ + protected function init() { + $this->data['crud'] = 'r'; + $this->data['edulevel'] = self::LEVEL_OTHER; + $this->data['objecttable'] = 'local_webhooks_service'; } }
\ No newline at end of file diff --git a/classes/event/service_added.php b/classes/event/service_added.php index 0ec9780..89d7050 100644 --- a/classes/event/service_added.php +++ b/classes/event/service_added.php @@ -26,40 +26,50 @@ namespace local_webhooks\event; defined('MOODLE_INTERNAL') || die(); +use core\event\base; +use lang_string; +use moodle_url; + /** * Defines how to work with events. * * @copyright 2017 "Valentin Popov" <info@valentineus.link> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class service_added extends \core\event\base { - /** - * Init method. - */ - protected function init() { - $this->data["crud"] = "c"; - $this->data["edulevel"] = self::LEVEL_OTHER; - $this->data["objecttable"] = "local_webhooks_service"; - } - +class service_added extends base { /** * Return localised event name. + * + * @throws \coding_exception */ public static function get_name() { - return new \lang_string("create", "moodle"); + return new lang_string('create', 'moodle'); } /** * Returns description of what happened. + * + * @throws \coding_exception */ public function get_description() { - return new \lang_string("eventwebserviceservicecreated", "webservice"); + return new lang_string('eventwebserviceservicecreated', 'webservice'); } /** * Get URL related to the action. + * + * @throws \moodle_exception */ public function get_url() { - return new \moodle_url("/local/webhooks/editservice.php", array("serviceid" => $this->objectid)); + return new moodle_url('/local/webhooks/editservice.php', array('serviceid' => $this->objectid)); + } + + /** + * Init method. + */ + protected function init() { + $this->data['crud'] = 'c'; + $this->data['edulevel'] = self::LEVEL_OTHER; + $this->data['objecttable'] = 'local_webhooks_service'; } }
\ No newline at end of file diff --git a/classes/event/service_deleted.php b/classes/event/service_deleted.php index 4955e55..0d446e7 100644 --- a/classes/event/service_deleted.php +++ b/classes/event/service_deleted.php @@ -26,40 +26,50 @@ namespace local_webhooks\event; defined('MOODLE_INTERNAL') || die(); +use core\event\base; +use lang_string; +use moodle_url; + /** * Defines how to work with events. * * @copyright 2017 "Valentin Popov" <info@valentineus.link> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class service_deleted extends \core\event\base { - /** - * Init method. - */ - protected function init() { - $this->data["crud"] = "d"; - $this->data["edulevel"] = self::LEVEL_OTHER; - $this->data["objecttable"] = "local_webhooks_service"; - } - +class service_deleted extends base { /** * Return localised event name. + * + * @throws \coding_exception */ public static function get_name() { - return new \lang_string("deleted", "moodle"); + return new lang_string('deleted', 'moodle'); } /** * Returns description of what happened. + * + * @throws \coding_exception */ public function get_description() { - return new \lang_string("eventwebserviceservicedeleted", "webservice"); + return new lang_string('eventwebserviceservicedeleted', 'webservice'); } /** * Get URL related to the action. + * + * @throws \moodle_exception */ public function get_url() { - return new \moodle_url("/local/webhooks/index.php"); + return new moodle_url('/local/webhooks/index.php'); + } + + /** + * Init method. + */ + protected function init() { + $this->data['crud'] = 'd'; + $this->data['edulevel'] = self::LEVEL_OTHER; + $this->data['objecttable'] = 'local_webhooks_service'; } }
\ No newline at end of file diff --git a/classes/event/service_updated.php b/classes/event/service_updated.php index 2410d8a..08b7225 100644 --- a/classes/event/service_updated.php +++ b/classes/event/service_updated.php @@ -26,40 +26,50 @@ namespace local_webhooks\event; defined('MOODLE_INTERNAL') || die(); +use core\event\base; +use lang_string; +use moodle_url; + /** * Defines how to work with events. * * @copyright 2017 "Valentin Popov" <info@valentineus.link> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class service_updated extends \core\event\base { - /** - * Init method. - */ - protected function init() { - $this->data["crud"] = "u"; - $this->data["edulevel"] = self::LEVEL_OTHER; - $this->data["objecttable"] = "local_webhooks_service"; - } - +class service_updated extends base { /** * Return localised event name. + * + * @throws \coding_exception */ public static function get_name() { - return new \lang_string("update", "moodle"); + return new lang_string('update', 'moodle'); } /** * Returns description of what happened. + * + * @throws \coding_exception */ public function get_description() { - return new \lang_string("eventwebserviceserviceupdated", "webservice"); + return new lang_string('eventwebserviceserviceupdated', 'webservice'); } /** * Get URL related to the action. + * + * @throws \moodle_exception */ public function get_url() { - return new \moodle_url("/local/webhooks/editservice.php", array("serviceid" => $this->objectid)); + return new moodle_url('/local/webhooks/editservice.php', array('serviceid' => $this->objectid)); + } + + /** + * Init method. + */ + protected function init() { + $this->data['crud'] = 'u'; + $this->data['edulevel'] = self::LEVEL_OTHER; + $this->data['objecttable'] = 'local_webhooks_service'; } }
\ No newline at end of file diff --git a/classes/handler.php b/classes/handler.php index 2381173..47a44f3 100644 --- a/classes/handler.php +++ b/classes/handler.php @@ -26,10 +26,15 @@ namespace local_webhooks; defined('MOODLE_INTERNAL') || die(); -require_once(__DIR__ . "/../lib.php"); -require_once(__DIR__ . "/../locallib.php"); +global $CFG; -require_once($CFG->libdir . "/filelib.php"); +require_once(__DIR__ . '/../lib.php'); +require_once(__DIR__ . '/../locallib.php'); + +require_once($CFG->libdir . '/filelib.php'); + +use curl; +use local_webhooks_events; /** * Defines how to work with events. @@ -42,6 +47,9 @@ class handler { * External handler. * * @param object $event + * + * @throws \dml_exception + * @throws \coding_exception */ public static function events($event) { $data = $event->get_data(); @@ -58,20 +66,21 @@ class handler { * * @param array $data * @param object $callback + * + * @throws \coding_exception + * @throws \dml_exception */ private static function handler_callback($data, $callback) { global $CFG; - if (boolval($callback->enable)) { - if (!empty($callback->events[$data["eventname"]])) { - $urlparse = parse_url($CFG->wwwroot); + if ((bool) $callback->enable && !empty($callback->events[$data['eventname']])) { + $urlparse = parse_url($CFG->wwwroot); - $data["host"] = $urlparse['host']; - $data["token"] = $callback->token; - $data["extra"] = $callback->other; + $data['host'] = $urlparse['host']; + $data['token'] = $callback->token; + $data['extra'] = $callback->other; - self::send($data, $callback); - } + self::send($data, $callback); } } @@ -80,14 +89,19 @@ class handler { * * @param array $data * @param object $callback + * + * @return array + * @throws \coding_exception + * @throws \dml_exception */ private static function send($data, $callback) { - $curl = new \curl(); - $curl->setHeader(array("Content-Type: application/" . $callback->type)); + $curl = new curl(); + $curl->setHeader(array('Content-Type: application/' . $callback->type)); $curl->post($callback->url, json_encode($data)); $response = $curl->getResponse(); - \local_webhooks_events::response_answer($callback->id, $response); + local_webhooks_events::response_answer($callback->id, $response); + return $response; } }
\ No newline at end of file diff --git a/classes/service_form.php b/classes/service_form.php index 3348247..eac7bb7 100644 --- a/classes/service_form.php +++ b/classes/service_form.php @@ -24,7 +24,7 @@ defined('MOODLE_INTERNAL') || die(); -require_once($CFG->libdir . "/formslib.php"); +require_once($CFG->libdir . '/formslib.php'); /** * Description editing form definition. @@ -42,63 +42,65 @@ class service_edit_form extends moodleform { /** * Defines the standard structure of the form. + * + * @throws \coding_exception */ protected function definition() { $mform =& $this->_form; - $size = array("size" => 60); + $size = array('size' => 60); /* Form heading */ - $mform->addElement("header", "editserviceheader", new lang_string("service", "webservice")); + $mform->addElement('header', 'editserviceheader', new lang_string('service', 'webservice')); /* Name of the service */ - $mform->addElement("text", "title", new lang_string("name", "moodle"), $size); - $mform->addRule("title", null, "required"); - $mform->setType("title", PARAM_NOTAGS); + $mform->addElement('text', 'title', new lang_string('name', 'moodle'), $size); + $mform->addRule('title', null, 'required'); + $mform->setType('title', PARAM_NOTAGS); /* Callback address */ - $mform->addElement("text", "url", new lang_string("url", "moodle"), $size); - $mform->addRule("url", null, "required"); - $mform->setType("url", PARAM_URL); + $mform->addElement('text', 'url', new lang_string('url', 'moodle'), $size); + $mform->addRule('url', null, 'required'); + $mform->setType('url', PARAM_URL); /* Enabling the service */ - $mform->addElement("advcheckbox", "enable", new lang_string("enable", "moodle")); - $mform->setType("enable", PARAM_BOOL); - $mform->setDefault("enable", 1); - $mform->setAdvanced("enable"); + $mform->addElement('advcheckbox', 'enable', new lang_string('enable', 'moodle')); + $mform->setType('enable', PARAM_BOOL); + $mform->setDefault('enable', 1); + $mform->setAdvanced('enable'); /* Token */ - $mform->addElement("text", "token", new lang_string("token", "webservice"), $size); - $mform->setType("token", PARAM_NOTAGS); + $mform->addElement('text', 'token', new lang_string('token', 'webservice'), $size); + $mform->setType('token', PARAM_NOTAGS); /* Additional information */ - $mform->addElement("text", "other", new lang_string("sourceext", "plugin"), $size); - $mform->setType("other", PARAM_NOTAGS); - $mform->setAdvanced("other"); + $mform->addElement('text', 'other', new lang_string('sourceext', 'plugin'), $size); + $mform->setType('other', PARAM_NOTAGS); + $mform->setAdvanced('other'); /* Content type */ - $contenttype = array("json" => "application/json", "x-www-form-urlencoded" => "application/x-www-form-urlencoded"); - $mform->addElement("select", "type", "Content type", $contenttype); - $mform->setAdvanced("type"); + $contenttype = array('json' => 'application/json', 'x-www-form-urlencoded' => 'application/x-www-form-urlencoded'); + $mform->addElement('select', 'type', 'Content type', $contenttype); + $mform->setAdvanced('type'); /* Form heading */ - $mform->addElement("header", "editserviceheaderevent", new lang_string("edulevel", "moodle")); + $mform->addElement('header', 'editserviceheaderevent', new lang_string('edulevel', 'moodle')); /* List of events */ - $eventlist = report_eventlist_list_generator::get_all_events_list(true); - $events = array(); + $eventlist = report_eventlist_list_generator::get_all_events_list(); + $events = array(); /* Formation of the list of elements */ foreach ($eventlist as $event) { - $events[$event["component"]][] =& $mform->createElement("checkbox", $event["eventname"], $event["eventname"]); + $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); + $mform->addGroup($event, 'events', $key, '<br />'); } /* Control Panel */ - $this->add_action_buttons(true); + $this->add_action_buttons(); } } @@ -118,18 +120,20 @@ class service_backup_form extends moodleform { /** * Defines the standard structure of the form. + * + * @throws \coding_exception */ protected function definition() { $mform =& $this->_form; /* Form heading */ - $mform->addElement("header", "editserviceheader", new lang_string("restore", "moodle")); + $mform->addElement('header', 'editserviceheader', new lang_string('restore', 'moodle')); /* Download the file */ - $mform->addElement("filepicker", "backupfile", new lang_string("file", "moodle")); - $mform->addRule("backupfile", null, "required"); + $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")); + $this->add_action_buttons(true, new lang_string('restore', 'moodle')); } }
\ No newline at end of file |