From bbeb9b6e3df878e4053436bde6efd8a0be8e42dc Mon Sep 17 00:00:00 2001 From: KuJoe <1040086+KuJoe@users.noreply.github.com> Date: Tue, 17 Mar 2026 18:32:36 -0400 Subject: [PATCH] Added a "Health" page for admins/editors. Added a page for admins/editors to do a quick spot check to make sure their webserver settings are healthy by doing a quick check for PHP version, PHP modules, and critical directories are writable. --- lang/en_US.ini | 13 +++++- system/admin/admin.php | 1 + system/admin/views/health.html.php | 70 ++++++++++++++++++++++++++++++ system/admin/views/layout.html.php | 7 +++ system/htmly.php | 35 +++++++++++++++ 5 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 system/admin/views/health.html.php diff --git a/lang/en_US.ini b/lang/en_US.ini index 2392a8b..d5706d7 100644 --- a/lang/en_US.ini +++ b/lang/en_US.ini @@ -407,4 +407,15 @@ backtotop = "Back to top" subpages = "Sub pages" getstarted = "Get started" onthispage = "On this page" -cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue." \ No newline at end of file +cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue." +health_check = "Health Check" +directory_permissions = "Directory Permissions" +cache_folder_writable = "/cache/ directory is writable." +content_folder_not_writable = "/content/ directory is not writable, please update the permissions/ownership to continue." +content_folder_writable = "/content/ directory is writable." +users_folder_not_writable = "/config/users/ directory is not writable, please update the permissions/ownership to continue." +users_folder_writable = "/config/users/ directory is writable." +php_check = "PHP Version" +php_version_check_passed = "PHP version meets the minimum requirement." +php_version_check_failed = "PHP version does not meet the minimum requirement. Please upgrade your PHP version." +php_modules = "PHP Modules" diff --git a/system/admin/admin.php b/system/admin/admin.php index 1e4a09f..ce766e1 100644 --- a/system/admin/admin.php +++ b/system/admin/admin.php @@ -1674,6 +1674,7 @@ EOF; } if ($role === 'editor' || $role === 'admin') { $toolbar .= '
✅ '.i18n('php_version_check_passed').' (Current: '.PHP_VERSION.', Required: '.$requiredPhpVersion.')
'; +} else { + echo '❌ '.i18n('php_version_check_failed').' (Current: '.PHP_VERSION.', Required: '.$requiredPhpVersion.')
'; +} + +echo '❌ '.i18n('cache_folder_not_writable').'
'; +} else { + echo '✅ '.i18n('cache_folder_writable').'
'; +} + +$contentdir = 'content/'; +if (!is_writable($contentdir)) { + echo '❌ '.i18n('content_folder_not_writable').'
'; +} else { + echo '✅ '.i18n('content_folder_writable').'
'; +} + +$usersdir = 'config/users/'; +if (!is_writable($usersdir)) { + echo '❌ '.i18n('users_folder_not_writable').'
'; +} else { + echo '✅ '.i18n('users_folder_writable').'
'; +} + +echo '✅ '.$label.'
'; + } else { + echo '❌ '.$label.'
'; + } +} + diff --git a/system/admin/views/layout.html.php b/system/admin/views/layout.html.php index 6df46d2..760d423 100644 --- a/system/admin/views/layout.html.php +++ b/system/admin/views/layout.html.php @@ -262,6 +262,13 @@ if (isset($author[0])) { ++ +
+ +