Formatting code and eliminating possible errors

Signed-off-by: Valentin Popov <info@valentineus.link>
This commit is contained in:
2018-11-02 00:36:09 +04:00
parent f9772b1fb9
commit d8f3a9f3ed
18 changed files with 378 additions and 254 deletions

View File

@ -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';
}
}

View File

@ -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';
}
}

View File

@ -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';
}
}

View File

@ -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';
}
}

View File

@ -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';
}
}

View File

@ -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';
}
}

View File

@ -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;
}
}

View File

@ -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'));
}
}