Translated using Weblate (Portuguese (Brazil))
[phpmyadmin.git] / psalm.xml
blob1077ab79eca13782d08eb268a93dc3befd312c92
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     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9     xmlns="https://getpsalm.org/schema/config"
10     xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
11     errorBaseline="psalm-baseline.xml"
13     <projectFiles>
14         <directory name="libraries"/>
15         <directory name="setup"/>
16         <directory name="test/classes"/>
17         <directory name="test/selenium"/>
18         <file name="js/messages.php"/>
19         <file name="index.php"/>
20         <file name="show_config_errors.php"/>
21         <file name="url.php"/>
22         <ignoreFiles>
23             <directory name="vendor"/>
24             <directory name="libraries/cache"/>
25         </ignoreFiles>
26         <ignoreFiles allowMissingFiles="true">
27             <file name="config.inc.php"/>
28         </ignoreFiles>
29     </projectFiles>
31     <stubs>
32         <file name="test/stubs/uploadprogress.stub"/>
33     </stubs>
35     <plugins>
36         <pluginClass class="Psalm\PhpUnitPlugin\Plugin"/>
37     </plugins>
39     <globals>
40         <var name="cfg" type="array{
41             AllowUserDropDatabase: bool,
42             blowfish_secret: string,
43             BrowseMIME: bool,
44             BZipDump: bool,
45             CaptchaCsp: string,
46             CookieSameSite: 'Lax'|'Strict'|'None',
47             CSPAllow: string,
48             DBG: array{sql: bool, sqllog: bool, demo: bool, simple2fa: bool},
49             DefaultTabDatabase: 'structure'|'sql'|'search'|'operations',
50             DefaultTabServer: 'welcome'|'databases'|'status'|'variables'|'privileges',
51             DefaultTabTable: 'structure'|'sql'|'search'|'insert'|'browse',
52             DisableMultiTableMaintenance: bool,
53             enable_drag_drop_import: bool,
54             EnableAutocompleteForTablesAndColumns: bool,
55             environment: 'production'|'development',
56             ExecTimeLimit: 0|positive-int,
57             Export: array,
58             FirstLevelNavigationItems: positive-int,
59             GridEditing: 'double-click'|'click'|'disabled',
60             GZipDump: bool,
61             IgnoreMultiSubmitErrors: bool,
62             InitialSlidersState: 'open'|'closed'|'disabled',
63             LimitChars: positive-int,
64             LoginCookieStore: 0|positive-int,
65             LoginCookieValidity: positive-int,
66             LoginCookieValidityDisableWarning: bool,
67             MaxDbList: positive-int,
68             MaxCharactersInDisplayedSQL: positive-int,
69             MaxRows: positive-int,
70             MaxTableList: positive-int,
71             NaturalOrder: bool,
72             NavigationDisplayLogo: bool,
73             NavigationDisplayServers: bool,
74             NavigationLinkWithMainPanel: bool,
75             NavigationLogoLink: string,
76             NavigationLogoLinkWindow: 'main'|'new',
77             NavigationTreeAutoexpandSingleDb: bool,
78             NavigationTreeDbSeparator: string,
79             NavigationTreeEnableGrouping: bool,
80             NavigationTreePointerEnable: bool,
81             NavigationTreeTableSeparator: string|string[]|false,
82             NavigationWidth: 0|positive-int,
83             NumFavoriteTables: 0|positive-int,
84             PmaNoRelation_DisableWarning: bool,
85             ProtectBinary: 'blob'|'noblob'|'all'|false,
86             ProxyPass: string,
87             ProxyUrl: string,
88             ProxyUser: string,
89             RepeatCells: 0|positive-int,
90             SendErrorReports: 'ask'|'always'|'never',
91             Server: array{
92                 AllowDeny: array{order: ''|'deny,allow'|'allow,deny'|'explicit', rules: string[]},
93                 AllowNoPassword: bool,
94                 AllowRoot: bool,
95                 auth_type: 'config'|'http'|'signon'|'cookie',
96                 controlpass: string,
97                 controluser: string,
98                 DisableIS: bool,
99                 host: string,
100                 password: string,
101                 pmadb: string|false,
102                 port: string,
103                 tracking_default_statements: string,
104                 user: string,
105                 verbose: string
106             },
107             ServerDefault: 0|positive-int,
108             Servers: array[],
109             ShowAll: bool,
110             ShowChgPassword: bool,
111             ShowCreateDb: bool,
112             ShowDatabasesNavigationAsTree: bool,
113             ShowFieldTypesInDataEditView: bool,
114             ShowFunctionFields: bool,
115             ShowPhpInfo: bool,
116             ShowServerInfo: bool,
117             ShowSQL: bool,
118             ShowStats: bool,
119             SkipLockedTables: bool,
120             SuhosinDisableWarning: bool,
121             ThemeManager: bool,
122             TranslationWarningThreshold: int,
123             UseDbSearch: bool,
124             VersionCheck: bool,
125             ZeroConf: bool,
126             ZipDump: bool
127         }"/>
128         <var name="containerBuilder" type="Symfony\Component\DependencyInjection\ContainerBuilder"/>
129         <var name="dbi" type="PhpMyAdmin\DatabaseInterface"/>
130         <var name="GLOBALS" type="array{
131             asfile: bool,
132             buffer_needed: bool,
133             cached_affected_rows: int|numeric-string,
134             cfg: array{
135                 AllowArbitraryServer: bool,
136                 AllowThirdPartyFraming: bool|'sameorigin',
137                 ArbitraryServerRegexp: string,
138                 AvailableCharsets: string[],
139                 BrowseMarkerEnable: bool,
140                 BrowsePointerEnable: bool,
141                 BrowseMIME: bool,
142                 BZipDump: bool,
143                 CaptchaApi: string,
144                 CaptchaLoginPublicKey: string,
145                 CaptchaRequestParam: string,
146                 CaptchaResponseParam: string,
147                 CharEditing: 'input'|'textarea',
148                 CharTextareaCols: positive-int,
149                 CharTextareaRows: positive-int,
150                 CodemirrorEnable: bool,
151                 CompressOnFly: bool,
152                 Confirm: bool,
153                 ConsoleEnterExecutes: bool,
154                 DBG: array{sql: bool, sqllog: bool, demo: bool, simple2fa: bool},
155                 DefaultForeignKeyChecks: 'default'|'enable'|'disable',
156                 DefaultQueryDatabase: string,
157                 DefaultQueryTable: string,
158                 DefaultTabDatabase: 'structure'|'sql'|'search'|'operations',
159                 DefaultTabServer: 'welcome'|'databases'|'status'|'variables'|'privileges',
160                 DefaultTabTable: 'structure'|'sql'|'search'|'insert'|'browse',
161                 DefaultTransformations: array{
162                     Bool2Text: array{string, string},
163                     DateFormat: array{0|positive-int, string, 'local'|'utc'},
164                     External: array{int, string, int, int},
165                     Hex: array{0|positive-int},
166                     Inline: array{0: 0|positive-int, 1: 0|positive-int, wrapper_link: string|null, wrapper_params: array&lt;array-key, string&gt;},
167                     PreApPend: array{string, string},
168                     Substring: array{0|positive-int, 'all'|int, string},
169                     TextImageLink: array{string|null, 0|positive-int, 0|positive-int},
170                     TextLink: array{string|null, string|null, bool|null}
171                 },
172                 DisableMultiTableMaintenance: bool,
173                 DisplayServersList: bool,
174                 enable_drag_drop_import: bool,
175                 ExecTimeLimit: 0|positive-int,
176                 FirstLevelNavigationItems: positive-int,
177                 ForeignKeyDropdownOrder: array{0: 'content-id'|'id-content', 1?: 'content-id'|'id-content'},
178                 ForeignKeyMaxLimit: positive-int,
179                 GridEditing: 'double-click'|'click'|'disabled',
180                 GZipDump: bool,
181                 HideStructureActions: bool,
182                 IgnoreMultiSubmitErrors: bool,
183                 Import: array,
184                 InitialSlidersState: 'open'|'closed'|'disabled',
185                 InsertRows: positive-int,
186                 LimitChars: positive-int,
187                 LinkLengthLimit: positive-int,
188                 LintEnable: bool,
189                 LoginCookieDeleteAll: bool,
190                 LoginCookieRecall: bool,
191                 LoginCookieStore: 0|positive-int,
192                 LoginCookieValidity: positive-int,
193                 LongtextDoubleTextarea: bool,
194                 MaxDbList: positive-int,
195                 MaxCharactersInDisplayedSQL: positive-int,
196                 MaxExactCount: positive-int,
197                 MaxExactCountViews: 0|positive-int,
198                 MaxNavigationItems: positive-int,
199                 MaxTableList: positive-int,
200                 maxRowPlotLimit: positive-int,
201                 MaxRows: positive-int,
202                 MaxSizeForInputField: positive-int,
203                 MinSizeForInputField: 0|positive-int,
204                 MysqlMinVersion: array{internal: int, human: string},
205                 MysqlSslWarningSafeHosts: string[],
206                 NaturalOrder: bool,
207                 NavigationLinkWithMainPanel: bool,
208                 NavigationTreeDbSeparator: string,
209                 NavigationTreeDefaultTabTable: 'structure'|'sql'|'search'|'insert'|'browse',
210                 NavigationTreeDefaultTabTable2: 'structure'|'sql'|'search'|'insert'|'browse'|'',
211                 NavigationTreeDisplayDbFilterMinimum: positive-int,
212                 NavigationTreeDisplayItemFilterMinimum: positive-int,
213                 NavigationTreeEnableExpansion: bool,
214                 NavigationTreeEnableGrouping: bool,
215                 NavigationTreeShowEvents: bool,
216                 NavigationTreeShowFunctions: bool,
217                 NavigationTreeShowProcedures: bool,
218                 NavigationTreeShowTables: bool,
219                 NavigationTreeShowViews: bool,
220                 NavigationTreeTableLevel: positive-int,
221                 NavigationTreeTableSeparator: string|string[]|false,
222                 NumFavoriteTables: 0|positive-int,
223                 NumRecentTables: 0|positive-int,
224                 OBGzip: 'auto'|bool,
225                 PDFDefaultPageSize: string,
226                 PDFPageSizes: string[],
227                 PersistentConnections: bool,
228                 PropertiesNumColumns: positive-int,
229                 ProtectBinary: 'blob'|'noblob'|'all'|false,
230                 QueryHistoryDB: bool,
231                 QueryHistoryMax: positive-int,
232                 RelationalDisplay: 'K'|'D',
233                 RememberSorting: bool,
234                 RepeatCells: 0|positive-int,
235                 ReservedWordDisableWarning: bool,
236                 RetainQueryBox: bool,
237                 RowActionLinks: 'left'|'right'|'both'|'none',
238                 RowActionLinksWithoutUnique: bool,
239                 SaveCellsAtOnce: bool,
240                 SendErrorReports: 'ask'|'always'|'never',
241                 Server: array{
242                     auth_type: 'config'|'http'|'signon'|'cookie',
243                     bookmarktable: string|false,
244                     central_columns: string|false,
245                     column_info: string|false,
246                     designer_settings: string|false,
247                     DisableIS: bool,
248                     export_templates: string|false,
249                     favorite: string|false,
250                     history: string|false,
251                     host: string,
252                     MaxTableUiprefs: positive-int,
253                     navigationhiding: string|false,
254                     only_db: string|string[],
255                     password: string,
256                     pdf_pages: string|false,
257                     pmadb: string|false,
258                     port: string,
259                     recent: string|false,
260                     relation: string|false,
261                     savedsearches: string|false,
262                     SessionTimeZone: string,
263                     SignonCookieParams: array{lifetime: 0|positive-int, path: string, domain: string, secure: bool, httponly: bool, samesite?: 'Lax'|'Strict'},
264                     SignonScript: string,
265                     SignonSession: string,
266                     SignonURL: string,
267                     table_coords: string|false,
268                     table_info: string|false,
269                     table_uiprefs: string|false,
270                     tracking: string|false,
271                     tracking_add_drop_database: bool,
272                     tracking_add_drop_table: bool,
273                     tracking_add_drop_view: bool,
274                     tracking_default_statements: string,
275                     tracking_version_auto_create: bool,
276                     user: string,
277                     userconfig: string|false,
278                     usergroups: string|false,
279                     users: string|false,
280                     verbose: string
281                 },
282                 ServerDefault: 0|positive-int,
283                 Servers: array[],
284                 ShowAll: bool,
285                 ShowBrowseComments: bool,
286                 ShowColumnComments: bool,
287                 ShowCreateDb: bool,
288                 ShowDatabasesNavigationAsTree: bool,
289                 ShowDbStructureCharset: bool,
290                 ShowDbStructureComment: bool,
291                 ShowDbStructureCreation: bool,
292                 ShowDbStructureLastCheck: bool,
293                 ShowDbStructureLastUpdate: bool,
294                 ShowFieldTypesInDataEditView: bool,
295                 ShowFunctionFields: bool,
296                 ShowHint: bool,
297                 ShowPropertyComments: bool,
298                 ShowSQL: bool,
299                 ShowStats: bool,
300                 TextareaAutoSelect: bool,
301                 TextareaCols: positive-int,
302                 TextareaRows: positive-int,
303                 ThemeDefault: string,
304                 ThemePerServer: bool,
305                 TitleDatabase: string,
306                 TitleDefault: string,
307                 TitleServer: string,
308                 TitleTable: string,
309                 UserprefsDeveloperTab: bool,
310                 UserprefsDisallow: string[],
311                 VersionCheck: bool,
312                 ZeroConf: bool,
313                 ZipDump: bool
314             },
315             charset: string,
316             charset_connection: string,
317             codegen_format: 0|1,
318             col_priv: bool,
319             collation_connection: string,
320             complete_query: string,
321             compression: 'none'|'zip'|'gzip',
322             conn_error: string,
323             config: PhpMyAdmin\Config,
324             ConfigFile: PhpMyAdmin\Config\ConfigFile,
325             crlf: string,
326             csv_columns: bool,
327             csv_enclosed: string,
328             csv_escaped: string,
329             csv_separator: string,
330             csv_terminated: string,
331             db: string,
332             db_priv: bool,
333             dbi: PhpMyAdmin\DatabaseInterface,
334             dbs_to_test: string[]|false,
335             dblist: PhpMyAdmin\Database\DatabaseList,
336             display_query: string,
337             errno: int,
338             error: bool,
339             error_message: string,
340             errorHandler: PhpMyAdmin\ErrorHandler,
341             excel_edition: 'win'|'mac_excel2003'|'mac_excel2008',
342             file_handle: resource|null,
343             finished: bool,
344             from_cookie: bool,
345             goto: string,
346             hostname: string,
347             import_file: string,
348             import_file_name: string,
349             import_run_buffer: array,
350             import_text: string,
351             is_create_db_priv: bool,
352             is_reload_priv: bool,
353             knjenc: string,
354             lang: string,
355             latex_data_caption: string,
356             latex_data_continued_caption: string,
357             latex_data_label: string,
358             latex_null: string,
359             latex_structure_caption: string,
360             latex_structure_continued_caption: string,
361             latex_structure_label: string,
362             maxsize: string,
363             memory_limit: int,
364             message: PhpMyAdmin\Message,
365             ods_buffer: string,
366             odt_buffer: string,
367             offset: int,
368             old_tz: string,
369             onfly_compression: bool,
370             output_charset_conversion: bool,
371             output_kanji_conversion: bool,
372             plugin_param: string|array{export_type: string, single_table: bool},
373             plugin_scripts: string[],
374             pma_auth_server: string,
375             PMA_PHP_SELF: string,
376             proc_priv: bool,
377             querytime: float|int,
378             read_limit: int,
379             request: PhpMyAdmin\Http\ServerRequest,
380             save_on_server: bool,
381             server: int,
382             SESSION_KEY: string,
383             showtable: array&lt;string, string|null&gt;,
384             sql_compatibility: 'NONE'|'ANSI'|'DB2'|'MAXDB'|'MYSQL323'|'MYSQL40'|'MSSQL'|'ORACLE'|'TRADITIONAL',
385             sql_constraints: string,
386             sql_constraints_query: string,
387             sql_drop_foreign_keys: string,
388             sql_if_not_exists: bool,
389             sql_ignore: bool,
390             sql_insert_syntax: 'complete'|'extended'|'both'|'none',
391             sql_max_query_size: 0|positive-int,
392             sql_query: string,
393             sql_structure_or_data: 'structure'|'data'|'structure_and_data',
394             sql_type: 'INSERT'|'UPDATE'|'REPLACE',
395             table: string,
396             table_priv: bool,
397             tbl_storage_engine: string,
398             text_dir: string,
399             token_mismatch: bool,
400             token_provided: bool,
401             urlParams: array,
402             username: string,
403             xml_export_triggers: bool,
404             xml_export_views: bool
405         }"/>
406         <var name="maximum_time" type="0|positive-int"/>
407         <var name="PMA_PHP_SELF" type="string"/>
408     </globals>
409 </psalm>