MDL-44596 logging: Add callbacks to all reports that support log stores
This commit is contained in:
@@ -40,6 +40,20 @@ function report_log_extend_navigation_course($navigation, $course, $context) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback to verify if the given instance of store is supported by this report or not.
|
||||
*
|
||||
* @param string $instance store instance.
|
||||
*
|
||||
* @return bool returns true if the store is supported by the report, false otherwise.
|
||||
*/
|
||||
function report_log_supports_logstore($instance) {
|
||||
if ($instance instanceof \core\log\sql_select_reader) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function extends the course navigation with the report items
|
||||
*
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
<?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/>.
|
||||
|
||||
/**
|
||||
* Tests for report library functions.
|
||||
*
|
||||
* @package report_log
|
||||
* @copyright 2014 onwards Ankit agarwal <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
/**
|
||||
* Class report_log_events_testcase.
|
||||
*
|
||||
* @package report_log
|
||||
* @copyright 2014 onwards Ankit agarwal <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
|
||||
*/
|
||||
class report_log_lib_testcase extends advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test report_log_supports_logstore.
|
||||
*/
|
||||
public function test_report_log_supports_logstore() {
|
||||
$logmanager = get_log_manager();
|
||||
$allstores = \core_component::get_plugin_list_with_class('logstore', 'log\store');
|
||||
|
||||
$supportedstores = array(
|
||||
'logstore_database' => '\logstore_database\log\store',
|
||||
'logstore_legacy' => '\logstore_legacy\log\store',
|
||||
'logstore_standard' => '\logstore_standard\log\store'
|
||||
);
|
||||
|
||||
// Make sure all supported stores are installed.
|
||||
$expectedstores = array_keys(array_intersect($allstores, $supportedstores));
|
||||
$stores = $logmanager->get_supported_logstores('log');
|
||||
$stores = array_keys($stores);
|
||||
foreach ($expectedstores as $expectedstore) {
|
||||
$this->assertContains($expectedstore, $stores);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -43,3 +43,17 @@ function report_loglive_extend_navigation_course($navigation, $course, $context)
|
||||
$navigation->add(get_string('pluginname', 'report_loglive'), $action, navigation_node::TYPE_SETTING, null, null, new pix_icon('i/report', ''));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback to verify if the given instance of store is supported by this report or not.
|
||||
*
|
||||
* @param string $instance store instance.
|
||||
*
|
||||
* @return bool returns true if the store is supported by the report, false otherwise.
|
||||
*/
|
||||
function report_loglive_supports_logstore($instance) {
|
||||
if ($instance instanceof \core\log\sql_select_reader) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
<?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/>.
|
||||
|
||||
/**
|
||||
* Tests for report library functions.
|
||||
*
|
||||
* @package report_loglive
|
||||
* @copyright 2014 onwards Ankit agarwal <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
/**
|
||||
* Class report_loglive_lib_testcase
|
||||
*
|
||||
* @package report_loglive
|
||||
* @copyright 2014 onwards Ankit agarwal <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
|
||||
*/
|
||||
class report_loglive_lib_testcase extends advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test report_log_supports_logstore.
|
||||
*/
|
||||
public function test_report_participation_supports_logstore() {
|
||||
$logmanager = get_log_manager();
|
||||
$allstores = \core_component::get_plugin_list_with_class('logstore', 'log\store');
|
||||
|
||||
$supportedstores = array(
|
||||
'logstore_database' => '\logstore_legacy\log\database',
|
||||
'logstore_legacy' => '\logstore_legacy\log\store',
|
||||
'logstore_standard' => '\logstore_standard\log\store'
|
||||
);
|
||||
|
||||
// Make sure all supported stores are installed.
|
||||
$expectedstores = array_keys(array_intersect($allstores, $supportedstores));
|
||||
$stores = $logmanager->get_supported_logstores('loglive');
|
||||
$stores = array_keys($stores);
|
||||
foreach ($expectedstores as $expectedstore) {
|
||||
$this->assertContains($expectedstore, $stores);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -105,3 +105,17 @@ function report_outline_page_type_list($pagetype, $parentcontext, $currentcontex
|
||||
);
|
||||
return $array;
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback to verify if the given instance of store is supported by this report or not.
|
||||
*
|
||||
* @param string $instance store instance.
|
||||
*
|
||||
* @return bool returns true if the store is supported by the report, false otherwise.
|
||||
*/
|
||||
function report_outline_supports_logstore($instance) {
|
||||
if ($instance instanceof \core\log\sql_internal_reader || $instance instanceof \logstore_legacy\log\store) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
<?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/>.
|
||||
|
||||
/**
|
||||
* Tests for report library functions.
|
||||
*
|
||||
* @package report_outline
|
||||
* @copyright 2014 onwards Ankit agarwal <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
/**
|
||||
* Class report_outline_lib_testcase
|
||||
*
|
||||
* @package report_outline
|
||||
* @copyright 2014 onwards Ankit agarwal <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
|
||||
*/
|
||||
class report_outline_lib_testcase extends advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test report_log_supports_logstore.
|
||||
*/
|
||||
public function test_report_participation_supports_logstore() {
|
||||
$logmanager = get_log_manager();
|
||||
$allstores = \core_component::get_plugin_list_with_class('logstore', 'log\store');
|
||||
|
||||
$supportedstores = array(
|
||||
'logstore_legacy' => '\logstore_legacy\log\store',
|
||||
'logstore_standard' => '\logstore_standard\log\store'
|
||||
);
|
||||
|
||||
// Make sure all supported stores are installed.
|
||||
$expectedstores = array_keys(array_intersect($allstores, $supportedstores));
|
||||
$stores = $logmanager->get_supported_logstores('outline');
|
||||
$stores = array_keys($stores);
|
||||
foreach ($expectedstores as $expectedstore) {
|
||||
$this->assertContains($expectedstore, $stores);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -55,4 +55,18 @@ function report_participation_page_type_list($pagetype, $parentcontext, $current
|
||||
'report-participation-index' => get_string('page-report-participation-index', 'report_participation'),
|
||||
);
|
||||
return $array;
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback to verify if the given instance of store is supported by this report or not.
|
||||
*
|
||||
* @param string $instance store instance.
|
||||
*
|
||||
* @return bool returns true if the store is supported by the report, false otherwise.
|
||||
*/
|
||||
function report_participation_supports_logstore($instance) {
|
||||
if ($instance instanceof \core\log\sql_internal_reader || $instance instanceof \logstore_legacy\log\store) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
<?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/>.
|
||||
|
||||
/**
|
||||
* Tests for report library functions.
|
||||
*
|
||||
* @package report_participation
|
||||
* @copyright 2014 onwards Ankit agarwal <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
/**
|
||||
* Class report_participation_lib_testcase
|
||||
*
|
||||
* @package report_participation
|
||||
* @copyright 2014 onwards Ankit agarwal <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
|
||||
*/
|
||||
class report_participation_lib_testcase extends advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test report_log_supports_logstore.
|
||||
*/
|
||||
public function test_report_participation_supports_logstore() {
|
||||
$logmanager = get_log_manager();
|
||||
$allstores = \core_component::get_plugin_list_with_class('logstore', 'log\store');
|
||||
|
||||
$supportedstores = array(
|
||||
'logstore_legacy' => '\logstore_legacy\log\store',
|
||||
'logstore_standard' => '\logstore_standard\log\store'
|
||||
);
|
||||
|
||||
// Make sure all supported stores are installed.
|
||||
$expectedstores = array_keys(array_intersect($allstores, $supportedstores));
|
||||
$stores = $logmanager->get_supported_logstores('participation');
|
||||
$stores = array_keys($stores);
|
||||
foreach ($expectedstores as $expectedstore) {
|
||||
$this->assertContains($expectedstore, $stores);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -112,4 +112,18 @@ function report_stats_page_type_list($pagetype, $parentcontext, $currentcontext)
|
||||
'report-stats-user' => get_string('page-report-stats-user', 'report_stats')
|
||||
);
|
||||
return $array;
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback to verify if the given instance of store is supported by this report or not.
|
||||
*
|
||||
* @param string $instance store instance.
|
||||
*
|
||||
* @return bool returns true if the store is supported by the report, false otherwise.
|
||||
*/
|
||||
function report_stats_supports_logstore($instance) {
|
||||
if ($instance instanceof \core\log\sql_internal_reader || $instance instanceof \logstore_legacy\log\store) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
<?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/>.
|
||||
|
||||
/**
|
||||
* Tests for report library functions.
|
||||
*
|
||||
* @package report_stats
|
||||
* @copyright 2014 onwards Ankit agarwal <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
/**
|
||||
* Class report_stats_lib_testcase
|
||||
*
|
||||
* @package report_stats
|
||||
* @copyright 2014 onwards Ankit agarwal <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
|
||||
*/
|
||||
class report_stats_lib_testcase extends advanced_testcase {
|
||||
|
||||
/**
|
||||
* Test report_log_supports_logstore.
|
||||
*/
|
||||
public function test_report_participation_supports_logstore() {
|
||||
$logmanager = get_log_manager();
|
||||
$allstores = \core_component::get_plugin_list_with_class('logstore', 'log\store');
|
||||
|
||||
$supportedstores = array(
|
||||
'logstore_legacy' => '\logstore_legacy\log\store',
|
||||
'logstore_standard' => '\logstore_standard\log\store'
|
||||
);
|
||||
|
||||
// Make sure all supported stores are installed.
|
||||
$expectedstores = array_keys(array_intersect($allstores, $supportedstores));
|
||||
$stores = $logmanager->get_supported_logstores('stats');
|
||||
$stores = array_keys($stores);
|
||||
foreach ($expectedstores as $expectedstore) {
|
||||
$this->assertContains($expectedstore, $stores);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user