░▒▓████████████████████████████████▓▒░ ░▒▓█ ▓▒░ ░▒▓█ ~ S W A M P ~ ▓▒░ ░▒▓█ ▓▒░ ░▒▓████████████████████████████████▓▒░
pplmvsvm
LOCATION:
/var/www/moodle/public/ai/classes/reportbuilder/local/systemreports
☗ ROOT
↻ REFRESH
✎ CARVE FLESH
EDITING: usage.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 core_ai\reportbuilder\local\systemreports; use core_reportbuilder\system_report; use core_ai\reportbuilder\local\entities\ai_action_register; use core\reportbuilder\local\entities\context; use core_reportbuilder\local\entities\user; /** * AI usage system report. * * @package core_ai * @copyright 2024 David Woloszyn <david.woloszyn@moodle.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class usage extends system_report { #[\Override] protected function initialise(): void { $entitymain = new ai_action_register(); $entitymainalias = $entitymain->get_table_alias('ai_action_register'); $this->set_main_table('ai_action_register', $entitymainalias); $this->add_entity($entitymain); // Join the 'user' entity to our main entity. $entityuser = new user(); $entituseralias = $entityuser->get_table_alias('user'); $this->add_entity($entityuser->add_join( "LEFT JOIN {user} {$entituseralias} ON {$entituseralias}.id = {$entitymainalias}.userid" )); // Join the 'context' entity to our main entity. $entitycontext = new context(); $entitycontextalias = $entitycontext->get_table_alias('context'); $this->add_entity($entitycontext->add_join( "LEFT JOIN {context} {$entitycontextalias} ON {$entitycontextalias}.id = {$entitymainalias}.contextid" )); // Now we can call our helper methods to add the content we want to include in the report. $this->add_columns(); $this->add_filters(); // Set if report can be downloaded. $this->set_downloadable(true, get_string('aiusage', 'core_ai')); } #[\Override] protected function can_view(): bool { return has_capability('moodle/ai:viewaiusagereport', $this->get_context()); } #[\Override] public static function get_name(): string { return get_string('aiusage', 'core_ai'); } /** * Adds the columns we want to display in the report. * * They are all provided by the entities we previously added in the {@see initialise} method, referencing each by their * unique identifier. */ public function add_columns(): void { $this->add_columns_from_entities([ 'ai_action_register:provider', 'ai_action_register:actionname', 'ai_action_register:timecreated', 'ai_action_register:prompttokens', 'ai_action_register:completiontokens', 'ai_action_register:success', 'context:name', 'user:fullnamewithlink', ]); // It's possible to set a default initial sort direction for one column. $this->set_initial_sort_column('ai_action_register:timecreated', SORT_DESC); } /** * Adds the filters we want to display in the report. * * They are all provided by the entities we previously added in the {@see initialise} method, referencing each by their * unique identifier. */ protected function add_filters(): void { $this->add_filters_from_entities([ 'ai_action_register:actionname', 'ai_action_register:provider', 'ai_action_register:timecreated', 'ai_action_register:prompttokens', 'ai_action_register:completiontokens', 'ai_action_register:success', 'context:level', 'user:fullname', ]); } }
CANCEL
Name
Type
Size
Modified
Actions
↩ ..
DIR
—
—
📄 policy_acceptance.php
PHP
3.5 KB
2026-02-11 01:44
EDIT
📄 usage.php
PHP
4.1 KB
2026-02-11 01:44
EDIT