]> git.mxchange.org Git - friendica.git/blob - src/Module/BaseSettingsModule.php
Introduce new DI container
[friendica.git] / src / Module / BaseSettingsModule.php
1 <?php
2
3 namespace Friendica\Module;
4
5 use Friendica\BaseModule;
6 use Friendica\Content\Feature;
7 use Friendica\Core\L10n;
8 use Friendica\Core\Renderer;
9 use Friendica\DI;
10
11 class BaseSettingsModule extends BaseModule
12 {
13         public static function content(array $parameters = [])
14         {
15                 $a = DI::app();
16
17                 $tpl = Renderer::getMarkupTemplate('settings/head.tpl');
18                 $a->page['htmlhead'] .= Renderer::replaceMacros($tpl, [
19                         '$ispublic' => L10n::t('everybody')
20                 ]);
21
22                 $tabs = [];
23
24                 $tabs[] = [
25                         'label' => L10n::t('Account'),
26                         'url' => 'settings',
27                         'selected' => (($a->argc == 1) && ($a->argv[0] === 'settings') ? 'active' : ''),
28                         'accesskey' => 'o',
29                 ];
30
31                 $tabs[] = [
32                         'label' => L10n::t('Two-factor authentication'),
33                         'url' => 'settings/2fa',
34                         'selected' => (($a->argc > 1) && ($a->argv[1] === '2fa') ? 'active' : ''),
35                         'accesskey' => 'o',
36                 ];
37
38                 $tabs[] = [
39                         'label' => L10n::t('Profiles'),
40                         'url' => 'profiles',
41                         'selected' => (($a->argc == 1) && ($a->argv[0] === 'profiles') ? 'active' : ''),
42                         'accesskey' => 'p',
43                 ];
44
45                 if (Feature::get()) {
46                         $tabs[] = [
47                                 'label' => L10n::t('Additional features'),
48                                 'url' => 'settings/features',
49                                 'selected' => (($a->argc > 1) && ($a->argv[1] === 'features') ? 'active' : ''),
50                                 'accesskey' => 't',
51                         ];
52                 }
53
54                 $tabs[] = [
55                         'label' => L10n::t('Display'),
56                         'url' => 'settings/display',
57                         'selected' => (($a->argc > 1) && ($a->argv[1] === 'display') ? 'active' : ''),
58                         'accesskey' => 'i',
59                 ];
60
61                 $tabs[] = [
62                         'label' => L10n::t('Social Networks'),
63                         'url' => 'settings/connectors',
64                         'selected' => (($a->argc > 1) && ($a->argv[1] === 'connectors') ? 'active' : ''),
65                         'accesskey' => 'w',
66                 ];
67
68                 $tabs[] = [
69                         'label' => L10n::t('Addons'),
70                         'url' => 'settings/addon',
71                         'selected' => (($a->argc > 1) && ($a->argv[1] === 'addon') ? 'active' : ''),
72                         'accesskey' => 'l',
73                 ];
74
75                 $tabs[] = [
76                         'label' => L10n::t('Delegations'),
77                         'url' => 'settings/delegation',
78                         'selected' => (($a->argc > 1) && ($a->argv[1] === 'delegation') ? 'active' : ''),
79                         'accesskey' => 'd',
80                 ];
81
82                 $tabs[] = [
83                         'label' => L10n::t('Connected apps'),
84                         'url' => 'settings/oauth',
85                         'selected' => (($a->argc > 1) && ($a->argv[1] === 'oauth') ? 'active' : ''),
86                         'accesskey' => 'b',
87                 ];
88
89                 $tabs[] = [
90                         'label' => L10n::t('Export personal data'),
91                         'url' => 'settings/userexport',
92                         'selected' => (($a->argc > 1) && ($a->argv[1] === 'userexport') ? 'active' : ''),
93                         'accesskey' => 'e',
94                 ];
95
96                 $tabs[] = [
97                         'label' => L10n::t('Remove account'),
98                         'url' => 'removeme',
99                         'selected' => (($a->argc == 1) && ($a->argv[0] === 'removeme') ? 'active' : ''),
100                         'accesskey' => 'r',
101                 ];
102
103
104                 $tabtpl = Renderer::getMarkupTemplate("generic_links_widget.tpl");
105                 $a->page['aside'] = Renderer::replaceMacros($tabtpl, [
106                         '$title' => L10n::t('Settings'),
107                         '$class' => 'settings-widget',
108                         '$items' => $tabs,
109                 ]);
110         }
111 }