X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FBaseAdminModule.php;h=01aa00d42392cee738a954649054d51ff8acca8a;hb=fd706cf9a7a0c4700838a1f00b12d8fd37323b7c;hp=bc84ad8873f279038af943fae654275167f9493d;hpb=5750623b48d9e681a02b0b0bcb3d7c02c62b6c05;p=friendica.git diff --git a/src/Module/BaseAdminModule.php b/src/Module/BaseAdminModule.php index bc84ad8873..01aa00d423 100644 --- a/src/Module/BaseAdminModule.php +++ b/src/Module/BaseAdminModule.php @@ -1,86 +1,122 @@ -page['htmlhead'] .= Renderer::replaceMacros(Renderer::getMarkupTemplate('admin/settings_head.tpl'), []); - - /* - * Side bar links - */ - - // array(url, name, extra css classes) - // not part of $aside to make the template more adjustable - $aside_sub = [ - 'information' => [L10n::t('Information'), [ - 'overview' => ['admin' , L10n::t('Overview') , 'overview'], - 'federation' => ['admin/federation' , L10n::t('Federation Statistics') , 'federation'] - ]], - 'configuration' => [L10n::t('Configuration'), [ - 'users' => ['admin/users' , L10n::t('Users') , 'users'], - 'addons' => ['admin/addons' , L10n::t('Addons') , 'addons'], - 'themes' => ['admin/themes' , L10n::t('Themes') , 'themes'], - 'features' => ['admin/features' , L10n::t('Additional features') , 'features'], - 'tos' => ['admin/tos' , L10n::t('Terms of Service') , 'tos'], - ]], - 'tools' => [L10n::t('Tools'), [ - 'contactblock' => ['admin/blocklist/contact', L10n::t('Contact Blocklist') , 'contactblock'], - 'blocklist' => ['admin/blocklist/server' , L10n::t('Server Blocklist') , 'blocklist'], - ]], - ]; - - $addons_admin = []; - $addonsAdminStmt = DBA::select('addon', ['name'], ['plugin_admin' => 1], ['order' => ['name']]); - foreach (DBA::toArray($addonsAdminStmt) as $addon) { - $addons_admin[] = ['admin/addons/' . $addon['name'], $addon['name'], 'addon']; - } - - $t = Renderer::getMarkupTemplate('admin/aside.tpl'); - $a->page['aside'] .= Renderer::replaceMacros($t, [ - '$admin' => ['addons_admin' => $addons_admin], - '$subpages' => $aside_sub, - '$admtxt' => L10n::t('Admin'), - '$plugadmtxt' => L10n::t('Addon Features'), - '$h_pending' => L10n::t('User registrations waiting for confirmation'), - '$admurl' => 'admin/' - ]); - - return ''; - } -} +query_string); + $a->internalRedirect('login'); + } + + if (!empty($_SESSION['submanage'])) { + throw new ForbiddenException(L10n::t('Submanaged account can\'t access the administation pages. Please log back in as the master account.')); + } + + // Header stuff + $a->page['htmlhead'] .= Renderer::replaceMacros(Renderer::getMarkupTemplate('admin/settings_head.tpl'), []); + + /* + * Side bar links + */ + + // array(url, name, extra css classes) + // not part of $aside to make the template more adjustable + $aside_sub = [ + 'information' => [L10n::t('Information'), [ + 'overview' => ['admin' , L10n::t('Overview') , 'overview'], + 'federation' => ['admin/federation' , L10n::t('Federation Statistics') , 'federation'] + ]], + 'configuration' => [L10n::t('Configuration'), [ + 'site' => ['admin/site' , L10n::t('Site') , 'site'], + 'users' => ['admin/users' , L10n::t('Users') , 'users'], + 'addons' => ['admin/addons' , L10n::t('Addons') , 'addons'], + 'themes' => ['admin/themes' , L10n::t('Themes') , 'themes'], + 'features' => ['admin/features' , L10n::t('Additional features') , 'features'], + 'tos' => ['admin/tos' , L10n::t('Terms of Service') , 'tos'], + ]], + 'database' => [L10n::t('Database'), [ + 'dbsync' => ['admin/dbsync' , L10n::t('DB updates') , 'dbsync'], + 'deferred' => ['admin/queue/deferred', L10n::t('Inspect Deferred Workers'), 'deferred'], + 'workerqueue' => ['admin/queue' , L10n::t('Inspect worker Queue') , 'workerqueue'], + ]], + 'tools' => [L10n::t('Tools'), [ + 'contactblock' => ['admin/blocklist/contact', L10n::t('Contact Blocklist') , 'contactblock'], + 'blocklist' => ['admin/blocklist/server' , L10n::t('Server Blocklist') , 'blocklist'], + 'deleteitem' => ['admin/item/delete' , L10n::t('Delete Item') , 'deleteitem'], + ]], + 'logs' => [L10n::t('Logs'), [ + 'logsconfig' => ['admin/logs/', L10n::t('Logs') , 'logs'], + 'logsview' => ['admin/logs/view' , L10n::t('View Logs') , 'viewlogs'], + ]], + 'diagnostics' => [L10n::t('Diagnostics'), [ + 'phpinfo' => ['admin/phpinfo' , L10n::t('PHP Info') , 'phpinfo'], + 'probe' => ['probe' , L10n::t('probe address') , 'probe'], + 'webfinger' => ['webfinger' , L10n::t('check webfinger') , 'webfinger'], + 'itemsource' => ['admin/item/source' , L10n::t('Item Source') , 'itemsource'], + 'babel' => ['babel' , L10n::t('Babel') , 'babel'], + ]], + ]; + + $t = Renderer::getMarkupTemplate('admin/aside.tpl'); + $a->page['aside'] .= Renderer::replaceMacros($t, [ + '$admin' => ['addons_admin' => Addon::getAdminList()], + '$subpages' => $aside_sub, + '$admtxt' => L10n::t('Admin'), + '$plugadmtxt' => L10n::t('Addon Features'), + '$h_pending' => L10n::t('User registrations waiting for confirmation'), + '$admurl' => 'admin/' + ]); + + return ''; + } +}