diff --git a/mod/admin.php b/mod/admin.php index 30073c655b..d4fcc533f7 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -24,6 +24,7 @@ use Friendica\Module\Tos; use Friendica\Util\Arrays; use Friendica\Util\DateTimeFormat; use Friendica\Util\Temporal; +use Friendica\Util\Network; require_once 'include/enotify.php'; require_once 'include/text.php'; @@ -868,6 +869,14 @@ function admin_page_summary(App $a) $warningtext[] = L10n::t('Friendica\'s configuration now is stored in config/local.ini.php, please copy config/local-sample.ini.php and move your config from .htconfig.php. See the Config help page for help with the transition.', $a->get_baseurl() . '/help/Config'); } + // Check server vitality + if (!admin_page_server_vital()) { + $showwarning = true; + $well_known = $a->get_baseurl() . '/.well-known/host-meta'; + $warningtext[] = L10n::t('%s is not reachable on your system. This is a severe configuration issue that prevents server to server communication. See the installation page for help.', + $well_known, $well_known, $a->get_baseurl() . '/help/Install'); + } + $r = q("SELECT `page-flags`, COUNT(`uid`) AS `count` FROM `user` GROUP BY `page-flags`"); $accounts = [ [L10n::t('Normal Account'), 0], @@ -2544,3 +2553,10 @@ function admin_page_features(App $a) return $o; } } + +function admin_page_server_vital() +{ + // Fetch the host-meta to check if this really is a vital server + $serverret = Network::curl(System::baseUrl() . '/.well-known/host-meta'); + return $serverret["success"]; +}