1<?php
2/**
3 * User preferences form
4 */
5
6declare(strict_types=1);
7
8namespace PhpMyAdmin\Config\Forms\User;
9
10use PhpMyAdmin\Config\Forms\BaseForm;
11
12class FeaturesForm extends BaseForm
13{
14    /**
15     * @return array
16     */
17    public static function getForms()
18    {
19        $result = [
20            'General' => [
21                'VersionCheck',
22                'NaturalOrder',
23                'InitialSlidersState',
24                'LoginCookieValidity',
25                'SkipLockedTables',
26                'DisableMultiTableMaintenance',
27                'ShowHint',
28                'SendErrorReports',
29                'ConsoleEnterExecutes',
30                'DisableShortcutKeys',
31                'FirstDayOfCalendar',
32            ],
33            'Databases' => [
34                'Servers/1/only_db', // saves to Server/only_db
35                'Servers/1/hide_db', // saves to Server/hide_db
36                'MaxDbList',
37                'MaxTableList',
38                'DefaultConnectionCollation',
39            ],
40            'Text_fields' => [
41                'CharEditing',
42                'MinSizeForInputField',
43                'MaxSizeForInputField',
44                'CharTextareaCols',
45                'CharTextareaRows',
46                'TextareaCols',
47                'TextareaRows',
48                'LongtextDoubleTextarea',
49            ],
50            'Page_titles' => [
51                'TitleDefault',
52                'TitleTable',
53                'TitleDatabase',
54                'TitleServer',
55            ],
56            'Warnings' => [
57                'PmaNoRelation_DisableWarning',
58                'SuhosinDisableWarning',
59                'LoginCookieValidityDisableWarning',
60                'ReservedWordDisableWarning',
61            ],
62            'Console' => [
63                'Console/Mode',
64                'Console/StartHistory',
65                'Console/AlwaysExpand',
66                'Console/CurrentQuery',
67                'Console/EnterExecutes',
68                'Console/DarkTheme',
69                'Console/Height',
70                'Console/GroupQueries',
71                'Console/OrderBy',
72                'Console/Order',
73            ],
74        ];
75        // skip Developer form if no setting is available
76        if ($GLOBALS['cfg']['UserprefsDeveloperTab']) {
77            $result['Developer'] = ['DBG/sql'];
78        }
79
80        return $result;
81    }
82
83    /**
84     * @return string
85     */
86    public static function getName()
87    {
88        return __('Features');
89    }
90}
91