config.values.php 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. <?php
  2. /* vim: set expandtab sw=4 ts=4 sts=4: */
  3. /**
  4. * Database with allowed values for configuration stored in the $cfg array,
  5. * used by setup script and user preferences to generate forms.
  6. *
  7. * @package PhpMyAdmin
  8. */
  9. if (!defined('PHPMYADMIN')) {
  10. exit;
  11. }
  12. /**
  13. * Value meaning:
  14. * o array - select field, array contains allowed values
  15. * o string - type override
  16. *
  17. * Use normal array, paths won't be expanded
  18. */
  19. $cfg_db = array();
  20. $cfg_db['Servers'] = array(
  21. 1 => array(
  22. 'port' => 'integer',
  23. 'connect_type' => array('tcp', 'socket'),
  24. 'auth_type' => array('config', 'http', 'signon', 'cookie'),
  25. 'AllowDeny' => array(
  26. 'order' => array('', 'deny,allow', 'allow,deny', 'explicit')
  27. ),
  28. 'only_db' => 'array'
  29. )
  30. );
  31. $cfg_db['RecodingEngine'] = array('auto', 'iconv', 'recode', 'mb', 'none');
  32. $cfg_db['OBGzip'] = array('auto', true, false);
  33. $cfg_db['MemoryLimit'] = 'short_string';
  34. $cfg_db['NavigationLogoLinkWindow'] = array('main', 'new');
  35. $cfg_db['NavigationTreeDefaultTabTable'] = array(
  36. 'tbl_structure.php', // fields list
  37. 'tbl_sql.php', // SQL form
  38. 'tbl_select.php', // search page
  39. 'tbl_change.php', // insert row page
  40. 'sql.php' // browse page
  41. );
  42. $cfg_db['NavigationTreeDbSeparator'] = 'short_string';
  43. $cfg_db['NavigationTreeTableSeparator'] = 'short_string';
  44. $cfg_db['TableNavigationLinksMode'] = array(
  45. 'icons' => __('Icons'),
  46. 'text' => __('Text'),
  47. 'both' => __('Both')
  48. );
  49. $cfg_db['MaxRows'] = array(25, 50, 100, 250, 500);
  50. $cfg_db['Order'] = array('ASC', 'DESC', 'SMART');
  51. $cfg_db['RowActionLinks'] = array(
  52. 'none' => __('Nowhere'),
  53. 'left' => __('Left'),
  54. 'right' => __('Right'),
  55. 'both' => __('Both')
  56. );
  57. $cfg_db['ProtectBinary'] = array(false, 'blob', 'noblob', 'all');
  58. $cfg_db['DefaultDisplay'] = array('horizontal', 'vertical', 'horizontalflipped');
  59. $cfg_db['CharEditing'] = array('input', 'textarea');
  60. $cfg_db['TabsMode'] = array(
  61. 'icons' => __('Icons'),
  62. 'text' => __('Text'),
  63. 'both' => __('Both')
  64. );
  65. $cfg_db['PDFDefaultPageSize'] = array(
  66. 'A3' => 'A3',
  67. 'A4' => 'A4',
  68. 'A5' => 'A5',
  69. 'letter' => 'letter',
  70. 'legal' => 'legal'
  71. );
  72. $cfg_db['ActionLinksMode'] = array(
  73. 'icons' => __('Icons'),
  74. 'text' => __('Text'),
  75. 'both' => __('Both')
  76. );
  77. $cfg_db['GridEditing'] = array(
  78. 'click' => __('Click'),
  79. 'double-click' => __('Double click'),
  80. 'disabled' => __('Disabled'),
  81. );
  82. $cfg_db['DefaultTabServer'] = array(
  83. 'index.php', // the welcome page (recommended for multiuser setups)
  84. 'server_databases.php', // list of databases
  85. 'server_status.php', // runtime information
  86. 'server_variables.php', // MySQL server variables
  87. 'server_privileges.php' // user management
  88. );
  89. $cfg_db['DefaultTabDatabase'] = array(
  90. 'db_structure.php', // tables list
  91. 'db_sql.php', // SQL form
  92. 'db_search.php', // search query
  93. 'db_operations.php' // operations on database
  94. );
  95. $cfg_db['DefaultTabTable'] = array(
  96. 'tbl_structure.php', // fields list
  97. 'tbl_sql.php', // SQL form
  98. 'tbl_select.php', // search page
  99. 'tbl_change.php', // insert row page
  100. 'sql.php' // browse page
  101. );
  102. $cfg_db['QueryWindowDefTab'] = array(
  103. 'sql', // SQL
  104. 'files', // Import files
  105. 'history', // SQL history
  106. 'full' // All (SQL and SQL history)
  107. );
  108. $cfg_db['InitialSlidersState'] = array(
  109. 'open' => __('Open'),
  110. 'closed' => __('Closed'),
  111. 'disabled' => __('Disabled')
  112. );
  113. $cfg_db['SendErrorReports'] = array(
  114. 'ask' => __('Ask before sending error reports'),
  115. 'always' => __('Always send error reports'),
  116. 'never' => __('Never send error reports')
  117. );
  118. $cfg_db['Import']['format'] = array(
  119. 'csv', // CSV
  120. 'docsql', // DocSQL
  121. 'ldi', // CSV using LOAD DATA
  122. 'sql' // SQL
  123. );
  124. $cfg_db['Import']['charset'] = array_merge(
  125. array(''),
  126. $GLOBALS['cfg']['AvailableCharsets']
  127. );
  128. $cfg_db['Import']['sql_compatibility']
  129. = $cfg_db['Export']['sql_compatibility'] = array(
  130. 'NONE', 'ANSI', 'DB2', 'MAXDB', 'MYSQL323',
  131. 'MYSQL40', 'MSSQL', 'ORACLE',
  132. // removed; in MySQL 5.0.33, this produces exports that
  133. // can't be read by POSTGRESQL (see our bug #1596328)
  134. //'POSTGRESQL',
  135. 'TRADITIONAL'
  136. );
  137. $cfg_db['Import']['csv_terminated'] = 'short_string';
  138. $cfg_db['Import']['csv_enclosed'] = 'short_string';
  139. $cfg_db['Import']['csv_escaped'] = 'short_string';
  140. $cfg_db['Import']['ldi_terminated'] = 'short_string';
  141. $cfg_db['Import']['ldi_enclosed'] = 'short_string';
  142. $cfg_db['Import']['ldi_escaped'] = 'short_string';
  143. $cfg_db['Import']['ldi_local_option'] = array('auto', true, false);
  144. $cfg_db['Export']['_sod_select'] = array(
  145. 'structure' => __('structure'),
  146. 'data' => __('data'),
  147. 'structure_and_data' => __('structure and data')
  148. );
  149. $cfg_db['Export']['method'] = array(
  150. 'quick' => __('Quick - display only the minimal options to configure'),
  151. 'custom' => __('Custom - display all possible options to configure'),
  152. 'custom-no-form' => __('Custom - like above, but without the quick/custom choice')
  153. );
  154. $cfg_db['Export']['format'] = array(
  155. 'codegen', 'csv', 'excel', 'htmlexcel','htmlword', 'latex', 'ods',
  156. 'odt', 'pdf', 'sql', 'texytext', 'xls', 'xml', 'yaml'
  157. );
  158. $cfg_db['Export']['compression'] = array('none', 'zip', 'gzip');
  159. $cfg_db['Export']['charset'] = array_merge(
  160. array(''),
  161. $GLOBALS['cfg']['AvailableCharsets']
  162. );
  163. $cfg_db['Export']['codegen_format'] = array(
  164. '#', 'NHibernate C# DO', 'NHibernate XML'
  165. );
  166. $cfg_db['Export']['csv_separator'] = 'short_string';
  167. $cfg_db['Export']['csv_terminated'] = 'short_string';
  168. $cfg_db['Export']['csv_enclosed'] = 'short_string';
  169. $cfg_db['Export']['csv_escaped'] = 'short_string';
  170. $cfg_db['Export']['csv_null'] = 'short_string';
  171. $cfg_db['Export']['excel_null'] = 'short_string';
  172. $cfg_db['Export']['excel_edition'] = array(
  173. 'win' => 'Windows',
  174. 'mac_excel2003' => 'Excel 2003 / Macintosh',
  175. 'mac_excel2008' => 'Excel 2008 / Macintosh'
  176. );
  177. $cfg_db['Export']['sql_structure_or_data'] = $cfg_db['Export']['_sod_select'];
  178. $cfg_db['Export']['sql_type'] = array('INSERT', 'UPDATE', 'REPLACE');
  179. $cfg_db['Export']['sql_insert_syntax'] = array(
  180. 'complete' => __('complete inserts'),
  181. 'extended' => __('extended inserts'),
  182. 'both' => __('both of the above'),
  183. 'none' => __('neither of the above')
  184. );
  185. $cfg_db['Export']['xls_null'] = 'short_string';
  186. $cfg_db['Export']['xlsx_null'] = 'short_string';
  187. $cfg_db['Export']['htmlword_structure_or_data'] = $cfg_db['Export']['_sod_select'];
  188. $cfg_db['Export']['htmlword_null'] = 'short_string';
  189. $cfg_db['Export']['ods_null'] = 'short_string';
  190. $cfg_db['Export']['odt_null'] = 'short_string';
  191. $cfg_db['Export']['odt_structure_or_data'] = $cfg_db['Export']['_sod_select'];
  192. $cfg_db['Export']['texytext_structure_or_data'] = $cfg_db['Export']['_sod_select'];
  193. $cfg_db['Export']['texytext_null'] = 'short_string';
  194. /**
  195. * Default values overrides
  196. * Use only full paths
  197. */
  198. $cfg_db['_overrides'] = array();
  199. /**
  200. * Basic validator assignments (functions from libraries/config/Validator.class.php
  201. * and 'validators' object in js/config.js)
  202. * Use only full paths and form ids
  203. */
  204. $cfg_db['_validators'] = array(
  205. 'CharTextareaCols' => 'validatePositiveNumber',
  206. 'CharTextareaRows' => 'validatePositiveNumber',
  207. 'ExecTimeLimit' => 'validateNonNegativeNumber',
  208. 'Export/sql_max_query_size' => 'validatePositiveNumber',
  209. 'FirstLevelNavigationItems' => 'validatePositiveNumber',
  210. 'ForeignKeyMaxLimit' => 'validatePositiveNumber',
  211. 'Import/csv_enclosed' => array(array('validateByRegex', '/^.?$/')),
  212. 'Import/csv_escaped' => array(array('validateByRegex', '/^.$/')),
  213. 'Import/csv_terminated' => array(array('validateByRegex', '/^.$/')),
  214. 'Import/ldi_enclosed' => array(array('validateByRegex', '/^.?$/')),
  215. 'Import/ldi_escaped' => array(array('validateByRegex', '/^.$/')),
  216. 'Import/ldi_terminated' => array(array('validateByRegex', '/^.$/')),
  217. 'Import/skip_queries' => 'validateNonNegativeNumber',
  218. 'InsertRows' => 'validatePositiveNumber',
  219. 'NumRecentTables' => 'validateNonNegativeNumber',
  220. 'NumFavoriteTables' => 'validateNonNegativeNumber',
  221. 'LimitChars' => 'validatePositiveNumber',
  222. 'LoginCookieValidity' => 'validatePositiveNumber',
  223. 'LoginCookieStore' => 'validateNonNegativeNumber',
  224. 'MaxDbList' => 'validatePositiveNumber',
  225. 'MaxNavigationItems' => 'validatePositiveNumber',
  226. 'MaxCharactersInDisplayedSQL' => 'validatePositiveNumber',
  227. 'MaxRows' => 'validatePositiveNumber',
  228. 'MaxTableList' => 'validatePositiveNumber',
  229. 'MemoryLimit' => array(array('validateByRegex', '/^(-1|(\d+(?:[kmg])?))$/i')),
  230. 'NavigationTreeTableLevel' => 'validatePositiveNumber',
  231. 'QueryHistoryMax' => 'validatePositiveNumber',
  232. 'QueryWindowWidth' => 'validatePositiveNumber',
  233. 'QueryWindowHeight' => 'validatePositiveNumber',
  234. 'RepeatCells' => 'validateNonNegativeNumber',
  235. 'Server' => 'validateServer',
  236. 'Server_pmadb' => 'validatePMAStorage',
  237. 'Servers/1/port' => 'validatePortNumber',
  238. 'Servers/1/hide_db' => 'validateRegex',
  239. 'TextareaCols' => 'validatePositiveNumber',
  240. 'TextareaRows' => 'validatePositiveNumber',
  241. 'TrustedProxies' => 'validateTrustedProxies');
  242. /**
  243. * Additional validators used for user preferences
  244. */
  245. $cfg_db['_userValidators'] = array(
  246. 'MaxDbList' => array(
  247. array('validateUpperBound', 'value:MaxDbList')
  248. ),
  249. 'MaxTableList' => array(
  250. array('validateUpperBound', 'value:MaxTableList')
  251. ),
  252. 'QueryHistoryMax' => array(
  253. array('validateUpperBound', 'value:QueryHistoryMax')
  254. )
  255. );
  256. ?>