troodle-expcontent/lib.php
Kumi 0842d40df9
feat: add support for completion tracking
Added a new function to support completion tracking by handling the FEATURE_COMPLETION_TRACKS_VIEWS feature. This enhancement enables tracking user views for module completion, improving user progress monitoring.
2024-09-23 10:10:21 +02:00

67 lines
No EOL
1.4 KiB
PHP

<?php
defined('MOODLE_INTERNAL') || die();
function exp360_add_instance($exp360)
{
global $DB;
$exp360->timemodified = time();
$exp360->timecreated = time();
// Process standard intro fields.
$exp360->introformat = FORMAT_HTML;
$exp360->intro = '';
return $DB->insert_record('exp360', $exp360);
}
function exp360_update_instance($exp360)
{
global $DB;
$exp360->timemodified = time();
$exp360->id = $exp360->instance;
// Process standard intro fields.
$exp360->introformat = FORMAT_HTML;
$exp360->intro = '';
return $DB->update_record('exp360', $exp360);
}
function exp360_delete_instance($id)
{
global $DB;
if (!$exp360 = $DB->get_record('exp360', array('id' => $id))) {
return false;
}
$DB->delete_records('exp360', array('id' => $exp360->id));
return true;
}
function mod_exp360_cm_info_dynamic(cm_info $cm)
{
global $PAGE;
if ($cm->modname !== 'exp360') {
return;
}
$renderer = $PAGE->get_renderer('mod_exp360');
$modals = $renderer->render_modals();
$script = $renderer->render_activity($cm->id, $cm->get_formatted_name());
$cm->set_no_view_link();
$cm->set_content($modals . $script);
}
function mod_exp360_supports($feature) {
switch($feature) {
case FEATURE_COMPLETION_TRACKS_VIEWS: return true;
default: return null;
}
}