parent
f07ce1b3c3
commit
b1531bcbc0
|
@ -426,6 +426,18 @@ class H5PDefaultStorage implements \H5PFileStorage {
|
|||
$path = "{$this->path}/content/{$contentId}/{$file}";
|
||||
if (file_exists($path)) {
|
||||
unlink($path);
|
||||
|
||||
// Clean up any empty parent directories to avoid cluttering the file system
|
||||
$parts = explode('/', $path);
|
||||
while (array_pop($parts) !== NULL) {
|
||||
$dir = implode('/', $parts);
|
||||
if (is_dir($dir) && count(scandir($dir)) === 2) { // empty contains '.' and '..'
|
||||
rmdir($dir); // Remove empty parent
|
||||
}
|
||||
else {
|
||||
return; // Not empty
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3400,6 +3400,11 @@ class H5PContentValidator {
|
|||
$file->path = $matches[5];
|
||||
}
|
||||
|
||||
// Remove temporary files suffix
|
||||
if (substr($file->path, -4, 4) === '#tmp') {
|
||||
$file->path = substr($file->path, 0, strlen($file->path) - 4);
|
||||
}
|
||||
|
||||
// Make sure path and mime does not have any special chars
|
||||
$file->path = htmlspecialchars($file->path, ENT_QUOTES, 'UTF-8', FALSE);
|
||||
if (isset($file->mime)) {
|
||||
|
|
|
@ -678,7 +678,8 @@ H5P.getPath = function (path, contentId) {
|
|||
}
|
||||
|
||||
var prefix;
|
||||
if (contentId !== undefined) {
|
||||
var isTmpFile = (path.substr(-4,4) === '#tmp');
|
||||
if (contentId !== undefined && !isTmpFile) {
|
||||
// Check for custom override URL
|
||||
if (H5PIntegration.contents !== undefined &&
|
||||
H5PIntegration.contents['cid-' + contentId]) {
|
||||
|
|
Loading…
Reference in New Issue