From 99bfac0b428a4bc6fe8bfd10a355dfd93f42ba5c Mon Sep 17 00:00:00 2001 From: Yassine Doghri <yassine@doghri.fr> Date: Sat, 29 Jan 2022 16:42:34 +0000 Subject: [PATCH] feat(housekeeping): add clear_cache option to flush redis or files cache --- modules/Admin/Controllers/SettingsController.php | 4 ++++ modules/Admin/Language/en/Settings.php | 2 ++ modules/Admin/Language/fr/Settings.php | 2 ++ themes/cp_admin/settings/general.php | 1 + 4 files changed, 9 insertions(+) diff --git a/modules/Admin/Controllers/SettingsController.php b/modules/Admin/Controllers/SettingsController.php index 90fc4d1049..58571176fb 100644 --- a/modules/Admin/Controllers/SettingsController.php +++ b/modules/Admin/Controllers/SettingsController.php @@ -283,6 +283,10 @@ class SettingsController extends BaseController } } + if ($this->request->getPost('clear_cache') === 'yes') { + cache()->clean(); + } + return redirect('settings-general')->with('message', lang('Settings.housekeeping.runSuccess')); } diff --git a/modules/Admin/Language/en/Settings.php b/modules/Admin/Language/en/Settings.php index ab02bc087d..a4ace0d792 100644 --- a/modules/Admin/Language/en/Settings.php +++ b/modules/Admin/Language/en/Settings.php @@ -35,6 +35,8 @@ return [ 'reset_counts_helper' => 'This option will recalculate and reset all data counts (number of followers, posts, comments, …).', 'rewrite_media' => 'Rewrite media metadata', 'rewrite_media_helper' => 'This option will delete all superfluous media files and recreate them (images, audio files, transcripts, chapters, …)', + 'clear_cache' => 'Clear all cache', + 'clear_cache_helper' => 'This option will flush redis cache or writable/cache files.', 'run' => 'Run housekeeping', 'runSuccess' => 'Housekeeping has been run successfully!', ], diff --git a/modules/Admin/Language/fr/Settings.php b/modules/Admin/Language/fr/Settings.php index e505df950c..98bf5b1591 100644 --- a/modules/Admin/Language/fr/Settings.php +++ b/modules/Admin/Language/fr/Settings.php @@ -35,6 +35,8 @@ return [ 'reset_counts_helper' => 'Cette option recalcul et réinitialise les compteurs de données (nombre d’abonné·e·s, de publications, de commentaires, …).', 'rewrite_media' => 'Réécrire les métadonnées des fichiers média', 'rewrite_media_helper' => 'Cette option supprimera tous les fichiers média superflus et les recréera (images, fichiers audio, transcripts, chapitrages, …)', + 'clear_cache' => 'Supprimer tout le cache', + 'clear_cache_helper' => 'Cette option supprimera l’intégralité du cache redis ou des fichiers cache du dossier writable/cache.', 'run' => 'Faire le ménage', 'runSuccess' => 'Le ménage a été effectué avec succès !', ], diff --git a/themes/cp_admin/settings/general.php b/themes/cp_admin/settings/general.php index 396008ceb5..b6d2b19df1 100644 --- a/themes/cp_admin/settings/general.php +++ b/themes/cp_admin/settings/general.php @@ -79,6 +79,7 @@ <Forms.Toggler name="reset_counts" value="yes" size="small" checked="true" hint="<?= lang('Settings.housekeeping.reset_counts_helper') ?>"><?= lang('Settings.housekeeping.reset_counts') ?></Forms.Toggler> <Forms.Toggler name="rewrite_media" value="yes" size="small" checked="true" hint="<?= lang('Settings.housekeeping.rewrite_media_helper') ?>"><?= lang('Settings.housekeeping.rewrite_media') ?></Forms.Toggler> + <Forms.Toggler name="clear_cache" value="yes" size="small" checked="true" hint="<?= lang('Settings.housekeeping.clear_cache_helper') ?>"><?= lang('Settings.housekeeping.clear_cache') ?></Forms.Toggler> <Button variant="primary" type="submit" iconLeft="home-gear"><?= lang('Settings.housekeeping.run') ?></Button> -- GitLab