From 8c6dc9b0e5651e301118efa3be5960e00dda322e Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Tue, 21 Nov 2017 09:02:16 +0400 Subject: Initial commit --- classes/observer.php | 59 ++++++++++++++++++++++++++++++++++++++++++ db/events.php | 42 ++++++++++++++++++++++++++++++ lang/en/local_billingpatch.php | 25 ++++++++++++++++++ version.php | 31 ++++++++++++++++++++++ 4 files changed, 157 insertions(+) create mode 100644 classes/observer.php create mode 100644 db/events.php create mode 100644 lang/en/local_billingpatch.php create mode 100644 version.php diff --git a/classes/observer.php b/classes/observer.php new file mode 100644 index 0000000..dbe9d61 --- /dev/null +++ b/classes/observer.php @@ -0,0 +1,59 @@ +. + +/** + * Event handlers. + * + * @package local_billingpatch + * @copyright 2017 "Valentin Popov" + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace local_billingpatch; + +defined("MOODLE_INTERNAL") || die(); + +/** + * Description of event handlers. + * + * @copyright 2017 "Valentin Popov" + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class observer { + /** + * External function, called by the observer. + * + * @param object $event + */ + public static function course_module($event) { + $data = $event->get_data(); + + if ($data["other"]["modulename"] == "bigbluebuttonbn") { + self::monkey_patch_bigbluebuttonbn($data["other"]["instanceid"]); + } + } + + /** + * Patches for BigBlueButton. + * + * @param number $instanceid + */ + private static function monkey_patch_bigbluebuttonbn($instanceid = 0) { + global $DB; + $module = $DB->get_record("bigbluebuttonbn", array("id" => $instanceid)); + $DB->set_field("event", "timeduration", $module->closingtime); + } +} \ No newline at end of file diff --git a/db/events.php b/db/events.php new file mode 100644 index 0000000..ad4d9a6 --- /dev/null +++ b/db/events.php @@ -0,0 +1,42 @@ +. + +/** + * Describe the observers required plug-in. + * + * @package local_billingpatch + * @copyright 2017 "Valentin Popov" + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined("MOODLE_INTERNAL") || die(); + +$observers = array( + array( + "callback" => "\local_billingpatch\\observer::course_module", + "eventname" => "\core\\event\\course_module_updated", + "includefile" => null, + "internal" => true, + "priority" => 9999 + ), + array( + "callback" => "\local_billingpatch\\observer::course_module", + "eventname" => "\core\\event\\course_module_created", + "includefile" => null, + "internal" => true, + "priority" => 9999 + ) +); \ No newline at end of file diff --git a/lang/en/local_billingpatch.php b/lang/en/local_billingpatch.php new file mode 100644 index 0000000..6a082af --- /dev/null +++ b/lang/en/local_billingpatch.php @@ -0,0 +1,25 @@ +. + +/** + * Strings for component 'local_billingpatch', language 'en'. + * + * @package local_billingpatch + * @copyright 2017 "Valentin Popov" + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +$string["pluginname"] = "System of patches for billing"; \ No newline at end of file diff --git a/version.php b/version.php new file mode 100644 index 0000000..120b874 --- /dev/null +++ b/version.php @@ -0,0 +1,31 @@ +. + +/** + * Version information. + * + * @package local_billingpatch + * @copyright 2017 "Valentin Popov" + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined("MOODLE_INTERNAL") || die(); + +$plugin->component = "local_billingpatch"; +$plugin->maturity = MATURITY_ALPHA; +$plugin->release = "0.0.0 (Build: 2013110500)"; +$plugin->requires = 2013110500; +$plugin->version = 2013110500; \ No newline at end of file -- cgit v1.2.3