function mod_hvp_core_calendar_provide_event_action(calendar_event $event, action_factory $factory) { $cm = get_fast_modinfo($event->courseid)->instances['hvp'][$event->instance]; $completion = new \completion_info($cm->get_course()); $completiondata = $completion->get_data($cm, false); if ($completiondata->completionstate != COMPLETION_INCOMPLETE) { return null; } return $factory->create_instance( get_string('view'), new moodle_url('/mod/hvp/view.php', ['id' => $cm->id]), 1, true ); }
时间: 2024-01-17 10:06:00 浏览: 128
这似乎是一段PHP代码,可以看出它是用于提供一个事件操作的功能。具体来说,它会获取一个名为$event的日历事件对象,并根据该事件对象中所属的课程ID,获取到对应的hvp实例。随后,它创建了一个名为$completion的完成信息对象,并通过该对象获取到了hvp实例的完成数据。如果该完成数据的状态为非“未完成”(即COMPLETION_INCOMPLETE),则返回null,否则使用$action_factory对象创建一个名为“view”的实例,该实例对应的是一个查看hvp实例的操作,操作的URL为/mod/hvp/view.php,并传入了id参数,参数值为$hvp实例的ID。该操作实例的第三个参数为1,表示该操作需要登录才能执行,第四个参数为true,表示该操作为异步操作。
相关问题
function hvp_delete_instance($id) { global $DB; // Load content record. if (! $hvp = $DB->get_record('hvp', array('id' => "$id"))) { return false; } // Load CM. $cm = \get_coursemodule_from_instance('hvp', $id); // Delete content. $h5pstorage = \mod_hvp\framework::instance('storage'); $h5pstorage->deletePackage(array('id' => $hvp->id, 'slug' => $hvp->slug, 'coursemodule' => $cm->id)); // Delete xAPI statements. $DB->delete_records('hvp_xapi_results', array ( 'content_id' => $hvp->id )); // Get library details. $library = $DB->get_record_sql( "SELECT machine_name AS name, major_version, minor_version FROM {hvp_libraries} WHERE id = ?", array($hvp->main_library_id) ); // Only log event if we found library. if ($library) { // Log content delete. new \mod_hvp\event( 'content', 'delete', $hvp->id, $hvp->name, $library->name, $library->major_version . '.' . $library->minor_version ); } return true; }
可以看出这是一个 PHP 函数,用于删除 Moodle 中的 H5P 内容。它的主要步骤包括:首先利用传入的 id 加载 H5P 内容记录,如果不存在则返回 false;然后加载该 H5P 内容所在的课程模块;接着删除该 H5P 内容的存储包;再删除该 H5P 内容相关的 xAPI 语句;最后记录该 H5P 内容的删除事件,并返回 true。
moodle-mod_hvp代码里mod_form.php中mod_hvp_mod_form的属性有哪些
在 Moodle 的 mod_hvp 模块中,mod_form.php 文件中的 mod_hvp_mod_form 类中定义了许多属性,包括:
1. $mform: Moodle 表单对象,用于构建模块编辑表单。
2. $cm: CourseModule 对象,表示当前模块。
3. $mod: Module 对象,表示当前模块的实例。
4. $hvp: H5P 对象,表示当前模块中的 H5P 内容。
5. $hvpoptions: H5POptions 对象,表示当前模块中 H5P 内容的选项。
6. $context: Context 对象,表示当前模块的上下文环境。
7. $PAGE: 页面对象,用于设置页面标题和导航。
8. $url: 当前页面的 URL。
9. $course: Course 对象,表示当前课程。
10. $hvpfileoptions: H5PFileOptions 对象,表示 H5P 文件的选项。
11. $hvpfile: H5PFile 对象,表示当前模块中的 H5P 文件。
12. $hvpjson: H5PJson 对象,表示当前模块中的 H5P JSON 数据。
13. $hvpdata: H5PData 对象,表示当前模块中的 H5P 数据。
14. $hvpstorage: H5PStorage 对象,表示当前模块中的 H5P 存储。
15. $hvpcore: H5PCore 对象,表示当前模块中的 H5P 核心组件。
以上是 mod_hvp 模块中 mod_form.php 文件中 mod_hvp_mod_form 类定义的一些属性。
阅读全文