diff options
-rw-r--r-- | classes/observer.php | 59 | ||||
-rw-r--r-- | db/events.php | 42 | ||||
-rw-r--r-- | lang/en/local_billingpatch.php | 25 | ||||
-rw-r--r-- | version.php | 31 |
4 files changed, 157 insertions, 0 deletions
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 @@ +<?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/>. + +/** + * Event handlers. + * + * @package local_billingpatch + * @copyright 2017 "Valentin Popov" <info@valentineus.link> + * @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" <info@valentineus.link> + * @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 @@ +<?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/>. + +/** + * Describe the observers required plug-in. + * + * @package local_billingpatch + * @copyright 2017 "Valentin Popov" <info@valentineus.link> + * @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 @@ +<?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/>. + +/** + * Strings for component 'local_billingpatch', language 'en'. + * + * @package local_billingpatch + * @copyright 2017 "Valentin Popov" <info@valentineus.link> + * @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 @@ +<?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/>. + +/** + * Version information. + * + * @package local_billingpatch + * @copyright 2017 "Valentin Popov" <info@valentineus.link> + * @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 |