Merge pull request #18639 from kamil-tekiela/Fix-SA-issues
[phpmyadmin.git] / psalm.xml
blob27b395a4a06a3269b0b73d19d4395797fdab7202
1 <?xml version="1.0"?>
2 <psalm
3     autoloader="test/bootstrap-static.php"
4     errorLevel="1"
5     reportMixedIssues="true"
6     sealAllMethods="true"
7     resolveFromConfigFile="true"
8     findUnusedBaselineEntry="true"
9     findUnusedCode="true"
10     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
11     xmlns="https://getpsalm.org/schema/config"
12     xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
13     errorBaseline="psalm-baseline.xml"
15     <projectFiles>
16         <directory name="libraries"/>
17         <directory name="public/setup"/>
18         <directory name="test/classes"/>
19         <directory name="test/selenium"/>
20         <file name="public/index.php"/>
21         <ignoreFiles>
22             <directory name="vendor"/>
23             <directory name="libraries/cache"/>
24         </ignoreFiles>
25         <ignoreFiles allowMissingFiles="true">
26             <file name="config.inc.php"/>
27         </ignoreFiles>
28     </projectFiles>
30     <stubs>
31         <file name="test/stubs/Query.stub"/>
32         <file name="test/stubs/uploadprogress.stub"/>
33     </stubs>
35     <plugins>
36         <pluginClass class="Psalm\PhpUnitPlugin\Plugin"/>
37     </plugins>
39     <globals>
40         <var name="GLOBALS" type="array{
41             asfile: bool,
42             buffer_needed: bool,
43             cached_affected_rows: int|numeric-string,
44             cfg: array{
45                 AllowArbitraryServer: bool,
46                 AllowSharedBookmarks: bool,
47                 AllowThirdPartyFraming: bool|'sameorigin',
48                 ArbitraryServerRegexp: string,
49                 AvailableCharsets: string[],
50                 blowfish_secret: string,
51                 BrowseMarkerEnable: bool,
52                 BrowsePointerEnable: bool,
53                 BrowseMIME: bool,
54                 BZipDump: bool,
55                 CaptchaApi: string,
56                 CaptchaLoginPublicKey: string,
57                 CaptchaRequestParam: string,
58                 CaptchaResponseParam: string,
59                 CharEditing: 'input'|'textarea',
60                 CharTextareaCols: positive-int,
61                 CharTextareaRows: positive-int,
62                 CodemirrorEnable: bool,
63                 CompressOnFly: bool,
64                 Confirm: bool,
65                 ConsoleEnterExecutes: bool,
66                 DBG: array{sql: bool, sqllog: bool, demo: bool, simple2fa: bool},
67                 DefaultForeignKeyChecks: 'default'|'enable'|'disable',
68                 DefaultQueryDatabase: string,
69                 DefaultQueryTable: string,
70                 DefaultTabDatabase: 'structure'|'sql'|'search'|'operations',
71                 DefaultTabServer: 'welcome'|'databases'|'status'|'variables'|'privileges',
72                 DefaultTabTable: 'structure'|'sql'|'search'|'insert'|'browse',
73                 DefaultTransformations: array{
74                     Bool2Text: array{string, string},
75                     DateFormat: array{0|positive-int, string, 'local'|'utc'},
76                     External: array{int, string, int, int},
77                     Hex: array{0|positive-int},
78                     Inline: array{0: 0|positive-int, 1: 0|positive-int, wrapper_link: string|null, wrapper_params: array&lt;array-key, string&gt;},
79                     PreApPend: array{string, string},
80                     Substring: array{0|positive-int, 'all'|int, string},
81                     TextImageLink: array{string|null, 0|positive-int, 0|positive-int},
82                     TextLink: array{string|null, string|null, bool|null}
83                 },
84                 DisableMultiTableMaintenance: bool,
85                 DisplayServersList: bool,
86                 enable_drag_drop_import: bool,
87                 ExecTimeLimit: 0|positive-int,
88                 FirstLevelNavigationItems: positive-int,
89                 ForeignKeyDropdownOrder: array{0: 'content-id'|'id-content', 1?: 'content-id'|'id-content'},
90                 ForeignKeyMaxLimit: positive-int,
91                 GridEditing: 'double-click'|'click'|'disabled',
92                 GZipDump: bool,
93                 HideStructureActions: bool,
94                 IgnoreMultiSubmitErrors: bool,
95                 Import: array,
96                 InitialSlidersState: 'open'|'closed'|'disabled',
97                 InsertRows: positive-int,
98                 LimitChars: positive-int,
99                 LinkLengthLimit: positive-int,
100                 LintEnable: bool,
101                 LoginCookieDeleteAll: bool,
102                 LoginCookieRecall: bool,
103                 LoginCookieStore: 0|positive-int,
104                 LoginCookieValidity: positive-int,
105                 LongtextDoubleTextarea: bool,
106                 MaxDbList: positive-int,
107                 MaxCharactersInDisplayedSQL: positive-int,
108                 MaxExactCount: positive-int,
109                 MaxExactCountViews: 0|positive-int,
110                 MaxNavigationItems: positive-int,
111                 MaxTableList: positive-int,
112                 maxRowPlotLimit: positive-int,
113                 MaxRows: positive-int,
114                 MaxSizeForInputField: positive-int,
115                 MinSizeForInputField: 0|positive-int,
116                 MysqlSslWarningSafeHosts: string[],
117                 NaturalOrder: bool,
118                 NavigationLinkWithMainPanel: bool,
119                 NavigationTreeDbSeparator: string,
120                 NavigationTreeDefaultTabTable: 'structure'|'sql'|'search'|'insert'|'browse',
121                 NavigationTreeDefaultTabTable2: 'structure'|'sql'|'search'|'insert'|'browse'|'',
122                 NavigationTreeDisplayDbFilterMinimum: positive-int,
123                 NavigationTreeDisplayItemFilterMinimum: positive-int,
124                 NavigationTreeEnableExpansion: bool,
125                 NavigationTreeEnableGrouping: bool,
126                 NavigationTreeShowEvents: bool,
127                 NavigationTreeShowFunctions: bool,
128                 NavigationTreeShowProcedures: bool,
129                 NavigationTreeShowTables: bool,
130                 NavigationTreeShowViews: bool,
131                 NavigationTreeTableLevel: positive-int,
132                 NavigationTreeTableSeparator: string|string[]|false,
133                 NumFavoriteTables: 0|positive-int,
134                 NumRecentTables: 0|positive-int,
135                 OBGzip: 'auto'|bool,
136                 PDFDefaultPageSize: string,
137                 PDFPageSizes: string[],
138                 PersistentConnections: bool,
139                 PropertiesNumColumns: positive-int,
140                 ProtectBinary: 'blob'|'noblob'|'all'|false,
141                 QueryHistoryDB: bool,
142                 QueryHistoryMax: positive-int,
143                 RelationalDisplay: 'K'|'D',
144                 RememberSorting: bool,
145                 RepeatCells: 0|positive-int,
146                 ReservedWordDisableWarning: bool,
147                 RetainQueryBox: bool,
148                 RowActionLinks: 'left'|'right'|'both'|'none',
149                 RowActionLinksWithoutUnique: bool,
150                 SaveCellsAtOnce: bool,
151                 SendErrorReports: 'ask'|'always'|'never',
152                 ServerDefault: 0|positive-int,
153                 Servers: array[],
154                 ShowAll: bool,
155                 ShowBrowseComments: bool,
156                 ShowColumnComments: bool,
157                 ShowCreateDb: bool,
158                 ShowDatabasesNavigationAsTree: bool,
159                 ShowDbStructureCharset: bool,
160                 ShowDbStructureComment: bool,
161                 ShowDbStructureCreation: bool,
162                 ShowDbStructureLastCheck: bool,
163                 ShowDbStructureLastUpdate: bool,
164                 ShowFieldTypesInDataEditView: bool,
165                 ShowFunctionFields: bool,
166                 ShowHint: bool,
167                 ShowPropertyComments: bool,
168                 ShowServerInfo: bool|string,
169                 ShowSQL: bool,
170                 ShowStats: bool,
171                 TextareaAutoSelect: bool,
172                 TextareaCols: positive-int,
173                 TextareaRows: positive-int,
174                 ThemeDefault: string,
175                 ThemePerServer: bool,
176                 TitleDatabase: string,
177                 TitleDefault: string,
178                 TitleServer: string,
179                 TitleTable: string,
180                 UserprefsDeveloperTab: bool,
181                 UserprefsDisallow: string[],
182                 VersionCheck: bool,
183                 ZeroConf: bool,
184                 ZipDump: bool
185             },
186             charset: string,
187             charset_connection: string,
188             codegen_format: 0|1,
189             col_priv: bool,
190             collation_connection: string,
191             complete_query: string,
192             compression: 'none'|'zip'|'gzip',
193             conn_error: string,
194             ConfigFile: PhpMyAdmin\Config\ConfigFile,
195             containerBuilder: Symfony\Component\DependencyInjection\ContainerBuilder,
196             csv_columns: bool,
197             csv_enclosed: string,
198             csv_escaped: string,
199             csv_separator: string,
200             csv_terminated: string,
201             db: string,
202             db_priv: bool,
203             dbs_to_test: string[]|false,
204             display_query: string,
205             errno: int,
206             error: bool,
207             error_message: string,
208             excel_edition: 'win'|'mac_excel2003'|'mac_excel2008',
209             file_handle: resource|null,
210             finished: bool,
211             from_cookie: bool,
212             goto: string,
213             hostname: string,
214             import_file: string,
215             import_file_name: string,
216             import_text: string,
217             is_create_db_priv: bool,
218             is_reload_priv: bool,
219             knjenc: string,
220             lang: string,
221             latex_data_caption: string,
222             latex_data_continued_caption: string,
223             latex_data_label: string,
224             latex_null: string,
225             latex_structure_caption: string,
226             latex_structure_continued_caption: string,
227             latex_structure_label: string,
228             maximum_time: 0|positive-int,
229             maxsize: string,
230             memory_limit: int,
231             message: PhpMyAdmin\Message,
232             ods_buffer: string,
233             odt_buffer: string,
234             offset: int,
235             old_tz: string,
236             onfly_compression: bool,
237             output_charset_conversion: bool,
238             output_kanji_conversion: bool,
239             plugin_param: string|array{export_type: string, single_table: bool},
240             plugin_scripts: string[],
241             pma_auth_server: string,
242             PMA_PHP_SELF: string,
243             proc_priv: bool,
244             querytime: float|int,
245             read_limit: int,
246             save_on_server: bool,
247             server: int,
248             SESSION_KEY: string,
249             showtable: array&lt;string, string|null&gt;,
250             sql_compatibility: 'NONE'|'ANSI'|'DB2'|'MAXDB'|'MYSQL323'|'MYSQL40'|'MSSQL'|'ORACLE'|'TRADITIONAL',
251             sql_constraints: string,
252             sql_constraints_query: string,
253             sql_drop_foreign_keys: string,
254             sql_if_not_exists: bool,
255             sql_ignore: bool,
256             sql_insert_syntax: 'complete'|'extended'|'both'|'none',
257             sql_max_query_size: 0|positive-int,
258             sql_query: string,
259             sql_structure_or_data: 'structure'|'data'|'structure_and_data',
260             sql_type: 'INSERT'|'UPDATE'|'REPLACE',
261             table: string,
262             table_priv: bool,
263             tbl_storage_engine: string,
264             text_dir: string,
265             token_mismatch: bool,
266             token_provided: bool,
267             unparsed_sql?: string,
268             urlParams: array,
269             username: string,
270             xml_export_triggers: bool,
271             xml_export_views: bool
272         }"/>
273     </globals>
274 </psalm>