X7ROOT File Manager
Current Path:
/home/cbholdings/pasukulu/admin/tool/monitor/classes
home
/
cbholdings
/
pasukulu
/
admin
/
tool
/
monitor
/
classes
/
📁
..
📁
event
📄
eventlist.php
(4.89 KB)
📄
eventobservers.php
(10.58 KB)
📄
notification_task.php
(5.12 KB)
📁
output
📁
privacy
📄
rule.php
(8.65 KB)
📄
rule_form.php
(5.85 KB)
📄
rule_manager.php
(9.41 KB)
📄
subscription.php
(6.16 KB)
📄
subscription_manager.php
(20.9 KB)
📁
task
Editing: eventlist.php
<?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/>. namespace tool_monitor; use core_component; use ReflectionClass; /** * Class for returning event information. * * @since Moodle 2.8 * @package tool_monitor * @copyright 2014 onwards Ankit Agarwal <ankit.agrr@gmail.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class eventlist { /** * Get a list of events present in the system. * * @param bool $withoutcomponent Return an eventlist without associated components. * * @return array list of events present in the system. */ public static function get_all_eventlist($withoutcomponent = false) { global $CFG; // Disable developer debugging as deprecated events will fire warnings. // Setup backup variables to restore the following settings back to what they were when we are finished. $debuglevel = $CFG->debug; $debugdisplay = $CFG->debugdisplay; $debugdeveloper = $CFG->debugdeveloper; $CFG->debug = 0; $CFG->debugdisplay = false; $CFG->debugdeveloper = false; // List of exceptional events that will cause problems if displayed. $eventsignore = [ \core\event\unknown_logged::class, \logstore_legacy\event\legacy_logged::class, ]; $return = []; $events = core_component::get_component_classes_in_namespace(null, 'event'); foreach (array_keys($events) as $event) { // We need to filter all classes that extend event base, or the base class itself. if (is_a($event, \core\event\base::class, true) && !in_array($event, $eventsignore)) { $reflectionclass = new ReflectionClass($event); if ($reflectionclass->isAbstract()) { continue; } // We can't choose this component's own events. [$component] = explode('\\', $event); if ($component === 'tool_monitor') { continue; } if ($withoutcomponent) { $return["\\{$event}"] = $event::get_name_with_info(); } else { $return[$component]["\\{$event}"] = $event::get_name_with_info(); } } } // Now enable developer debugging as event information has been retrieved. $CFG->debug = $debuglevel; $CFG->debugdisplay = $debugdisplay; $CFG->debugdeveloper = $debugdeveloper; if ($withoutcomponent) { array_multisort($return, SORT_NATURAL); } return $return; } /** * Return list of plugins that have events. * * @param array $eventlist a list of events present in the system {@link eventlist::get_all_eventlist}. * * @return array list of plugins with human readable name. */ public static function get_plugin_list($eventlist = array()) { if (empty($eventlist)) { $eventlist = self::get_all_eventlist(); } $plugins = array_keys($eventlist); $return = array(); foreach ($plugins as $plugin) { if ($plugin === 'core') { $return[$plugin] = get_string('core', 'tool_monitor'); } else if (get_string_manager()->string_exists('pluginname', $plugin)) { $return[$plugin] = get_string('pluginname', $plugin); } else { $return[$plugin] = $plugin; } } return $return; } /** * validate if the given event belongs to the given plugin. * * @param string $plugin Frankenstyle name of the plugin. * @param string $eventname Full qualified event name. * @param array $eventlist List of events generated by {@link eventlist::get_all_eventlist} * * @return bool Returns true if the selected event belongs to the selected plugin, false otherwise. */ public static function validate_event_plugin($plugin, $eventname, $eventlist = array()) { if (empty($eventlist)) { $eventlist = self::get_all_eventlist(); } if (isset($eventlist[$plugin][$eventname])) { return true; } return false; } }
Upload File
Create Folder