diff --git a/modules/Admin/Controllers/SettingsController.php b/modules/Admin/Controllers/SettingsController.php index 90fc4d1049869c58e9f68f74d4704431d7e3baf5..58571176fbffd080f794d7dcd726fc21fbea6ef2 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 ab02bc087daca903a077c8139b9ba018574b2c93..a4ace0d7929774cccaba9dca1b1005cb255adccc 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 e505df950c8b81e85f977c0a5d8709068ac238ea..98bf5b159178a76bc1191d14595615e3dba95442 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 396008ceb59fece6b3caa65bcb5028a8a1b08d1f..b6d2b19df1213dc3f4139f957f4c0b918f7968b0 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>