MDL-72358 contenttype_h5p: Improve error handling
In MoodleCloud it was raised that, in some cases, loading the content bank, from a course page, gives an "Invalid H5P content URL", not offering any way to delete the offending content or create new one. An extra-check has been added to the "is_view_allowed" method to guarantee the H5P API is called only if the H5P content has a file.
This commit is contained in:
@@ -42,6 +42,12 @@ class content extends \core_contentbank\content {
|
||||
public function is_view_allowed(): bool {
|
||||
// Force H5P content to be deployed.
|
||||
$fileurl = $this->get_file_url();
|
||||
if (empty($fileurl)) {
|
||||
// This should never happen because H5P contents should have always a file. However, this extra-checked has been added
|
||||
// to avoid the contentbank stop working if, for any unkonwn/weird reason, the file doesn't exist.
|
||||
return false;
|
||||
}
|
||||
|
||||
// Skip capability check when creating the H5P content (because it has been created by trusted users).
|
||||
$h5pplayer = new \core_h5p\player($fileurl, new \stdClass(), true, '', true);
|
||||
// Flush error messages.
|
||||
|
||||
Reference in New Issue
Block a user