]> git.mxchange.org Git - friendica.git/blob - src/Module/BaseAdminModule.php
2df7a6b8259dda11852441267c33a80589e16b00
[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                 ];\r
56 \r
57                 $addons_admin = [];\r
58                 $addonsAdminStmt = DBA::select('addon', ['name'], ['plugin_admin' => 1], ['order' => ['name']]);\r
59                 foreach (DBA::toArray($addonsAdminStmt) as $addon) {\r
60                         $addons_admin[] = ['admin/addons/' . $addon['name'], $addon['name'], 'addon'];\r
61                 }\r
62 \r
63                 $t = Renderer::getMarkupTemplate('admin/aside.tpl');\r
64                 $a->page['aside'] .= Renderer::replaceMacros($t, [\r
65                         '$admin' => ['addons_admin' => $addons_admin],\r
66                         '$subpages' => $aside_sub,\r
67                         '$admtxt' => L10n::t('Admin'),\r
68                         '$plugadmtxt' => L10n::t('Addon Features'),\r
69                         '$h_pending' => L10n::t('User registrations waiting for confirmation'),\r
70                         '$admurl' => 'admin/'\r
71                 ]);\r
72 \r
73                 return '';\r
74         }\r
75 }\r