diff options
| -rw-r--r-- | lib/lib_rss.php | 8 | ||||
| -rw-r--r-- | p/ext.php | 5 |
2 files changed, 13 insertions, 0 deletions
diff --git a/lib/lib_rss.php b/lib/lib_rss.php index fac7af60e..e1618a2ef 100644 --- a/lib/lib_rss.php +++ b/lib/lib_rss.php @@ -922,6 +922,14 @@ function recursive_unlink(string $dir): bool { return true; } + if (is_link($dir)) { + if (PHP_OS_FAMILY === "Windows") { + return rmdir($dir); + } + + return unlink($dir); + } + $files = array_diff(scandir($dir) ?: [], ['.', '..']); foreach ($files as $filename) { $filename = $dir . '/' . $filename; @@ -11,6 +11,11 @@ function get_absolute_filename(string $file_name): string { $third_party_extension = realpath(THIRDPARTY_EXTENSIONS_PATH . '/' . $file_name); if (false !== $third_party_extension) { + $original_dir = THIRDPARTY_EXTENSIONS_PATH . '/' . explode('/', $file_name)[0]; + if (is_link($original_dir)) { + return THIRDPARTY_EXTENSIONS_PATH . '/' . $file_name; + } + return $third_party_extension; } |
