Вам лучше использовать существующий класс Moodle grade_report_user
, который можно найти в grade/report/user
, чтобы получить данные.
Вот пример его использования:
require_once($CFG->dirroot . '/grade/report/user/lib.php');
$gpr = new grade_plugin_return(
array(
'type' => 'report',
'plugin' => 'user',
'courseid' => $course->id,
'userid' => $userid)
);
$report = new grade_report_user($course->id, $gpr, $context, $userid);
$report->fill_table();
При этом у вас будет отформатированная таблица HTML.
Если класс grade_report_user
делает не полностью соответствует вашим потребностям, вы можете скопировать его в свою папку плагинов, соответственно переименовать и изменить его.
Кроме того, вы можете найти то, что вам нужно, на странице запросов Moodle Ad ho c https://docs.moodle.org/38/en/ad-hoc_contributed_reports#Site -Wide_Grade_Report_with_All_Items