]> git.mxchange.org Git - friendica.git/blob - src/Module/BaseAdminModule.php
dc944738121a98c4452d0a54e58b11226140a2f6
[friendica.git] / src / Module / BaseAdminModule.php
1 <?php\r
2 \r
3 namespace Friendica\Module;\r
4 \r
5 use Friendica\BaseModule;\r
6 use Friendica\Core\L10n;\r
7 use Friendica\Core\Renderer;\r
8 use Friendica\Database\DBA;\r
9 \r
10 abstract class BaseAdminModule extends BaseModule\r
11 {\r
12         public static function post()\r
13         {\r
14                 if (!is_site_admin()) {\r
15                         return;\r
16                 }\r
17 \r
18                 // do not allow a page manager to access the admin panel at all.\r
19                 if (!empty($_SESSION['submanage'])) {\r
20                         return;\r
21                 }\r
22         }\r
23 \r
24         public static function content()\r
25         {\r
26                 if (!is_site_admin()) {\r
27                         return Login::form();\r
28                 }\r
29 \r
30                 if (!empty($_SESSION['submanage'])) {\r
31                         return '';\r
32                 }\r
33 \r
34                 $a = self::getApp();\r
35 \r
36                 // APC deactivated, since there are problems with PHP 5.5\r
37                 //if (function_exists("apc_delete")) {\r
38                 // $toDelete = new APCIterator('user', APC_ITER_VALUE);\r
39                 // apc_delete($toDelete);\r
40                 //}\r
41                 // Header stuff\r
42                 $a->page['htmlhead'] .= Renderer::replaceMacros(Renderer::getMarkupTemplate('admin/settings_head.tpl'), []);\r
43 \r
44                 /*\r
45                  * Side bar links\r
46                  */\r
47 \r
48                 // array(url, name, extra css classes)\r
49                 // not part of $aside to make the template more adjustable\r
50                 $aside_sub = [\r
51                         'information' => [L10n::t('Information'), [\r
52                                 'overview'     => ['admin'             , L10n::t('Overview')                , 'overview'],\r
53                                 'federation'   => ['admin/federation'  , L10n::t('Federation Statistics')   , 'federation']\r
54                         ]],\r
55                         'configuration' => [L10n::t('Configuration'), [\r
56                                 'site'         => ['admin/site'        , L10n::t('Site')                    , 'site'],\r
57                                 'users'        => ['admin/users'       , L10n::t('Users')                   , 'users'],\r
58                                 'addons'       => ['admin/addons'      , L10n::t('Addons')                  , 'addons'],\r
59                                 'themes'       => ['admin/themes'      , L10n::t('Themes')                  , 'themes'],\r
60                                 'features'     => ['admin/features'    , L10n::t('Additional features')     , 'features'],\r
61                                 'tos'          => ['admin/tos'         , L10n::t('Terms of Service')        , 'tos'],\r
62                         ]],\r
63                         'database' => [L10n::t('Database'), [\r
64                                 'deferred'     => ['admin/queue/deferred', L10n::t('Inspect Deferred Workers'), 'deferred'],\r
65                                 'workerqueue'  => ['admin/queue'       , L10n::t('Inspect worker Queue')    , 'workerqueue'],\r
66                         ]],\r
67                         'tools' => [L10n::t('Tools'), [\r
68                                 'contactblock' => ['admin/blocklist/contact', L10n::t('Contact Blocklist')  , 'contactblock'],\r
69                                 'blocklist'    => ['admin/blocklist/server' , L10n::t('Server Blocklist')   , 'blocklist'],\r
70                         ]],\r
71                         'logs' => [L10n::t('Logs'), [\r
72                                 'logsconfig'   => ['admin/logs/', L10n::t('Logs')                   , 'logs'],\r
73                                 'logsview'     => ['admin/logs/view'    , L10n::t('View Logs')              , 'viewlogs'],\r
74                         ]],\r
75                 ];\r
76 \r
77                 $addons_admin = [];\r
78                 $addonsAdminStmt = DBA::select('addon', ['name'], ['plugin_admin' => 1], ['order' => ['name']]);\r
79                 foreach (DBA::toArray($addonsAdminStmt) as $addon) {\r
80                         $addons_admin[] = ['admin/addons/' . $addon['name'], $addon['name'], 'addon'];\r
81                 }\r
82 \r
83                 $t = Renderer::getMarkupTemplate('admin/aside.tpl');\r
84                 $a->page['aside'] .= Renderer::replaceMacros($t, [\r
85                         '$admin' => ['addons_admin' => $addons_admin],\r
86                         '$subpages' => $aside_sub,\r
87                         '$admtxt' => L10n::t('Admin'),\r
88                         '$plugadmtxt' => L10n::t('Addon Features'),\r
89                         '$h_pending' => L10n::t('User registrations waiting for confirmation'),\r
90                         '$admurl' => 'admin/'\r
91                 ]);\r
92 \r
93                 return '';\r
94         }\r
95 }\r