Kumi
3a08f0e564
Introduced a dynamic content management function to enhance the exp360 module's capabilities. This function injects necessary scripts dynamically, improving the modularity and maintainability of the exp360 activities. By adding Bootstrap dependencies and specific scripts directly into the content management info, the changes ensure that the module leverages required resources efficiently.
58 lines
1.2 KiB
PHP
58 lines
1.2 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, $DB;
|
|
|
|
if ($cm->modname !== 'exp360') {
|
|
return;
|
|
}
|
|
|
|
$script = "<script src='https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js'></script><script data-activity-id='$cm->id' src='/mod/exp360/script.js'></script>";
|
|
|
|
$cm->set_no_view_link();
|
|
$cm->set_content($script);
|
|
}
|