From c99bf7cefd43a57dddf1dbfdcda7bad2e8c0e58a Mon Sep 17 00:00:00 2001 From: Hannes Papenberg Date: Wed, 24 Apr 2024 14:01:36 +0200 Subject: [PATCH 1/5] Refactor all occurences of File::delete() to use framework --- libraries/src/Console/UpdateCoreCommand.php | 24 ++++++++++++------- .../rotatelogs/src/Extension/RotateLogs.php | 19 +++++++++++---- 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/libraries/src/Console/UpdateCoreCommand.php b/libraries/src/Console/UpdateCoreCommand.php index 8a28fe15aab3..2855038aa6ee 100644 --- a/libraries/src/Console/UpdateCoreCommand.php +++ b/libraries/src/Console/UpdateCoreCommand.php @@ -12,13 +12,14 @@ use Joomla\Application\Cli\CliInput; use Joomla\CMS\Extension\ExtensionHelper; use Joomla\CMS\Factory; -use Joomla\CMS\Filesystem\File; use Joomla\CMS\Filesystem\Folder; use Joomla\CMS\Installer\InstallerHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\Log\Log; use Joomla\Console\Command\AbstractCommand; use Joomla\Database\DatabaseInterface; +use Joomla\Filesystem\Exception\FilesystemException; +use Joomla\Filesystem\File; use Symfony\Component\Console\Helper\ProgressBar; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; @@ -280,13 +281,20 @@ private function updateJoomlaCore($updatemodel): bool // Remove the administrator/cache/autoload_psr4.php file $autoloadFile = JPATH_CACHE . '/autoload_psr4.php'; - if (file_exists($autoloadFile)) { - File::delete($autoloadFile); - } - - // Remove the xml - if (file_exists(JPATH_BASE . '/joomla.xml')) { - File::delete(JPATH_BASE . '/joomla.xml'); + try { + if (file_exists($autoloadFile)) { + File::delete($autoloadFile); + } + + // Remove the xml + if (file_exists(JPATH_BASE . '/joomla.xml')) { + File::delete(JPATH_BASE . '/joomla.xml'); + } + } catch (FilesystemException $exception) { + $this->progressBar->clear(); + $this->ioStyle->error($exception->getMessage()); + $this->progressBar->display(); + $this->progressBar->advance(); } InstallerHelper::cleanupInstall($package['file'], $package['extractdir']); diff --git a/plugins/task/rotatelogs/src/Extension/RotateLogs.php b/plugins/task/rotatelogs/src/Extension/RotateLogs.php index 47b1050d5fa1..dd20d5ba3272 100644 --- a/plugins/task/rotatelogs/src/Extension/RotateLogs.php +++ b/plugins/task/rotatelogs/src/Extension/RotateLogs.php @@ -10,13 +10,14 @@ namespace Joomla\Plugin\Task\RotateLogs\Extension; -use Joomla\CMS\Filesystem\File; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\Component\Scheduler\Administrator\Event\ExecuteTaskEvent; use Joomla\Component\Scheduler\Administrator\Task\Status; use Joomla\Component\Scheduler\Administrator\Traits\TaskPluginTrait; use Joomla\Database\DatabaseAwareTrait; use Joomla\Event\SubscriberInterface; +use Joomla\Filesystem\Exception\FilesystemException; +use Joomla\Filesystem\File; use Joomla\Filesystem\Folder; use Joomla\Filesystem\Path; @@ -98,9 +99,13 @@ private function rotateLogs(ExecuteTaskEvent $event): int foreach ($logFiles as $version => $files) { if ($version >= $logsToKeep) { - // Delete files which have version greater than or equals $logsToKeep - foreach ($files as $file) { - File::delete($logPath . '/' . $file); + try { + // Delete files which have version greater than or equals $logsToKeep + foreach ($files as $file) { + File::delete($logPath . '/' . $file); + } + } catch (FilesystemException $exception) { + } } else { // For files which have version smaller than $logsToKeep, rotate (increase version number) @@ -140,7 +145,11 @@ private function rotate($path, $filename, $currentVersion) $rotatedFile = $path . '/' . implode('.', $parts); } - File::move($path . '/' . $filename, $rotatedFile); + try { + File::move($path . '/' . $filename, $rotatedFile); + } catch (FilesystemException $exception) { + + } } /** From 878d2c700ee255a4b3d85ad20c693e0c399306b0 Mon Sep 17 00:00:00 2001 From: Hannes Papenberg Date: Wed, 24 Apr 2024 21:52:17 +0200 Subject: [PATCH 2/5] Refactoring some error handling --- plugins/task/rotatelogs/src/Extension/RotateLogs.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/task/rotatelogs/src/Extension/RotateLogs.php b/plugins/task/rotatelogs/src/Extension/RotateLogs.php index dd20d5ba3272..60e62c382f84 100644 --- a/plugins/task/rotatelogs/src/Extension/RotateLogs.php +++ b/plugins/task/rotatelogs/src/Extension/RotateLogs.php @@ -99,13 +99,13 @@ private function rotateLogs(ExecuteTaskEvent $event): int foreach ($logFiles as $version => $files) { if ($version >= $logsToKeep) { - try { - // Delete files which have version greater than or equals $logsToKeep - foreach ($files as $file) { + // Delete files which have version greater than or equals $logsToKeep + foreach ($files as $file) { + try { File::delete($logPath . '/' . $file); - } - } catch (FilesystemException $exception) { + } catch (FilesystemException $exception) { + } } } else { // For files which have version smaller than $logsToKeep, rotate (increase version number) From 84a50852f266590c0b4dfd9c928f6369e9c58e74 Mon Sep 17 00:00:00 2001 From: Quy Date: Wed, 24 Apr 2024 21:46:48 -0700 Subject: [PATCH 3/5] Update libraries/src/Console/UpdateCoreCommand.php --- libraries/src/Console/UpdateCoreCommand.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Console/UpdateCoreCommand.php b/libraries/src/Console/UpdateCoreCommand.php index 2855038aa6ee..06f654c29d67 100644 --- a/libraries/src/Console/UpdateCoreCommand.php +++ b/libraries/src/Console/UpdateCoreCommand.php @@ -283,7 +283,7 @@ private function updateJoomlaCore($updatemodel): bool try { if (file_exists($autoloadFile)) { - File::delete($autoloadFile); + File::delete($autoloadFile); } // Remove the xml From 797a54def0c7f5539c0aa2af684f76cf6d3e5981 Mon Sep 17 00:00:00 2001 From: Quy Date: Wed, 24 Apr 2024 21:48:42 -0700 Subject: [PATCH 4/5] Update libraries/src/Console/UpdateCoreCommand.php --- libraries/src/Console/UpdateCoreCommand.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Console/UpdateCoreCommand.php b/libraries/src/Console/UpdateCoreCommand.php index 06f654c29d67..e388141d0808 100644 --- a/libraries/src/Console/UpdateCoreCommand.php +++ b/libraries/src/Console/UpdateCoreCommand.php @@ -283,7 +283,7 @@ private function updateJoomlaCore($updatemodel): bool try { if (file_exists($autoloadFile)) { - File::delete($autoloadFile); + File::delete($autoloadFile); } // Remove the xml From ffbda3be372f98dd900a0506ca9df893c0a4e96b Mon Sep 17 00:00:00 2001 From: Hannes Papenberg Date: Fri, 26 Apr 2024 19:36:00 +0200 Subject: [PATCH 5/5] Codestyle --- plugins/task/rotatelogs/src/Extension/RotateLogs.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/plugins/task/rotatelogs/src/Extension/RotateLogs.php b/plugins/task/rotatelogs/src/Extension/RotateLogs.php index 60e62c382f84..542de9e9746a 100644 --- a/plugins/task/rotatelogs/src/Extension/RotateLogs.php +++ b/plugins/task/rotatelogs/src/Extension/RotateLogs.php @@ -104,7 +104,6 @@ private function rotateLogs(ExecuteTaskEvent $event): int try { File::delete($logPath . '/' . $file); } catch (FilesystemException $exception) { - } } } else { @@ -148,7 +147,6 @@ private function rotate($path, $filename, $currentVersion) try { File::move($path . '/' . $filename, $rotatedFile); } catch (FilesystemException $exception) { - } }