Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d4d105c018 | ||
|
|
3ea8f29329 | ||
|
|
c1077bc9c1 | ||
|
|
bc02d0dce2 | ||
|
|
93d788f046 | ||
|
|
29c12fa971 | ||
|
|
1e8cbe7f09 | ||
|
|
ad07800be9 | ||
|
|
f28b408b1e |
@@ -0,0 +1,65 @@
|
||||
<?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/>.
|
||||
|
||||
/**
|
||||
* Registration of the system of events.
|
||||
*
|
||||
* @package local_webhooks
|
||||
* @copyright 2017 "Valentin Popov" <info@valentineus.link>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace local_webhooks\event;
|
||||
|
||||
defined("MOODLE_INTERNAL") || die();
|
||||
|
||||
/**
|
||||
* 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";
|
||||
}
|
||||
|
||||
/**
|
||||
* Return localised event name.
|
||||
*/
|
||||
public static function get_name() {
|
||||
return new \lang_string("create", "moodle");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns description of what happened.
|
||||
*/
|
||||
public function get_description() {
|
||||
return new \lang_string("backup", "moodle");
|
||||
}
|
||||
|
||||
/**
|
||||
* Get URL related to the action.
|
||||
*/
|
||||
public function get_url() {
|
||||
return new \moodle_url("/local/webhooks/managerservice.php");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
<?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/>.
|
||||
|
||||
/**
|
||||
* Registration of the system of events.
|
||||
*
|
||||
* @package local_webhooks
|
||||
* @copyright 2017 "Valentin Popov" <info@valentineus.link>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace local_webhooks\event;
|
||||
|
||||
defined("MOODLE_INTERNAL") || die();
|
||||
|
||||
/**
|
||||
* 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";
|
||||
}
|
||||
|
||||
/**
|
||||
* Return localised event name.
|
||||
*/
|
||||
public static function get_name() {
|
||||
return new \lang_string("update", "moodle");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns description of what happened.
|
||||
*/
|
||||
public function get_description() {
|
||||
return new \lang_string("backupfinished", "moodle");
|
||||
}
|
||||
|
||||
/**
|
||||
* Get URL related to the action.
|
||||
*/
|
||||
public function get_url() {
|
||||
return new \moodle_url("/local/webhooks/managerservice.php");
|
||||
}
|
||||
}
|
||||
@@ -32,7 +32,7 @@ defined("MOODLE_INTERNAL") || die();
|
||||
* @copyright 2017 "Valentin Popov" <info@valentineus.link>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class response_get extends \core\event\base {
|
||||
class response_answer extends \core\event\base {
|
||||
/**
|
||||
* Init method.
|
||||
*/
|
||||
@@ -0,0 +1,65 @@
|
||||
<?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/>.
|
||||
|
||||
/**
|
||||
* Registration of the system of events.
|
||||
*
|
||||
* @package local_webhooks
|
||||
* @copyright 2017 "Valentin Popov" <info@valentineus.link>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace local_webhooks\event;
|
||||
|
||||
defined("MOODLE_INTERNAL") || die();
|
||||
|
||||
/**
|
||||
* 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";
|
||||
}
|
||||
|
||||
/**
|
||||
* Return localised event name.
|
||||
*/
|
||||
public static function get_name() {
|
||||
return new \lang_string("create", "moodle");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns description of what happened.
|
||||
*/
|
||||
public function get_description() {
|
||||
return new \lang_string("eventwebserviceservicecreated", "webservice");
|
||||
}
|
||||
|
||||
/**
|
||||
* Get URL related to the action.
|
||||
*/
|
||||
public function get_url() {
|
||||
return new \moodle_url("/local/webhooks/editservice.php", array("serviceid" => $this->objectid));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
<?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/>.
|
||||
|
||||
/**
|
||||
* Registration of the system of events.
|
||||
*
|
||||
* @package local_webhooks
|
||||
* @copyright 2017 "Valentin Popov" <info@valentineus.link>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace local_webhooks\event;
|
||||
|
||||
defined("MOODLE_INTERNAL") || die();
|
||||
|
||||
/**
|
||||
* 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";
|
||||
}
|
||||
|
||||
/**
|
||||
* Return localised event name.
|
||||
*/
|
||||
public static function get_name() {
|
||||
return new \lang_string("deleted", "moodle");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns description of what happened.
|
||||
*/
|
||||
public function get_description() {
|
||||
return new \lang_string("eventwebserviceservicedeleted", "webservice");
|
||||
}
|
||||
|
||||
/**
|
||||
* Get URL related to the action.
|
||||
*/
|
||||
public function get_url() {
|
||||
return new \moodle_url("/local/webhooks/editservice.php", array("serviceid" => $this->objectid));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
<?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/>.
|
||||
|
||||
/**
|
||||
* Registration of the system of events.
|
||||
*
|
||||
* @package local_webhooks
|
||||
* @copyright 2017 "Valentin Popov" <info@valentineus.link>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace local_webhooks\event;
|
||||
|
||||
defined("MOODLE_INTERNAL") || die();
|
||||
|
||||
/**
|
||||
* 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";
|
||||
}
|
||||
|
||||
/**
|
||||
* Return localised event name.
|
||||
*/
|
||||
public static function get_name() {
|
||||
return new \lang_string("update", "moodle");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns description of what happened.
|
||||
*/
|
||||
public function get_description() {
|
||||
return new \lang_string("eventwebserviceserviceupdated", "webservice");
|
||||
}
|
||||
|
||||
/**
|
||||
* Get URL related to the action.
|
||||
*/
|
||||
public function get_url() {
|
||||
return new \moodle_url("/local/webhooks/editservice.php", array("serviceid" => $this->objectid));
|
||||
}
|
||||
}
|
||||
+6
-1
@@ -71,6 +71,8 @@ class handler {
|
||||
* @param object $callback
|
||||
*/
|
||||
private static function handler_callback($data, $callback) {
|
||||
global $CFG;
|
||||
|
||||
if (boolval($callback->enable)) {
|
||||
$events = array();
|
||||
if (!empty($callback->events)) {
|
||||
@@ -78,6 +80,9 @@ class handler {
|
||||
}
|
||||
|
||||
if (!empty($events[$data["eventname"]])) {
|
||||
$urlparse = parse_url($CFG->wwwroot);
|
||||
$data["host"] = $urlparse['host'];
|
||||
|
||||
if (!empty($callback->token)) {
|
||||
$data["token"] = $callback->token;
|
||||
}
|
||||
@@ -118,7 +123,7 @@ class handler {
|
||||
$status = $response["HTTP/1.1"];
|
||||
}
|
||||
|
||||
$event = \local_webhooks\event\response_get::create(
|
||||
$event = \local_webhooks\event\response_answer::create(
|
||||
array(
|
||||
"context" => \context_system::instance(0),
|
||||
"objectid" => $callback->id,
|
||||
|
||||
+11
-1
@@ -71,9 +71,19 @@ if ($data = $mform->get_data()) {
|
||||
if ($editing) {
|
||||
$data->id = $serviceid;
|
||||
$DB->update_record("local_webhooks_service", $data);
|
||||
|
||||
/* Run the event */
|
||||
$event = \local_webhooks\event\service_updated::create(array("context" => $context, "objectid" => $data->id));
|
||||
$event->trigger();
|
||||
|
||||
redirect($managerservice, new lang_string("eventwebserviceserviceupdated", "webservice"));
|
||||
} else {
|
||||
$DB->insert_record("local_webhooks_service", $data);
|
||||
$servicenewid = $DB->insert_record("local_webhooks_service", $data);
|
||||
|
||||
/* Run the event */
|
||||
$event = \local_webhooks\event\service_added::create(array("context" => $context, "objectid" => $servicenewid));
|
||||
$event->trigger();
|
||||
|
||||
redirect($managerservice, new lang_string("eventwebserviceservicecreated", "webservice"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,6 +49,11 @@ $PAGE->set_context($context);
|
||||
/* Delete the service */
|
||||
if (boolval($deleteid) && confirm_sesskey()) {
|
||||
$DB->delete_records("local_webhooks_service", array("id" => $deleteid));
|
||||
|
||||
/* Run the event */
|
||||
$event = \local_webhooks\event\service_deleted::create(array("context" => $context, "objectid" => $deleteid));
|
||||
$event->trigger();
|
||||
|
||||
redirect($PAGE->url, new lang_string("eventwebserviceservicedeleted", "webservice"));
|
||||
}
|
||||
|
||||
@@ -59,6 +64,11 @@ $callbacks = $DB->get_records_select("local_webhooks_service", null, null, $DB->
|
||||
if (boolval($backupservices)) {
|
||||
$filecontent = base64_encode(gzcompress(serialize($callbacks), 9));
|
||||
$filename = "webhooks_" . date("U") . ".backup";
|
||||
|
||||
/* Run the event */
|
||||
$event = \local_webhooks\event\backup_performed::create(array("context" => $context, "objectid" => 0));
|
||||
$event->trigger();
|
||||
|
||||
send_file($filecontent, $filename, 0, 0, true, true);
|
||||
}
|
||||
|
||||
@@ -69,6 +79,11 @@ if (boolval($hideshowid) && confirm_sesskey()) {
|
||||
if (!empty($callback)) {
|
||||
$callback->enable = !boolval($callback->enable);
|
||||
$DB->update_record("local_webhooks_service", $callback);
|
||||
|
||||
/* Run the event */
|
||||
$event = \local_webhooks\event\service_updated::create(array("context" => $context, "objectid" => $hideshowid));
|
||||
$event->trigger();
|
||||
|
||||
redirect($PAGE->url, new lang_string("eventwebserviceserviceupdated", "webservice"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,6 +56,10 @@ if (boolval($data) && confirm_sesskey()) {
|
||||
$DB->insert_record("local_webhooks_service", $callback);
|
||||
}
|
||||
|
||||
/* Run the event */
|
||||
$event = \local_webhooks\event\backup_restored::create(array("context" => $context, "objectid" => 0));
|
||||
$event->trigger();
|
||||
|
||||
redirect($managerservice, new lang_string("restorefinished", "moodle"));
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -24,8 +24,8 @@
|
||||
|
||||
defined("MOODLE_INTERNAL") || die();
|
||||
|
||||
$plugin->release = "2.0.0 (Build: 2017111800)";
|
||||
$plugin->version = 2017111800;
|
||||
$plugin->release = "2.1.0 (Build: 2017111810)";
|
||||
$plugin->version = 2017111810;
|
||||
$plugin->requires = 2016112900;
|
||||
$plugin->component = "local_webhooks";
|
||||
$plugin->maturity = MATURITY_STABLE;
|
||||
Reference in New Issue
Block a user