From 276cbc2f03be1a9e879ebf30355c58964b7d0ba9 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Tue, 7 Feb 2023 10:33:23 +0100 Subject: [PATCH] On upgrade set umask and chmod files for #358 --- .../app/libraries/snappymail/upgrade.php | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/snappymail/v/0.0.0/app/libraries/snappymail/upgrade.php b/snappymail/v/0.0.0/app/libraries/snappymail/upgrade.php index 4914ce05a..7ab4e605c 100644 --- a/snappymail/v/0.0.0/app/libraries/snappymail/upgrade.php +++ b/snappymail/v/0.0.0/app/libraries/snappymail/upgrade.php @@ -226,26 +226,22 @@ abstract class Upgrade // Prevents Apache access error due to directories being 0700 public static function fixPermissions($mode = 0755) : void { + \umask(0022); $target = \rtrim(APP_INDEX_ROOT_PATH, '\\/'); // Prevent Apache access error due to directories being 0700 foreach (\glob("{$target}/snappymail/v/*", \GLOB_ONLYDIR) as $dir) { \chmod($dir, 0755); - $iterator = new \RecursiveIteratorIterator( - new \RecursiveDirectoryIterator("{$dir}/static", \FilesystemIterator::SKIP_DOTS), - \RecursiveIteratorIterator::SELF_FIRST - ); - foreach ($items as $item) { - if ($item->isDir()) { - \chmod($item, 0755); - } - } - $iterator = new \RecursiveIteratorIterator( - new \RecursiveDirectoryIterator("{$dir}/themes", \FilesystemIterator::SKIP_DOTS), - \RecursiveIteratorIterator::SELF_FIRST - ); - foreach ($items as $item) { - if ($item->isDir()) { - \chmod($item, 0755); + foreach (['static','themes'] as $folder) { + $iterator = new \RecursiveIteratorIterator( + new \RecursiveDirectoryIterator("{$dir}/{$folder}", \FilesystemIterator::SKIP_DOTS), + \RecursiveIteratorIterator::SELF_FIRST + ); + foreach ($items as $item) { + if ($item->isDir()) { + \chmod($item, 0755); + } else if ($item->isFile()) { + \chmod($item, 0644); + } } } }