You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
483 lines
13 KiB
483 lines
13 KiB
<?php |
|
/** |
|
* Database with allowed values for configuration stored in the $cfg array, |
|
* used by setup script and user preferences to generate forms. |
|
*/ |
|
|
|
declare(strict_types=1); |
|
|
|
if (! defined('PHPMYADMIN')) { |
|
exit; |
|
} |
|
|
|
/** |
|
* Value meaning: |
|
* o array - select field, array contains allowed values |
|
* o string - type override |
|
* |
|
* Use normal array, paths won't be expanded |
|
*/ |
|
return [ |
|
'Servers' => [ |
|
1 => [ |
|
'port' => 'integer', |
|
'auth_type' => [ |
|
'config', |
|
'http', |
|
'signon', |
|
'cookie', |
|
], |
|
'AllowDeny' => [ |
|
'order' => [ |
|
'', |
|
'deny,allow', |
|
'allow,deny', |
|
'explicit', |
|
], |
|
], |
|
'only_db' => 'array', |
|
], |
|
], |
|
'RecodingEngine' => [ |
|
'auto', |
|
'iconv', |
|
'recode', |
|
'mb', |
|
'none', |
|
], |
|
'OBGzip' => [ |
|
'auto', |
|
true, |
|
false, |
|
], |
|
'MemoryLimit' => 'short_string', |
|
'NavigationLogoLinkWindow' => [ |
|
'main', |
|
'new', |
|
], |
|
'NavigationTreeDefaultTabTable' => [ |
|
// fields list |
|
'structure' => __('Structure'), |
|
// SQL form |
|
'sql' => __('SQL'), |
|
// search page |
|
'search' => __('Search'), |
|
// insert row page |
|
'insert' => __('Insert'), |
|
// browse page |
|
'browse' => __('Browse'), |
|
], |
|
'NavigationTreeDefaultTabTable2' => [ |
|
//don't display |
|
'' => '', |
|
// fields list |
|
'structure' => __('Structure'), |
|
// SQL form |
|
'sql' => __('SQL'), |
|
// search page |
|
'search' => __('Search'), |
|
// insert row page |
|
'insert' => __('Insert'), |
|
// browse page |
|
'browse' => __('Browse'), |
|
], |
|
'NavigationTreeDbSeparator' => 'short_string', |
|
'NavigationTreeTableSeparator' => 'short_string', |
|
'NavigationWidth' => 'integer', |
|
'TableNavigationLinksMode' => [ |
|
'icons' => __('Icons'), |
|
'text' => __('Text'), |
|
'both' => __('Both'), |
|
], |
|
'MaxRows' => [ |
|
25, |
|
50, |
|
100, |
|
250, |
|
500, |
|
], |
|
'Order' => [ |
|
'ASC', |
|
'DESC', |
|
'SMART', |
|
], |
|
'RowActionLinks' => [ |
|
'none' => __('Nowhere'), |
|
'left' => __('Left'), |
|
'right' => __('Right'), |
|
'both' => __('Both'), |
|
], |
|
'TablePrimaryKeyOrder' => [ |
|
'NONE' => __('None'), |
|
'ASC' => __('Ascending'), |
|
'DESC' => __('Descending'), |
|
], |
|
'ProtectBinary' => [ |
|
false, |
|
'blob', |
|
'noblob', |
|
'all', |
|
], |
|
'CharEditing' => [ |
|
'input', |
|
'textarea', |
|
], |
|
'TabsMode' => [ |
|
'icons' => __('Icons'), |
|
'text' => __('Text'), |
|
'both' => __('Both'), |
|
], |
|
'PDFDefaultPageSize' => [ |
|
'A3' => 'A3', |
|
'A4' => 'A4', |
|
'A5' => 'A5', |
|
'letter' => 'letter', |
|
'legal' => 'legal', |
|
], |
|
'ActionLinksMode' => [ |
|
'icons' => __('Icons'), |
|
'text' => __('Text'), |
|
'both' => __('Both'), |
|
], |
|
'GridEditing' => [ |
|
'click' => __('Click'), |
|
'double-click' => __('Double click'), |
|
'disabled' => __('Disabled'), |
|
], |
|
'RelationalDisplay' => [ |
|
'K' => __('key'), |
|
'D' => __('display column'), |
|
], |
|
'DefaultTabServer' => [ |
|
// the welcome page (recommended for multiuser setups) |
|
'welcome' => __('Welcome'), |
|
// list of databases |
|
'databases' => __('Databases'), |
|
// runtime information |
|
'status' => __('Status'), |
|
// MySQL server variables |
|
'variables' => __('Variables'), |
|
// user management |
|
'privileges' => __('Privileges'), |
|
], |
|
'DefaultTabDatabase' => [ |
|
// tables list |
|
'structure' => __('Structure'), |
|
// SQL form |
|
'sql' => __('SQL'), |
|
// search query |
|
'search' => __('Search'), |
|
// operations on database |
|
'operations' => __('Operations'), |
|
], |
|
'DefaultTabTable' => [ |
|
// fields list |
|
'structure' => __('Structure'), |
|
// SQL form |
|
'sql' => __('SQL'), |
|
// search page |
|
'search' => __('Search'), |
|
// insert row page |
|
'insert' => __('Insert'), |
|
// browse page |
|
'browse' => __('Browse'), |
|
], |
|
'InitialSlidersState' => [ |
|
'open' => __('Open'), |
|
'closed' => __('Closed'), |
|
'disabled' => __('Disabled'), |
|
], |
|
'FirstDayOfCalendar' => [ |
|
'1' => __('Monday'), |
|
'2' => __('Tuesday'), |
|
'3' => __('Wednesday'), |
|
'4' => __('Thursday'), |
|
'5' => __('Friday'), |
|
'6' => __('Saturday'), |
|
'7' => __('Sunday'), |
|
], |
|
'SendErrorReports' => [ |
|
'ask' => __('Ask before sending error reports'), |
|
'always' => __('Always send error reports'), |
|
'never' => __('Never send error reports'), |
|
], |
|
'DefaultForeignKeyChecks' => [ |
|
'default' => __('Server default'), |
|
'enable' => __('Enable'), |
|
'disable' => __('Disable'), |
|
], |
|
|
|
'Import' => [ |
|
'format' => [ |
|
// CSV |
|
'csv', |
|
// DocSQL |
|
'docsql', |
|
// CSV using LOAD DATA |
|
'ldi', |
|
// SQL |
|
'sql', |
|
], |
|
'charset' => array_merge( |
|
[''], |
|
$GLOBALS['cfg']['AvailableCharsets'] |
|
), |
|
'sql_compatibility' => [ |
|
'NONE', |
|
'ANSI', |
|
'DB2', |
|
'MAXDB', |
|
'MYSQL323', |
|
'MYSQL40', |
|
'MSSQL', |
|
'ORACLE', |
|
// removed; in MySQL 5.0.33, this produces exports that |
|
// can't be read by POSTGRESQL (see our bug #1596328) |
|
//'POSTGRESQL', |
|
'TRADITIONAL', |
|
], |
|
'csv_terminated' => 'short_string', |
|
'csv_enclosed' => 'short_string', |
|
'csv_escaped' => 'short_string', |
|
'ldi_terminated' => 'short_string', |
|
'ldi_enclosed' => 'short_string', |
|
'ldi_escaped' => 'short_string', |
|
'ldi_local_option' => [ |
|
'auto', |
|
true, |
|
false, |
|
], |
|
], |
|
|
|
'Export' => [ |
|
'_sod_select' => [ |
|
'structure' => __('structure'), |
|
'data' => __('data'), |
|
'structure_and_data' => __('structure and data'), |
|
], |
|
'method' => [ |
|
'quick' => __('Quick - display only the minimal options to configure'), |
|
'custom' => __('Custom - display all possible options to configure'), |
|
'custom-no-form' => __('Custom - like above, but without the quick/custom choice'), |
|
], |
|
'format' => [ |
|
'codegen', |
|
'csv', |
|
'excel', |
|
'htmlexcel', |
|
'htmlword', |
|
'latex', |
|
'ods', |
|
'odt', |
|
'pdf', |
|
'sql', |
|
'texytext', |
|
'xml', |
|
'yaml', |
|
], |
|
'compression' => [ |
|
'none', |
|
'zip', |
|
'gzip', |
|
], |
|
'charset' => array_merge( |
|
[''], |
|
$GLOBALS['cfg']['AvailableCharsets'] |
|
), |
|
'sql_compatibility' => [ |
|
'NONE', |
|
'ANSI', |
|
'DB2', |
|
'MAXDB', |
|
'MYSQL323', |
|
'MYSQL40', |
|
'MSSQL', |
|
'ORACLE', |
|
// removed; in MySQL 5.0.33, this produces exports that |
|
// can't be read by POSTGRESQL (see our bug #1596328) |
|
//'POSTGRESQL', |
|
'TRADITIONAL', |
|
], |
|
'codegen_format' => [ |
|
'#', |
|
'NHibernate C# DO', |
|
'NHibernate XML', |
|
], |
|
'csv_separator' => 'short_string', |
|
'csv_terminated' => 'short_string', |
|
'csv_enclosed' => 'short_string', |
|
'csv_escaped' => 'short_string', |
|
'csv_null' => 'short_string', |
|
'excel_null' => 'short_string', |
|
'excel_edition' => [ |
|
'win' => 'Windows', |
|
'mac_excel2003' => 'Excel 2003 / Macintosh', |
|
'mac_excel2008' => 'Excel 2008 / Macintosh', |
|
], |
|
'sql_structure_or_data' => [ |
|
'structure' => __('structure'), |
|
'data' => __('data'), |
|
'structure_and_data' => __('structure and data'), |
|
], |
|
'sql_type' => [ |
|
'INSERT', |
|
'UPDATE', |
|
'REPLACE', |
|
], |
|
'sql_insert_syntax' => [ |
|
'complete' => __('complete inserts'), |
|
'extended' => __('extended inserts'), |
|
'both' => __('both of the above'), |
|
'none' => __('neither of the above'), |
|
], |
|
'htmlword_structure_or_data' => [ |
|
'structure' => __('structure'), |
|
'data' => __('data'), |
|
'structure_and_data' => __('structure and data'), |
|
], |
|
'htmlword_null' => 'short_string', |
|
'ods_null' => 'short_string', |
|
'odt_null' => 'short_string', |
|
'odt_structure_or_data' => [ |
|
'structure' => __('structure'), |
|
'data' => __('data'), |
|
'structure_and_data' => __('structure and data'), |
|
], |
|
'texytext_structure_or_data' => [ |
|
'structure' => __('structure'), |
|
'data' => __('data'), |
|
'structure_and_data' => __('structure and data'), |
|
], |
|
'texytext_null' => 'short_string', |
|
], |
|
|
|
'Console' => [ |
|
'Mode' => [ |
|
'info', |
|
'show', |
|
'collapse', |
|
], |
|
'OrderBy' => [ |
|
'exec', |
|
'time', |
|
'count', |
|
], |
|
'Order' => [ |
|
'asc', |
|
'desc', |
|
], |
|
], |
|
|
|
/** |
|
* Default values overrides |
|
* Use only full paths |
|
*/ |
|
'_overrides' => [], |
|
|
|
/** |
|
* Basic validator assignments (functions from libraries/config/Validator.php |
|
* and 'validators' object in js/config.js) |
|
* Use only full paths and form ids |
|
*/ |
|
'_validators' => [ |
|
'Console/Height' => 'validateNonNegativeNumber', |
|
'CharTextareaCols' => 'validatePositiveNumber', |
|
'CharTextareaRows' => 'validatePositiveNumber', |
|
'ExecTimeLimit' => 'validateNonNegativeNumber', |
|
'Export/sql_max_query_size' => 'validatePositiveNumber', |
|
'FirstLevelNavigationItems' => 'validatePositiveNumber', |
|
'ForeignKeyMaxLimit' => 'validatePositiveNumber', |
|
'Import/csv_enclosed' => [ |
|
[ |
|
'validateByRegex', |
|
'/^.?$/', |
|
], |
|
], |
|
'Import/csv_escaped' => [ |
|
[ |
|
'validateByRegex', |
|
'/^.$/', |
|
], |
|
], |
|
'Import/csv_terminated' => [ |
|
[ |
|
'validateByRegex', |
|
'/^.$/', |
|
], |
|
], |
|
'Import/ldi_enclosed' => [ |
|
[ |
|
'validateByRegex', |
|
'/^.?$/', |
|
], |
|
], |
|
'Import/ldi_escaped' => [ |
|
[ |
|
'validateByRegex', |
|
'/^.$/', |
|
], |
|
], |
|
'Import/ldi_terminated' => [ |
|
[ |
|
'validateByRegex', |
|
'/^.$/', |
|
], |
|
], |
|
'Import/skip_queries' => 'validateNonNegativeNumber', |
|
'InsertRows' => 'validatePositiveNumber', |
|
'NumRecentTables' => 'validateNonNegativeNumber', |
|
'NumFavoriteTables' => 'validateNonNegativeNumber', |
|
'LimitChars' => 'validatePositiveNumber', |
|
'LoginCookieValidity' => 'validatePositiveNumber', |
|
'LoginCookieStore' => 'validateNonNegativeNumber', |
|
'MaxDbList' => 'validatePositiveNumber', |
|
'MaxNavigationItems' => 'validatePositiveNumber', |
|
'MaxCharactersInDisplayedSQL' => 'validatePositiveNumber', |
|
'MaxRows' => 'validatePositiveNumber', |
|
'MaxSizeForInputField' => 'validatePositiveNumber', |
|
'MinSizeForInputField' => 'validateNonNegativeNumber', |
|
'MaxTableList' => 'validatePositiveNumber', |
|
'MemoryLimit' => [ |
|
[ |
|
'validateByRegex', |
|
'/^(-1|(\d+(?:[kmg])?))$/i', |
|
], |
|
], |
|
'NavigationTreeDisplayItemFilterMinimum' => 'validatePositiveNumber', |
|
'NavigationTreeTableLevel' => 'validatePositiveNumber', |
|
'NavigationWidth' => 'validateNonNegativeNumber', |
|
'QueryHistoryMax' => 'validatePositiveNumber', |
|
'RepeatCells' => 'validateNonNegativeNumber', |
|
'Server' => 'validateServer', |
|
'Server_pmadb' => 'validatePMAStorage', |
|
'Servers/1/port' => 'validatePortNumber', |
|
'Servers/1/hide_db' => 'validateRegex', |
|
'TextareaCols' => 'validatePositiveNumber', |
|
'TextareaRows' => 'validatePositiveNumber', |
|
'TrustedProxies' => 'validateTrustedProxies', |
|
], |
|
|
|
/** |
|
* Additional validators used for user preferences |
|
*/ |
|
'_userValidators' => [ |
|
'MaxDbList' => [ |
|
[ |
|
'validateUpperBound', |
|
'value:MaxDbList', |
|
], |
|
], |
|
'MaxTableList' => [ |
|
[ |
|
'validateUpperBound', |
|
'value:MaxTableList', |
|
], |
|
], |
|
'QueryHistoryMax' => [ |
|
[ |
|
'validateUpperBound', |
|
'value:QueryHistoryMax', |
|
], |
|
], |
|
], |
|
];
|
|
|