]> git.mxchange.org Git - friendica.git/blob - src/Module/Admin/Features.php
Remove join profile table
[friendica.git] / src / Module / Admin / Features.php
1 <?php
2
3 namespace Friendica\Module\Admin;
4
5 use Friendica\Content\Feature;
6 use Friendica\Core\Renderer;
7 use Friendica\DI;
8 use Friendica\Module\BaseAdmin;
9
10 class Features extends BaseAdmin
11 {
12         public static function post(array $parameters = [])
13         {
14                 parent::post($parameters);
15
16                 parent::checkFormSecurityTokenRedirectOnError('/admin/features', 'admin_manage_features');
17
18                 $features = Feature::get(false);
19
20                 foreach ($features as $fname => $fdata) {
21                         foreach (array_slice($fdata, 1) as $f) {
22                                 $feature = $f[0];
23                                 $feature_state = 'feature_' . $feature;
24                                 $featurelock = 'featurelock_' . $feature;
25
26                                 if (!empty($_POST[$feature_state])) {
27                                         $val = intval($_POST[$feature_state]);
28                                 } else {
29                                         $val = 0;
30                                 }
31                                 DI::config()->set('feature', $feature, $val);
32
33                                 if (!empty($_POST[$featurelock])) {
34                                         DI::config()->set('feature_lock', $feature, $val);
35                                 } else {
36                                         DI::config()->delete('feature_lock', $feature);
37                                 }
38                         }
39                 }
40
41                 DI::baseUrl()->redirect('admin/features');
42         }
43
44         public static function content(array $parameters = [])
45         {
46                 parent::content($parameters);
47
48                 $arr = [];
49                 $features = Feature::get(false);
50
51                 foreach ($features as $fname => $fdata) {
52                         $arr[$fname] = [];
53                         $arr[$fname][0] = $fdata[0];
54                         foreach (array_slice($fdata, 1) as $f) {
55                                 $set = DI::config()->get('feature', $f[0], $f[3]);
56                                 $arr[$fname][1][] = [
57                                         ['feature_' . $f[0], $f[1], $set, $f[2], [DI::l10n()->t('Off'), DI::l10n()->t('On')]],
58                                         ['featurelock_' . $f[0], DI::l10n()->t('Lock feature %s', $f[1]), (($f[4] !== false) ? "1" : ''), '', [DI::l10n()->t('Off'), DI::l10n()->t('On')]]
59                                 ];
60                         }
61                 }
62
63                 $tpl = Renderer::getMarkupTemplate('admin/features.tpl');
64                 $o = Renderer::replaceMacros($tpl, [
65                         '$form_security_token' => parent::getFormSecurityToken("admin_manage_features"),
66                         '$title' => DI::l10n()->t('Manage Additional Features'),
67                         '$features' => $arr,
68                         '$submit' => DI::l10n()->t('Save Settings'),
69                 ]);
70
71                 return $o;
72         }
73 }