mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 08:22:07 +02:00
Merge branch 'MDL-72498' of git://github.com/paulholden/moodle
This commit is contained in:
commit
04f7132ca6
@ -40,7 +40,47 @@ class report_eventlist_list_generator {
|
||||
* @return array All events.
|
||||
*/
|
||||
public static function get_all_events_list($detail = true) {
|
||||
return array_merge(self::get_core_events_list($detail), self::get_non_core_event_list($detail));
|
||||
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,
|
||||
];
|
||||
|
||||
$eventinformation = [];
|
||||
|
||||
$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)) {
|
||||
if ($detail) {
|
||||
$reflectionclass = new ReflectionClass($event);
|
||||
if (!$reflectionclass->isAbstract()) {
|
||||
$eventinformation = self::format_data($eventinformation, "\\${event}");
|
||||
}
|
||||
} else {
|
||||
$parts = explode('\\', $event);
|
||||
$eventinformation["\\${event}"] = array_shift($parts);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Now enable developer debugging as event information has been retrieved.
|
||||
$CFG->debug = $debuglevel;
|
||||
$CFG->debugdisplay = $debugdisplay;
|
||||
$CFG->debugdeveloper = $debugdeveloper;
|
||||
|
||||
return $eventinformation;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -48,10 +88,15 @@ class report_eventlist_list_generator {
|
||||
*
|
||||
* @param bool $detail True will return details, but no abstract classes, False will return all events, but no details.
|
||||
* @return array Core events.
|
||||
*
|
||||
* @deprecated since 4.0 use {@see get_all_events_list} instead
|
||||
*/
|
||||
public static function get_core_events_list($detail = true) {
|
||||
global $CFG;
|
||||
|
||||
debugging(__FUNCTION__ . '() is deprecated, please use report_eventlist_list_generator::get_all_events_list() instead',
|
||||
DEBUG_DEVELOPER);
|
||||
|
||||
// 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;
|
||||
@ -173,9 +218,15 @@ class report_eventlist_list_generator {
|
||||
*
|
||||
* @param bool $detail True will return details, but no abstract classes, False will return all events, but no details.
|
||||
* @return array A list of events from all plug-ins.
|
||||
*
|
||||
* @deprecated since 4.0 use {@see get_all_events_list} instead
|
||||
*/
|
||||
public static function get_non_core_event_list($detail = true) {
|
||||
global $CFG;
|
||||
|
||||
debugging(__FUNCTION__ . '() is deprecated, please use report_eventlist_list_generator::get_all_events_list() instead',
|
||||
DEBUG_DEVELOPER);
|
||||
|
||||
// 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;
|
||||
|
8
report/eventlist/upgrade.txt
Normal file
8
report/eventlist/upgrade.txt
Normal file
@ -0,0 +1,8 @@
|
||||
This file describes API changes in /report/eventlist/*,
|
||||
information provided here is intended especially for developers.
|
||||
|
||||
=== 4.0 ===
|
||||
* The following methods have been deprecated in favour of a single `get_all_events_list` method:
|
||||
- report_eventlist_list_generator::get_core_events_list
|
||||
- report_eventlist_list_generator::get_non_core_event_list
|
||||
|
@ -181,8 +181,6 @@ Y.extend(EventFilter, Y.Base, {
|
||||
_totalFilter: function() {
|
||||
// Get all of the details of the filter elements
|
||||
var eventNameFilter = this._eventName.get('value').toLowerCase(),
|
||||
// Component selected text.
|
||||
componentFilter = this._component.get('options').item(this._component.get('selectedIndex')).get('text').toLowerCase(),
|
||||
// Component selected value.
|
||||
componentValue = this._component.get('value'),
|
||||
// Education level selected text.
|
||||
@ -201,7 +199,7 @@ Y.extend(EventFilter, Y.Base, {
|
||||
// These variables will either be false or true depending on the statement outcome.
|
||||
var fullEventText = Y.Node.create(this.get('tabledata')[i].fulleventname).get('text'),
|
||||
eventNameValue = fullEventText.toLowerCase().indexOf(eventNameFilter) >= 0,
|
||||
componentFilterValue = this.get('tabledata')[i].component.toLowerCase().indexOf(componentFilter) >= 0,
|
||||
componentFilterValue = fullEventText.toLowerCase().indexOf('\\' + componentValue + '\\event\\') >= 0,
|
||||
eduLevelFilterValue = this.get('tabledata')[i].edulevel.toLowerCase().indexOf(eduLevelFilter) >= 0,
|
||||
crudFilterValue = this.get('tabledata')[i].crud.toLowerCase().indexOf(crudFilter) >= 0;
|
||||
// If the name field is empty then add to the filter.
|
||||
|
@ -1 +1 @@
|
||||
YUI.add("moodle-report_eventlist-eventfilter",function(g,e){function t(){t.superclass.constructor.apply(this,arguments)}var l="#id_eventname",n="#id_eventcomponent",i="#id_eventedulevel",a="#id_eventcrud",r="#id_filterbutton",s="#id_clearbutton";g.extend(t,g.Base,{_table:null,_eventName:null,_component:null,_eduLevel:null,_crud:null,initializer:function(){var e=g.one(r),t=g.one(s);this._createTable(this.get("tabledata")),this._eventName=g.one(l),this._component=g.one(n),this._eduLevel=g.one(i),this._crud=g.one(a),this._eventName.on("valuechange",this._totalFilter,this),e.on("click",this._totalFilter,this),t.on("click",this._clearFilter,this)},_createTable:function(e){var t=new g.DataTable({columns:[{key:"fulleventname",label:M.util.get_string("eventname","report_eventlist"),allowHTML:!0,sortable:!0,sortFn:function(e,t,l){var n=e.getAttrs().raweventname,i=t.getAttrs().raweventname<n?1:-1;return l?-i:i},title:M.util.get_string("eventname","report_eventlist")},{key:"component",label:M.util.get_string("component","report_eventlist"),allowHTML:!0,sortable:!0,title:M.util.get_string("component","report_eventlist")},{key:"edulevel",label:M.util.get_string("edulevel","report_eventlist"),sortable:!0,title:M.util.get_string("edulevel","report_eventlist")},{key:"crud",label:M.util.get_string("crud","report_eventlist"),sortable:!0,title:M.util.get_string("crud","report_eventlist")},{key:"objecttable",label:M.util.get_string("affectedtable","report_eventlist"),sortable:!0,title:M.util.get_string("affectedtable","report_eventlist")},{key:"since",label:M.util.get_string("since","report_eventlist"),sortable:!0,title:M.util.get_string("since","report_eventlist")},{key:"legacyevent",label:M.util.get_string("legacyevent","report_eventlist"),sortable:!0,title:M.util.get_string("legacyevent","report_eventlist")}],data:e,strings:{sortBy:"{title}",reverseSortBy:"{title}"}});return t.render("#report-eventlist-table"),t.get("boundingBox").addClass("report-eventlist-datatable-table"),this._table=t,this},_totalFilter:function(){var e,t,l,n,i,a=this._eventName.get("value").toLowerCase(),r=this._component.get("options").item(this._component.get("selectedIndex")).get("text").toLowerCase(),s=this._component.get("value"),o=this._eduLevel.get("options").item(this._eduLevel.get("selectedIndex")).get("text").toLowerCase(),u=this._eduLevel.get("value"),_=this._crud.get("options").item(this._crud.get("selectedIndex")).get("text").toLowerCase(),v=this._crud.get("value"),d=[];for(e=0;e<this.get("tabledata").length;e++)t=0<=g.Node.create(this.get("tabledata")[e].fulleventname).get("text").toLowerCase().indexOf(a),l=0<=this.get("tabledata")[e].component.toLowerCase().indexOf(r),n=0<=this.get("tabledata")[e].edulevel.toLowerCase().indexOf(o),i=0<=this.get("tabledata")[e].crud.toLowerCase().indexOf(_),""===a&&(t=!0),"0"===s&&(l=!0),"0"===u&&(n=!0),"0"===v&&(i=!0),t&&l&&n&&i&&d.push(this.get("tabledata")[e]);this._table.set("data",d)},_clearFilter:function(){this._eventName.set("value",""),this._component.set("value","0"),this._eduLevel.set("value","0"),this._crud.set("value","0"),this._table.set("data",this.get("tabledata"))}},{NAME:"eventFilter",ATTRS:{tabledata:{value:null}}}),g.namespace("M.report_eventlist.EventFilter").init=function(e){return new t(e)}},"@VERSION@",{requires:["base","event","node","node-event-delegate","datatable","autocomplete","autocomplete-filters"]});
|
||||
YUI.add("moodle-report_eventlist-eventfilter",function(g,e){function t(){t.superclass.constructor.apply(this,arguments)}var l="#id_eventname",n="#id_eventcomponent",i="#id_eventedulevel",a="#id_eventcrud",r="#id_filterbutton",s="#id_clearbutton";g.extend(t,g.Base,{_table:null,_eventName:null,_component:null,_eduLevel:null,_crud:null,initializer:function(){var e=g.one(r),t=g.one(s);this._createTable(this.get("tabledata")),this._eventName=g.one(l),this._component=g.one(n),this._eduLevel=g.one(i),this._crud=g.one(a),this._eventName.on("valuechange",this._totalFilter,this),e.on("click",this._totalFilter,this),t.on("click",this._clearFilter,this)},_createTable:function(e){var t=new g.DataTable({columns:[{key:"fulleventname",label:M.util.get_string("eventname","report_eventlist"),allowHTML:!0,sortable:!0,sortFn:function(e,t,l){var n=e.getAttrs().raweventname,i=t.getAttrs().raweventname<n?1:-1;return l?-i:i},title:M.util.get_string("eventname","report_eventlist")},{key:"component",label:M.util.get_string("component","report_eventlist"),allowHTML:!0,sortable:!0,title:M.util.get_string("component","report_eventlist")},{key:"edulevel",label:M.util.get_string("edulevel","report_eventlist"),sortable:!0,title:M.util.get_string("edulevel","report_eventlist")},{key:"crud",label:M.util.get_string("crud","report_eventlist"),sortable:!0,title:M.util.get_string("crud","report_eventlist")},{key:"objecttable",label:M.util.get_string("affectedtable","report_eventlist"),sortable:!0,title:M.util.get_string("affectedtable","report_eventlist")},{key:"since",label:M.util.get_string("since","report_eventlist"),sortable:!0,title:M.util.get_string("since","report_eventlist")},{key:"legacyevent",label:M.util.get_string("legacyevent","report_eventlist"),sortable:!0,title:M.util.get_string("legacyevent","report_eventlist")}],data:e,strings:{sortBy:"{title}",reverseSortBy:"{title}"}});return t.render("#report-eventlist-table"),t.get("boundingBox").addClass("report-eventlist-datatable-table"),this._table=t,this},_totalFilter:function(){var e,t,l,n,i,a,r=this._eventName.get("value").toLowerCase(),s=this._component.get("value"),o=this._eduLevel.get("options").item(this._eduLevel.get("selectedIndex")).get("text").toLowerCase(),u=this._eduLevel.get("value"),v=this._crud.get("options").item(this._crud.get("selectedIndex")).get("text").toLowerCase(),_=this._crud.get("value"),d=[];for(e=0;e<this.get("tabledata").length;e++)l=0<=(t=g.Node.create(this.get("tabledata")[e].fulleventname).get("text")).toLowerCase().indexOf(r),n=0<=t.toLowerCase().indexOf("\\"+s+"\\event\\"),i=0<=this.get("tabledata")[e].edulevel.toLowerCase().indexOf(o),a=0<=this.get("tabledata")[e].crud.toLowerCase().indexOf(v),""===r&&(l=!0),"0"===s&&(n=!0),"0"===u&&(i=!0),"0"===_&&(a=!0),l&&n&&i&&a&&d.push(this.get("tabledata")[e]);this._table.set("data",d)},_clearFilter:function(){this._eventName.set("value",""),this._component.set("value","0"),this._eduLevel.set("value","0"),this._crud.set("value","0"),this._table.set("data",this.get("tabledata"))}},{NAME:"eventFilter",ATTRS:{tabledata:{value:null}}}),g.namespace("M.report_eventlist.EventFilter").init=function(e){return new t(e)}},"@VERSION@",{requires:["base","event","node","node-event-delegate","datatable","autocomplete","autocomplete-filters"]});
|
@ -181,8 +181,6 @@ Y.extend(EventFilter, Y.Base, {
|
||||
_totalFilter: function() {
|
||||
// Get all of the details of the filter elements
|
||||
var eventNameFilter = this._eventName.get('value').toLowerCase(),
|
||||
// Component selected text.
|
||||
componentFilter = this._component.get('options').item(this._component.get('selectedIndex')).get('text').toLowerCase(),
|
||||
// Component selected value.
|
||||
componentValue = this._component.get('value'),
|
||||
// Education level selected text.
|
||||
@ -201,7 +199,7 @@ Y.extend(EventFilter, Y.Base, {
|
||||
// These variables will either be false or true depending on the statement outcome.
|
||||
var fullEventText = Y.Node.create(this.get('tabledata')[i].fulleventname).get('text'),
|
||||
eventNameValue = fullEventText.toLowerCase().indexOf(eventNameFilter) >= 0,
|
||||
componentFilterValue = this.get('tabledata')[i].component.toLowerCase().indexOf(componentFilter) >= 0,
|
||||
componentFilterValue = fullEventText.toLowerCase().indexOf('\\' + componentValue + '\\event\\') >= 0,
|
||||
eduLevelFilterValue = this.get('tabledata')[i].edulevel.toLowerCase().indexOf(eduLevelFilter) >= 0,
|
||||
crudFilterValue = this.get('tabledata')[i].crud.toLowerCase().indexOf(crudFilter) >= 0;
|
||||
// If the name field is empty then add to the filter.
|
||||
|
@ -179,8 +179,6 @@ Y.extend(EventFilter, Y.Base, {
|
||||
_totalFilter: function() {
|
||||
// Get all of the details of the filter elements
|
||||
var eventNameFilter = this._eventName.get('value').toLowerCase(),
|
||||
// Component selected text.
|
||||
componentFilter = this._component.get('options').item(this._component.get('selectedIndex')).get('text').toLowerCase(),
|
||||
// Component selected value.
|
||||
componentValue = this._component.get('value'),
|
||||
// Education level selected text.
|
||||
@ -199,7 +197,7 @@ Y.extend(EventFilter, Y.Base, {
|
||||
// These variables will either be false or true depending on the statement outcome.
|
||||
var fullEventText = Y.Node.create(this.get('tabledata')[i].fulleventname).get('text'),
|
||||
eventNameValue = fullEventText.toLowerCase().indexOf(eventNameFilter) >= 0,
|
||||
componentFilterValue = this.get('tabledata')[i].component.toLowerCase().indexOf(componentFilter) >= 0,
|
||||
componentFilterValue = fullEventText.toLowerCase().indexOf('\\' + componentValue + '\\event\\') >= 0,
|
||||
eduLevelFilterValue = this.get('tabledata')[i].edulevel.toLowerCase().indexOf(eduLevelFilter) >= 0,
|
||||
crudFilterValue = this.get('tabledata')[i].crud.toLowerCase().indexOf(crudFilter) >= 0;
|
||||
// If the name field is empty then add to the filter.
|
||||
|
Loading…
x
Reference in New Issue
Block a user