]> git.mxchange.org Git - friendica.git/blob - src/Module/BaseAdminModule.php
31f279bca7731db22b34e5165e95e6a8eff3b770
[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                                 'users'        => ['admin/users'       , L10n::t('Users')                   , 'users'],\r
57                                 'addons'       => ['admin/addons'      , L10n::t('Addons')                  , 'addons'],\r
58                                 'themes'       => ['admin/themes'      , L10n::t('Themes')                  , 'themes'],\r
59                                 'features'     => ['admin/features'    , L10n::t('Additional features')     , 'features'],\r
60                                 'tos'          => ['admin/tos'         , L10n::t('Terms of Service')        , 'tos'],\r
61                         ]],\r
62                         'tools' => [L10n::t('Tools'), [\r
63                                 'contactblock' => ['admin/blocklist/contact', L10n::t('Contact Blocklist')  , 'contactblock'],\r
64                         ]],\r
65                 ];\r
66 \r
67                 $addons_admin = [];\r
68                 $addonsAdminStmt = DBA::select('addon', ['name'], ['plugin_admin' => 1], ['order' => ['name']]);\r
69                 foreach (DBA::toArray($addonsAdminStmt) as $addon) {\r
70                         $addons_admin[] = ['admin/addons/' . $addon['name'], $addon['name'], 'addon'];\r
71                 }\r
72 \r
73                 $t = Renderer::getMarkupTemplate('admin/aside.tpl');\r
74                 $a->page['aside'] .= Renderer::replaceMacros($t, [\r
75                         '$admin' => ['addons_admin' => $addons_admin],\r
76                         '$subpages' => $aside_sub,\r
77                         '$admtxt' => L10n::t('Admin'),\r
78                         '$plugadmtxt' => L10n::t('Addon Features'),\r
79                         '$h_pending' => L10n::t('User registrations waiting for confirmation'),\r
80                         '$admurl' => 'admin/'\r
81                 ]);\r
82 \r
83                 return '';\r
84         }\r
85 }\r