This commit is contained in:
@@ -24,8 +24,6 @@
|
||||
|
||||
namespace local_webhooks\event;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
use core\event\base;
|
||||
use lang_string;
|
||||
use moodle_url;
|
||||
|
||||
@@ -24,8 +24,6 @@
|
||||
|
||||
namespace local_webhooks\event;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
use core\event\base;
|
||||
use lang_string;
|
||||
use moodle_url;
|
||||
|
||||
@@ -24,8 +24,6 @@
|
||||
|
||||
namespace local_webhooks\event;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
use core\event\base;
|
||||
use lang_string;
|
||||
use moodle_url;
|
||||
@@ -59,7 +57,7 @@ class response_answer extends base {
|
||||
* @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', ['serviceid' => $this->objectid]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -24,8 +24,6 @@
|
||||
|
||||
namespace local_webhooks\event;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
use core\event\base;
|
||||
use lang_string;
|
||||
use moodle_url;
|
||||
@@ -61,7 +59,7 @@ class service_added extends base {
|
||||
* @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', ['serviceid' => $this->objectid]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -24,8 +24,6 @@
|
||||
|
||||
namespace local_webhooks\event;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
use core\event\base;
|
||||
use lang_string;
|
||||
use moodle_url;
|
||||
|
||||
@@ -24,8 +24,6 @@
|
||||
|
||||
namespace local_webhooks\event;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
use core\event\base;
|
||||
use lang_string;
|
||||
use moodle_url;
|
||||
@@ -61,7 +59,7 @@ class service_updated extends base {
|
||||
* @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', ['serviceid' => $this->objectid]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -96,7 +96,7 @@ class handler {
|
||||
*/
|
||||
private static function send($data, $callback) {
|
||||
$curl = new curl();
|
||||
$curl->setHeader(array('Content-Type: application/' . $callback->type));
|
||||
$curl->setHeader(['Content-Type: application/' . $callback->type]);
|
||||
$curl->post($callback->url, json_encode($data));
|
||||
|
||||
$response = $curl->getResponse();
|
||||
|
||||
@@ -24,12 +24,12 @@
|
||||
|
||||
namespace local_webhooks\privacy;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
/**
|
||||
* Declares that the plugin does not store personal data.
|
||||
*/
|
||||
class provider implements
|
||||
// This plugin does not store any personal user data.
|
||||
\core_privacy\local\metadata\null_provider {
|
||||
|
||||
/**
|
||||
* Get the language string identifier with the component's language
|
||||
* file to explain why this plugin stores no data.
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
<?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 the service editing form.
|
||||
*
|
||||
* @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($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 {
|
||||
/**
|
||||
* Defines the standard structure of the form.
|
||||
*
|
||||
* @throws \coding_exception
|
||||
*/
|
||||
protected function definition() {
|
||||
$mform =& $this->_form;
|
||||
$size = ['size' => 60];
|
||||
|
||||
/* Form heading */
|
||||
$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);
|
||||
|
||||
/* Callback address */
|
||||
$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');
|
||||
|
||||
/* Token */
|
||||
$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');
|
||||
|
||||
/* Content type */
|
||||
$contenttype = [
|
||||
'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'));
|
||||
|
||||
/* List of events */
|
||||
$eventlist = report_eventlist_list_generator::get_all_events_list();
|
||||
$events = [];
|
||||
|
||||
/* Formation of the list of elements */
|
||||
foreach ($eventlist as $event) {
|
||||
/* Escaping event names */
|
||||
$eventname = base64_encode($event['eventname']);
|
||||
$events[$event['component']][] =& $mform->createElement('checkbox', $eventname, $event['eventname']);
|
||||
}
|
||||
|
||||
/* Displays groups of items */
|
||||
foreach ($events as $key => $event) {
|
||||
$mform->addGroup($event, 'events', $key, '<br />');
|
||||
}
|
||||
|
||||
/* Control Panel */
|
||||
$this->add_action_buttons();
|
||||
}
|
||||
}
|
||||
@@ -52,80 +52,3 @@ class service_backup_form extends moodleform {
|
||||
$this->add_action_buttons(true, new lang_string('restore', 'moodle'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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 {
|
||||
/**
|
||||
* Defines the standard structure of the form.
|
||||
*
|
||||
* @throws \coding_exception
|
||||
*/
|
||||
protected function definition() {
|
||||
$mform =& $this->_form;
|
||||
$size = ['size' => 60];
|
||||
|
||||
/* Form heading */
|
||||
$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);
|
||||
|
||||
/* Callback address */
|
||||
$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');
|
||||
|
||||
/* Token */
|
||||
$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');
|
||||
|
||||
/* Content type */
|
||||
$contenttype = [
|
||||
'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'));
|
||||
|
||||
/* List of events */
|
||||
$eventlist = report_eventlist_list_generator::get_all_events_list();
|
||||
$events = [];
|
||||
|
||||
/* Formation of the list of elements */
|
||||
foreach ($eventlist as $event) {
|
||||
/* Escaping event names */
|
||||
$eventname = base64_encode($event['eventname']);
|
||||
$events[$event['component']][] =& $mform->createElement('checkbox', $eventname, $event['eventname']);
|
||||
}
|
||||
|
||||
/* Displays groups of items */
|
||||
foreach ($events as $key => $event) {
|
||||
$mform->addGroup($event, 'events', $key, '<br />');
|
||||
}
|
||||
|
||||
/* Control Panel */
|
||||
$this->add_action_buttons();
|
||||
}
|
||||
}
|
||||
+4
-4
@@ -24,12 +24,12 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$observers = array(
|
||||
array(
|
||||
$observers = [
|
||||
[
|
||||
'callback' => '\local_webhooks\handler::events',
|
||||
'eventname' => '*',
|
||||
'includefile' => null,
|
||||
'internal' => true,
|
||||
'priority' => 200,
|
||||
),
|
||||
);
|
||||
],
|
||||
];
|
||||
|
||||
+4
-4
@@ -23,7 +23,7 @@
|
||||
*/
|
||||
|
||||
require_once(__DIR__ . '/../../config.php');
|
||||
require_once(__DIR__ . '/classes/service_form.php');
|
||||
require_once(__DIR__ . '/classes/service_edit_form.php');
|
||||
require_once(__DIR__ . '/lib.php');
|
||||
|
||||
require_once($CFG->libdir . '/adminlib.php');
|
||||
@@ -32,7 +32,7 @@ require_once($CFG->libdir . '/adminlib.php');
|
||||
$serviceid = optional_param('serviceid', 0, PARAM_INT);
|
||||
|
||||
/* Link generation */
|
||||
$urlparameters = array('serviceid' => $serviceid);
|
||||
$urlparameters = ['serviceid' => $serviceid];
|
||||
$baseurl = new moodle_url('/local/webhooks/editservice.php', $urlparameters);
|
||||
$managerservice = new moodle_url('/local/webhooks/index.php');
|
||||
|
||||
@@ -54,7 +54,7 @@ if (($editing = (bool) $serviceid) === true) {
|
||||
$servicerecord = local_webhooks_get_record($serviceid);
|
||||
|
||||
if (is_array($servicerecord->events)) {
|
||||
$events = array();
|
||||
$events = [];
|
||||
|
||||
/* Escaping event names */
|
||||
foreach ($servicerecord->events as $eventname => $eventstatus) {
|
||||
@@ -71,7 +71,7 @@ if (($editing = (bool) $serviceid) === true) {
|
||||
/* Processing of received data */
|
||||
if (!empty($data = $mform->get_data())) {
|
||||
if (is_array($data->events)) {
|
||||
$events = array();
|
||||
$events = [];
|
||||
|
||||
/* Deciphering event names */
|
||||
foreach ($data->events as $eventname => $eventstatus) {
|
||||
|
||||
@@ -81,19 +81,19 @@ $table = new flexible_table('webhooks-service-table');
|
||||
|
||||
/* Customize the table */
|
||||
$table->define_columns(
|
||||
array(
|
||||
[
|
||||
'title',
|
||||
'url',
|
||||
'actions',
|
||||
)
|
||||
]
|
||||
);
|
||||
|
||||
$table->define_headers(
|
||||
array(
|
||||
[
|
||||
new lang_string('name', 'moodle'),
|
||||
new lang_string('url', 'moodle'),
|
||||
new lang_string('actions', 'moodle'),
|
||||
)
|
||||
]
|
||||
);
|
||||
|
||||
$table->define_baseurl($baseurl);
|
||||
@@ -113,19 +113,19 @@ foreach ($callbacks as $callback) {
|
||||
}
|
||||
|
||||
/* Link to enable / disable the service */
|
||||
$hideshowlink = new moodle_url($managerservice, array('hideshowid' => $callback->id));
|
||||
$hideshowlink = new moodle_url($managerservice, ['hideshowid' => $callback->id]);
|
||||
$hideshowitem = $OUTPUT->action_icon($hideshowlink, new pix_icon($hideshowicon, $hideshowstring));
|
||||
|
||||
/* Link for editing */
|
||||
$editlink = new moodle_url($editservice, array('serviceid' => $callback->id));
|
||||
$editlink = new moodle_url($editservice, ['serviceid' => $callback->id]);
|
||||
$edititem = $OUTPUT->action_icon($editlink, new pix_icon('t/edit', new lang_string('edit', 'moodle')));
|
||||
|
||||
/* Link to remove */
|
||||
$deletelink = new moodle_url($managerservice, array('deleteid' => $callback->id));
|
||||
$deletelink = new moodle_url($managerservice, ['deleteid' => $callback->id]);
|
||||
$deleteitem = $OUTPUT->action_icon($deletelink, new pix_icon('t/delete', new lang_string('delete', 'moodle')));
|
||||
|
||||
/* Adding data to the table */
|
||||
$table->add_data(array($titlecallback, $urlcallback, $hideshowitem . $edititem . $deleteitem));
|
||||
$table->add_data([$titlecallback, $urlcallback, $hideshowitem . $edititem . $deleteitem]);
|
||||
}
|
||||
|
||||
/* Display the table */
|
||||
@@ -136,7 +136,7 @@ $addserviceurl = new moodle_url($editservice);
|
||||
echo $OUTPUT->single_button($addserviceurl, new lang_string('addaservice', 'webservice'), 'get');
|
||||
|
||||
/* Button to get a backup */
|
||||
$backupurl = new moodle_url($managerservice, array('getbackup' => true));
|
||||
$backupurl = new moodle_url($managerservice, ['getbackup' => true]);
|
||||
echo $OUTPUT->single_button($backupurl, new lang_string('backup', 'moodle'), 'get');
|
||||
|
||||
/* Button for restoring settings */
|
||||
|
||||
@@ -60,7 +60,7 @@ function local_webhooks_get_list_records($limitfrom = 0, $limitnum = 0) {
|
||||
function local_webhooks_get_record($serviceid = 0) {
|
||||
global $DB;
|
||||
|
||||
$servicerecord = $DB->get_record('local_webhooks_service', array('id' => $serviceid), '*', MUST_EXIST);
|
||||
$servicerecord = $DB->get_record('local_webhooks_service', ['id' => $serviceid], '*', MUST_EXIST);
|
||||
|
||||
if (!empty($servicerecord->events)) {
|
||||
$servicerecord->events = local_webhooks_unarchive_data($servicerecord->events);
|
||||
@@ -91,7 +91,7 @@ function local_webhooks_remove_list_records() {
|
||||
function local_webhooks_remove_record($serviceid = 0) {
|
||||
global $DB;
|
||||
|
||||
$DB->delete_records('local_webhooks_service', array('id' => $serviceid));
|
||||
$DB->delete_records('local_webhooks_service', ['id' => $serviceid]);
|
||||
local_webhooks_events::service_deleted($serviceid);
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ function local_webhooks_update_record($data, $insert = true) {
|
||||
global $DB;
|
||||
|
||||
if (empty($data->events)) {
|
||||
$data->events = array();
|
||||
$data->events = [];
|
||||
}
|
||||
|
||||
$data->events = local_webhooks_archiving_data($data->events);
|
||||
@@ -167,7 +167,7 @@ function local_webhooks_restore_backup($listservices = '') {
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function local_webhooks_archiving_data(array $data = array()) {
|
||||
function local_webhooks_archiving_data(array $data = []) {
|
||||
return base64_encode(gzcompress(serialize($data), 3));
|
||||
}
|
||||
|
||||
|
||||
+8
-10
@@ -22,8 +22,6 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
/**
|
||||
* Description of functions of the call of events
|
||||
*
|
||||
@@ -41,10 +39,10 @@ class local_webhooks_events {
|
||||
$context = context_system::instance();
|
||||
|
||||
$event = local_webhooks\event\backup_performed::create(
|
||||
array(
|
||||
[
|
||||
'context' => $context,
|
||||
'objectid' => 0,
|
||||
)
|
||||
]
|
||||
);
|
||||
|
||||
$event->trigger();
|
||||
@@ -60,10 +58,10 @@ class local_webhooks_events {
|
||||
$context = context_system::instance();
|
||||
|
||||
$event = local_webhooks\event\backup_restored::create(
|
||||
array(
|
||||
[
|
||||
'context' => $context,
|
||||
'objectid' => 0,
|
||||
)
|
||||
]
|
||||
);
|
||||
|
||||
$event->trigger();
|
||||
@@ -78,7 +76,7 @@ class local_webhooks_events {
|
||||
* @throws \coding_exception
|
||||
* @throws \dml_exception
|
||||
*/
|
||||
public static function response_answer($objectid = 0, array $response = array()) {
|
||||
public static function response_answer($objectid = 0, array $response = []) {
|
||||
$context = context_system::instance();
|
||||
|
||||
$status = 'Error sending request';
|
||||
@@ -87,11 +85,11 @@ class local_webhooks_events {
|
||||
}
|
||||
|
||||
$event = local_webhooks\event\response_answer::create(
|
||||
array(
|
||||
[
|
||||
'context' => $context,
|
||||
'objectid' => $objectid,
|
||||
'other' => array('status' => $status),
|
||||
)
|
||||
'other' => ['status' => $status],
|
||||
]
|
||||
);
|
||||
|
||||
$event->trigger();
|
||||
|
||||
+2
-3
@@ -24,11 +24,10 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
/* @var \admin_root $ADMIN */
|
||||
|
||||
if ($hassiteconfig) {
|
||||
$ADMIN->add(
|
||||
'server', new admin_externalpage(
|
||||
'server',
|
||||
new admin_externalpage(
|
||||
'local_webhooks',
|
||||
new lang_string('pluginname', 'local_webhooks'),
|
||||
new moodle_url('/local/webhooks/index.php')
|
||||
|
||||
Reference in New Issue
Block a user