simpletool 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1702) hide show
  1. checksums.yaml +4 -4
  2. data/lib/simpletool.rb +3 -1
  3. metadata +2 -1701
  4. data/lib/support/phpmyadmin/phpmyadmin/CONTRIBUTING.md +0 -25
  5. data/lib/support/phpmyadmin/phpmyadmin/ChangeLog +0 -312
  6. data/lib/support/phpmyadmin/phpmyadmin/DCO +0 -44
  7. data/lib/support/phpmyadmin/phpmyadmin/LICENSE +0 -340
  8. data/lib/support/phpmyadmin/phpmyadmin/README +0 -52
  9. data/lib/support/phpmyadmin/phpmyadmin/RELEASE-DATE-4.4.8 +0 -1
  10. data/lib/support/phpmyadmin/phpmyadmin/browse_foreigners.php +0 -61
  11. data/lib/support/phpmyadmin/phpmyadmin/changelog.php +0 -153
  12. data/lib/support/phpmyadmin/phpmyadmin/chk_rel.php +0 -27
  13. data/lib/support/phpmyadmin/phpmyadmin/composer.json +0 -30
  14. data/lib/support/phpmyadmin/phpmyadmin/config.sample.inc.php +0 -152
  15. data/lib/support/phpmyadmin/phpmyadmin/db_central_columns.php +0 -134
  16. data/lib/support/phpmyadmin/phpmyadmin/db_create.php +0 -141
  17. data/lib/support/phpmyadmin/phpmyadmin/db_datadict.php +0 -208
  18. data/lib/support/phpmyadmin/phpmyadmin/db_designer.php +0 -173
  19. data/lib/support/phpmyadmin/phpmyadmin/db_events.php +0 -26
  20. data/lib/support/phpmyadmin/phpmyadmin/db_export.php +0 -94
  21. data/lib/support/phpmyadmin/phpmyadmin/db_import.php +0 -25
  22. data/lib/support/phpmyadmin/phpmyadmin/db_operations.php +0 -291
  23. data/lib/support/phpmyadmin/phpmyadmin/db_printview.php +0 -175
  24. data/lib/support/phpmyadmin/phpmyadmin/db_qbe.php +0 -131
  25. data/lib/support/phpmyadmin/phpmyadmin/db_routines.php +0 -27
  26. data/lib/support/phpmyadmin/phpmyadmin/db_search.php +0 -63
  27. data/lib/support/phpmyadmin/phpmyadmin/db_sql.php +0 -45
  28. data/lib/support/phpmyadmin/phpmyadmin/db_sql_autocomplete.php +0 -24
  29. data/lib/support/phpmyadmin/phpmyadmin/db_sql_format.php +0 -18
  30. data/lib/support/phpmyadmin/phpmyadmin/db_structure.php +0 -345
  31. data/lib/support/phpmyadmin/phpmyadmin/db_tracking.php +0 -350
  32. data/lib/support/phpmyadmin/phpmyadmin/db_triggers.php +0 -25
  33. data/lib/support/phpmyadmin/phpmyadmin/doc/Makefile +0 -197
  34. data/lib/support/phpmyadmin/phpmyadmin/doc/_ext/configext.py +0 -188
  35. data/lib/support/phpmyadmin/phpmyadmin/doc/conf.py +0 -304
  36. data/lib/support/phpmyadmin/phpmyadmin/doc/config.rst +0 -2794
  37. data/lib/support/phpmyadmin/phpmyadmin/doc/copyright.rst +0 -50
  38. data/lib/support/phpmyadmin/phpmyadmin/doc/credits.rst +0 -657
  39. data/lib/support/phpmyadmin/phpmyadmin/doc/developers.rst +0 -12
  40. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/config.doctree +0 -0
  41. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/copyright.doctree +0 -0
  42. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/credits.doctree +0 -0
  43. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/developers.doctree +0 -0
  44. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/environment.pickle +0 -0
  45. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/faq.doctree +0 -0
  46. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/glossary.doctree +0 -0
  47. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/import_export.doctree +0 -0
  48. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/index.doctree +0 -0
  49. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/intro.doctree +0 -0
  50. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/other.doctree +0 -0
  51. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/privileges.doctree +0 -0
  52. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/require.doctree +0 -0
  53. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/setup.doctree +0 -0
  54. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/transformations.doctree +0 -0
  55. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/user.doctree +0 -0
  56. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/vendors.doctree +0 -0
  57. data/lib/support/phpmyadmin/phpmyadmin/doc/faq.rst +0 -2112
  58. data/lib/support/phpmyadmin/phpmyadmin/doc/glossary.rst +0 -399
  59. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/config.txt +0 -2794
  60. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/copyright.txt +0 -50
  61. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/credits.txt +0 -657
  62. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/developers.txt +0 -12
  63. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/faq.txt +0 -2112
  64. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/glossary.txt +0 -399
  65. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/import_export.txt +0 -27
  66. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/index.txt +0 -32
  67. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/intro.txt +0 -68
  68. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/other.txt +0 -18
  69. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/privileges.txt +0 -50
  70. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/require.txt +0 -54
  71. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/setup.txt +0 -543
  72. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/transformations.txt +0 -138
  73. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/user.txt +0 -10
  74. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/vendors.txt +0 -35
  75. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/ajax-loader.gif +0 -0
  76. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/basic.css +0 -540
  77. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment-bright.png +0 -0
  78. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment-close.png +0 -0
  79. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment.png +0 -0
  80. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/default.css +0 -256
  81. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/doctools.js +0 -247
  82. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/down-pressed.png +0 -0
  83. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/down.png +0 -0
  84. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/file.png +0 -0
  85. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/jquery.js +0 -154
  86. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/minus.png +0 -0
  87. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/plus.png +0 -0
  88. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/pygments.css +0 -62
  89. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/searchtools.js +0 -560
  90. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/sidebar.js +0 -151
  91. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/underscore.js +0 -23
  92. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/up-pressed.png +0 -0
  93. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/up.png +0 -0
  94. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/websupport.js +0 -808
  95. data/lib/support/phpmyadmin/phpmyadmin/doc/html/config.html +0 -5000
  96. data/lib/support/phpmyadmin/phpmyadmin/doc/html/copyright.html +0 -157
  97. data/lib/support/phpmyadmin/phpmyadmin/doc/html/credits.html +0 -714
  98. data/lib/support/phpmyadmin/phpmyadmin/doc/html/developers.html +0 -118
  99. data/lib/support/phpmyadmin/phpmyadmin/doc/html/faq.html +0 -1871
  100. data/lib/support/phpmyadmin/phpmyadmin/doc/html/genindex.html +0 -3807
  101. data/lib/support/phpmyadmin/phpmyadmin/doc/html/glossary.html +0 -618
  102. data/lib/support/phpmyadmin/phpmyadmin/doc/html/import_export.html +0 -148
  103. data/lib/support/phpmyadmin/phpmyadmin/doc/html/index.html +0 -210
  104. data/lib/support/phpmyadmin/phpmyadmin/doc/html/intro.html +0 -182
  105. data/lib/support/phpmyadmin/phpmyadmin/doc/html/objects.inv +0 -0
  106. data/lib/support/phpmyadmin/phpmyadmin/doc/html/other.html +0 -135
  107. data/lib/support/phpmyadmin/phpmyadmin/doc/html/privileges.html +0 -169
  108. data/lib/support/phpmyadmin/phpmyadmin/doc/html/require.html +0 -168
  109. data/lib/support/phpmyadmin/phpmyadmin/doc/html/search.html +0 -100
  110. data/lib/support/phpmyadmin/phpmyadmin/doc/html/searchindex.js +0 -1
  111. data/lib/support/phpmyadmin/phpmyadmin/doc/html/setup.html +0 -909
  112. data/lib/support/phpmyadmin/phpmyadmin/doc/html/transformations.html +0 -240
  113. data/lib/support/phpmyadmin/phpmyadmin/doc/html/user.html +0 -139
  114. data/lib/support/phpmyadmin/phpmyadmin/doc/html/vendors.html +0 -149
  115. data/lib/support/phpmyadmin/phpmyadmin/doc/import_export.rst +0 -27
  116. data/lib/support/phpmyadmin/phpmyadmin/doc/index.rst +0 -32
  117. data/lib/support/phpmyadmin/phpmyadmin/doc/intro.rst +0 -68
  118. data/lib/support/phpmyadmin/phpmyadmin/doc/make.bat +0 -242
  119. data/lib/support/phpmyadmin/phpmyadmin/doc/other.rst +0 -18
  120. data/lib/support/phpmyadmin/phpmyadmin/doc/privileges.rst +0 -50
  121. data/lib/support/phpmyadmin/phpmyadmin/doc/require.rst +0 -54
  122. data/lib/support/phpmyadmin/phpmyadmin/doc/setup.rst +0 -543
  123. data/lib/support/phpmyadmin/phpmyadmin/doc/transformations.rst +0 -138
  124. data/lib/support/phpmyadmin/phpmyadmin/doc/user.rst +0 -10
  125. data/lib/support/phpmyadmin/phpmyadmin/doc/vendors.rst +0 -35
  126. data/lib/support/phpmyadmin/phpmyadmin/error_report.php +0 -130
  127. data/lib/support/phpmyadmin/phpmyadmin/examples/config.manyhosts.inc.php +0 -51
  128. data/lib/support/phpmyadmin/phpmyadmin/examples/openid.php +0 -160
  129. data/lib/support/phpmyadmin/phpmyadmin/examples/signon-script.php +0 -37
  130. data/lib/support/phpmyadmin/phpmyadmin/examples/signon.php +0 -71
  131. data/lib/support/phpmyadmin/phpmyadmin/examples/swekey.sample.conf +0 -44
  132. data/lib/support/phpmyadmin/phpmyadmin/export.php +0 -480
  133. data/lib/support/phpmyadmin/phpmyadmin/favicon.ico +0 -0
  134. data/lib/support/phpmyadmin/phpmyadmin/file_echo.php +0 -81
  135. data/lib/support/phpmyadmin/phpmyadmin/gis_data_editor.php +0 -429
  136. data/lib/support/phpmyadmin/phpmyadmin/import.php +0 -770
  137. data/lib/support/phpmyadmin/phpmyadmin/import_status.php +0 -118
  138. data/lib/support/phpmyadmin/phpmyadmin/index.php +0 -701
  139. data/lib/support/phpmyadmin/phpmyadmin/js/OpenStreetMap.js +0 -126
  140. data/lib/support/phpmyadmin/phpmyadmin/js/ajax.js +0 -1031
  141. data/lib/support/phpmyadmin/phpmyadmin/js/big_ints.js +0 -67
  142. data/lib/support/phpmyadmin/phpmyadmin/js/canvg/MIT-LICENSE.txt +0 -22
  143. data/lib/support/phpmyadmin/phpmyadmin/js/canvg/canvg.js +0 -2509
  144. data/lib/support/phpmyadmin/phpmyadmin/js/chart.js +0 -664
  145. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/LICENSE +0 -19
  146. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/hint/show-hint.js +0 -394
  147. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/hint/sql-hint.js +0 -248
  148. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/runmode/runmode.js +0 -72
  149. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/lib/codemirror.js +0 -8645
  150. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/javascript/javascript.js +0 -692
  151. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/sql/sql.js +0 -391
  152. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/xml/xml.js +0 -384
  153. data/lib/support/phpmyadmin/phpmyadmin/js/common.js +0 -515
  154. data/lib/support/phpmyadmin/phpmyadmin/js/config.js +0 -798
  155. data/lib/support/phpmyadmin/phpmyadmin/js/console.js +0 -1032
  156. data/lib/support/phpmyadmin/phpmyadmin/js/cross_framing_protection.js +0 -10
  157. data/lib/support/phpmyadmin/phpmyadmin/js/db_central_columns.js +0 -200
  158. data/lib/support/phpmyadmin/phpmyadmin/js/db_operations.js +0 -157
  159. data/lib/support/phpmyadmin/phpmyadmin/js/db_qbe.js +0 -64
  160. data/lib/support/phpmyadmin/phpmyadmin/js/db_search.js +0 -239
  161. data/lib/support/phpmyadmin/phpmyadmin/js/db_structure.js +0 -391
  162. data/lib/support/phpmyadmin/phpmyadmin/js/db_tracking.js +0 -85
  163. data/lib/support/phpmyadmin/phpmyadmin/js/doclinks.js +0 -365
  164. data/lib/support/phpmyadmin/phpmyadmin/js/error_report.js +0 -340
  165. data/lib/support/phpmyadmin/phpmyadmin/js/export.js +0 -401
  166. data/lib/support/phpmyadmin/phpmyadmin/js/functions.js +0 -4579
  167. data/lib/support/phpmyadmin/phpmyadmin/js/get_image.js.php +0 -148
  168. data/lib/support/phpmyadmin/phpmyadmin/js/get_scripts.js.php +0 -62
  169. data/lib/support/phpmyadmin/phpmyadmin/js/gis_data_editor.js +0 -396
  170. data/lib/support/phpmyadmin/phpmyadmin/js/import.js +0 -167
  171. data/lib/support/phpmyadmin/phpmyadmin/js/indexes.js +0 -697
  172. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/excanvas.js +0 -1438
  173. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/jquery.jqplot.js +0 -11411
  174. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.barRenderer.js +0 -801
  175. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.byteFormatter.js +0 -46
  176. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.canvasAxisLabelRenderer.js +0 -203
  177. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.canvasTextRenderer.js +0 -449
  178. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.categoryAxisRenderer.js +0 -679
  179. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.cursor.js +0 -1108
  180. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.dateAxisRenderer.js +0 -741
  181. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.highlighter.js +0 -465
  182. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.pieRenderer.js +0 -904
  183. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.pointLabels.js +0 -377
  184. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/MIT-LICENSE.txt +0 -21
  185. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-1.11.1.min.js +0 -4
  186. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-ui-1.11.2.min.js +0 -13
  187. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-ui-timepicker-addon.js +0 -2223
  188. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.ba-hashchange-1.3.js +0 -390
  189. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.cookie.js +0 -91
  190. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.debounce-1.0.5.js +0 -71
  191. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.event.drag-2.2.js +0 -402
  192. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.fullscreen.js +0 -60
  193. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.mousewheel.js +0 -221
  194. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.sortableTable.js +0 -272
  195. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.svg.js +0 -1352
  196. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.tablesorter.js +0 -1033
  197. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.uitablefilter.js +0 -117
  198. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/README +0 -9
  199. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/jsonp.js +0 -89
  200. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/load.js +0 -75
  201. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/parseJSON.js +0 -51
  202. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/parseXML.js +0 -31
  203. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/script.js +0 -93
  204. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/var/nonce.js +0 -5
  205. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/var/rquery.js +0 -3
  206. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/xhr.js +0 -196
  207. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax.js +0 -807
  208. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/attr.js +0 -271
  209. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/classes.js +0 -157
  210. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/prop.js +0 -134
  211. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/support.js +0 -62
  212. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/val.js +0 -178
  213. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes.js +0 -11
  214. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/callbacks.js +0 -205
  215. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/access.js +0 -60
  216. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/init.js +0 -132
  217. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/parseHTML.js +0 -39
  218. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/ready.js +0 -152
  219. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/var/rsingleTag.js +0 -4
  220. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core.js +0 -534
  221. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/addGetHookIf.js +0 -32
  222. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/curCSS.js +0 -117
  223. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/defaultDisplay.js +0 -69
  224. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/hiddenVisibleSelectors.js +0 -20
  225. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/support.js +0 -149
  226. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/swap.js +0 -28
  227. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/cssExpand.js +0 -3
  228. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/isHidden.js +0 -13
  229. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/rmargin.js +0 -3
  230. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/rnumnonpx.js +0 -5
  231. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css.js +0 -504
  232. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data/accepts.js +0 -21
  233. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data/support.js +0 -25
  234. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data.js +0 -335
  235. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/deferred.js +0 -150
  236. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/deprecated.js +0 -13
  237. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/dimensions.js +0 -50
  238. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/Tween.js +0 -114
  239. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/animatedSelector.js +0 -13
  240. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/support.js +0 -55
  241. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects.js +0 -656
  242. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event/alias.js +0 -39
  243. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event/support.js +0 -26
  244. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event.js +0 -1037
  245. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/exports/amd.js +0 -24
  246. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/exports/global.js +0 -32
  247. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/intro.js +0 -44
  248. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/jquery.js +0 -37
  249. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/_evalUrl.js +0 -18
  250. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/support.js +0 -76
  251. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/var/rcheckableType.js +0 -3
  252. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation.js +0 -744
  253. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/offset.js +0 -211
  254. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/outro.js +0 -1
  255. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/queue/delay.js +0 -22
  256. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/queue.js +0 -142
  257. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/selector-sizzle.js +0 -14
  258. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/selector.js +0 -1
  259. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/serialize.js +0 -110
  260. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.js +0 -2044
  261. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.min.js +0 -3
  262. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.min.map +0 -1
  263. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/empty.js +0 -0
  264. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/mixed_sort.html +0 -22
  265. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/testinit.js +0 -136
  266. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/index.html +0 -242
  267. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/jquery.js +0 -9597
  268. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/extending.js +0 -95
  269. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/selector.js +0 -1149
  270. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/utilities.js +0 -169
  271. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/support.js +0 -58
  272. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing/findFilter.js +0 -100
  273. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing/var/rneedsContext.js +0 -6
  274. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing.js +0 -200
  275. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/class2type.js +0 -4
  276. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/concat.js +0 -5
  277. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/deletedIds.js +0 -3
  278. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/hasOwn.js +0 -5
  279. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/indexOf.js +0 -5
  280. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/pnum.js +0 -3
  281. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/push.js +0 -5
  282. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/rnotwhite.js +0 -3
  283. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/slice.js +0 -5
  284. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/strundefined.js +0 -3
  285. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/support.js +0 -4
  286. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/toString.js +0 -5
  287. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/wrap.js +0 -75
  288. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/accordion.js +0 -584
  289. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/autocomplete.js +0 -628
  290. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/button.js +0 -411
  291. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/core.js +0 -304
  292. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/datepicker.js +0 -2080
  293. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/dialog.js +0 -875
  294. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/draggable.js +0 -1128
  295. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/droppable.js +0 -413
  296. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-blind.js +0 -90
  297. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-bounce.js +0 -123
  298. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-clip.js +0 -77
  299. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-drop.js +0 -75
  300. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-explode.js +0 -107
  301. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-fade.js +0 -40
  302. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-fold.js +0 -86
  303. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-highlight.js +0 -60
  304. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-puff.js +0 -60
  305. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-pulsate.js +0 -73
  306. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-scale.js +0 -89
  307. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-shake.js +0 -84
  308. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-size.js +0 -233
  309. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-slide.js +0 -74
  310. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-transfer.js +0 -57
  311. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect.js +0 -1301
  312. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/menu.js +0 -646
  313. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/mouse.js +0 -199
  314. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/position.js +0 -517
  315. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/progressbar.js +0 -159
  316. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/resizable.js +0 -1179
  317. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/selectable.js +0 -287
  318. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/selectmenu.js +0 -616
  319. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/slider.js +0 -699
  320. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/sortable.js +0 -1304
  321. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/spinner.js +0 -514
  322. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/tabs.js +0 -880
  323. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/tooltip.js +0 -461
  324. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/widget.js +0 -557
  325. data/lib/support/phpmyadmin/phpmyadmin/js/keyhandler.js +0 -145
  326. data/lib/support/phpmyadmin/phpmyadmin/js/line_counts.php +0 -523
  327. data/lib/support/phpmyadmin/phpmyadmin/js/makegrid.js +0 -1973
  328. data/lib/support/phpmyadmin/phpmyadmin/js/menu-resizer.js +0 -182
  329. data/lib/support/phpmyadmin/phpmyadmin/js/messages.php +0 -718
  330. data/lib/support/phpmyadmin/phpmyadmin/js/multi_column_sort.js +0 -81
  331. data/lib/support/phpmyadmin/phpmyadmin/js/navigation.js +0 -1505
  332. data/lib/support/phpmyadmin/phpmyadmin/js/normalization.js +0 -707
  333. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/OpenLayers.js +0 -2681
  334. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/blank.gif +0 -0
  335. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/cloud-popup-relative.png +0 -0
  336. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/drag-rectangle-off.png +0 -0
  337. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/drag-rectangle-on.png +0 -0
  338. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/east-mini.png +0 -0
  339. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/layer-switcher-maximize.png +0 -0
  340. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/layer-switcher-minimize.png +0 -0
  341. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-blue.png +0 -0
  342. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-gold.png +0 -0
  343. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-green.png +0 -0
  344. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker.png +0 -0
  345. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/measuring-stick-off.png +0 -0
  346. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/measuring-stick-on.png +0 -0
  347. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/north-mini.png +0 -0
  348. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/panning-hand-off.png +0 -0
  349. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/panning-hand-on.png +0 -0
  350. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/slider.png +0 -0
  351. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/south-mini.png +0 -0
  352. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/west-mini.png +0 -0
  353. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-minus-mini.png +0 -0
  354. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-plus-mini.png +0 -0
  355. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-world-mini.png +0 -0
  356. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoombar.png +0 -0
  357. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/README +0 -12
  358. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/errorIcon.png +0 -0
  359. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.css +0 -209
  360. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.html +0 -23
  361. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.js +0 -674
  362. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebugx.js +0 -9
  363. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/infoIcon.png +0 -0
  364. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/license.txt +0 -30
  365. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/readme.txt +0 -13
  366. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/warningIcon.png +0 -0
  367. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Gears/gears_init.js +0 -88
  368. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Ajax.js +0 -678
  369. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Bounds.js +0 -681
  370. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Class.js +0 -116
  371. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Element.js +0 -251
  372. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/LonLat.js +0 -190
  373. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Pixel.js +0 -125
  374. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Size.js +0 -85
  375. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes.js +0 -682
  376. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Console.js +0 -246
  377. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ArgParser.js +0 -166
  378. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Attribution.js +0 -97
  379. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Button.js +0 -44
  380. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DragFeature.js +0 -303
  381. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DragPan.js +0 -94
  382. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DrawFeature.js +0 -126
  383. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/EditingToolbar.js +0 -63
  384. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/GetFeature.js +0 -595
  385. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Graticule.js +0 -373
  386. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/KeyboardDefaults.js +0 -127
  387. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/LayerSwitcher.js +0 -620
  388. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Measure.js +0 -321
  389. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ModifyFeature.js +0 -777
  390. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MouseDefaults.js +0 -368
  391. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MousePosition.js +0 -213
  392. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MouseToolbar.js +0 -406
  393. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/NavToolbar.js +0 -55
  394. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Navigation.js +0 -303
  395. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/NavigationHistory.js +0 -423
  396. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/OverviewMap.js +0 -720
  397. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Pan.js +0 -86
  398. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanPanel.js +0 -63
  399. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanZoom.js +0 -246
  400. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanZoomBar.js +0 -396
  401. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Panel.js +0 -371
  402. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Permalink.js +0 -220
  403. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/SLDSelect.js +0 -570
  404. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Scale.js +0 -99
  405. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ScaleLine.js +0 -223
  406. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/SelectFeature.js +0 -613
  407. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Snapping.js +0 -547
  408. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Split.js +0 -498
  409. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/TransformFeature.js +0 -579
  410. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/WMSGetFeatureInfo.js +0 -524
  411. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/WMTSGetFeatureInfo.js +0 -442
  412. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomBox.js +0 -95
  413. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomIn.js +0 -35
  414. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomOut.js +0 -35
  415. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomPanel.js +0 -54
  416. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomToMaxExtent.js +0 -40
  417. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control.js +0 -368
  418. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Events.js +0 -855
  419. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature/Vector.js +0 -454
  420. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature/WFS.js +0 -80
  421. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature.js +0 -227
  422. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Comparison.js +0 -258
  423. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/FeatureId.js +0 -81
  424. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Logical.js +0 -119
  425. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Spatial.js +0 -128
  426. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter.js +0 -68
  427. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML/Features.js +0 -49
  428. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML.js +0 -1028
  429. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Atom.js +0 -727
  430. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js +0 -243
  431. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain.js +0 -34
  432. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js +0 -440
  433. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords.js +0 -34
  434. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Context.js +0 -334
  435. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1.js +0 -426
  436. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_0_0.js +0 -169
  437. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_1_0.js +0 -182
  438. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter.js +0 -115
  439. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/Base.js +0 -578
  440. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/v2.js +0 -193
  441. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/v3.js +0 -462
  442. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML.js +0 -924
  443. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GPX.js +0 -184
  444. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GeoJSON.js +0 -716
  445. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GeoRSS.js +0 -420
  446. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/JSON.js +0 -389
  447. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/KML.js +0 -1429
  448. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OSM.js +0 -457
  449. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1.js +0 -256
  450. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_0_0.js +0 -50
  451. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_1_0.js +0 -64
  452. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext/v0_3_1.js +0 -589
  453. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext.js +0 -81
  454. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1.js +0 -1100
  455. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1_0_0.js +0 -51
  456. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD.js +0 -131
  457. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js +0 -158
  458. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities.js +0 -83
  459. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js +0 -193
  460. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetObservation.js +0 -262
  461. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Text.js +0 -152
  462. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFS.js +0 -220
  463. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1.js +0 -126
  464. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js +0 -157
  465. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js +0 -36
  466. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities.js +0 -80
  467. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSDescribeFeatureType.js +0 -198
  468. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1.js +0 -368
  469. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_0_0.js +0 -150
  470. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_1_0.js +0 -161
  471. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST.js +0 -34
  472. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WKT.js +0 -358
  473. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1.js +0 -835
  474. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_0_0.js +0 -76
  475. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_1_0.js +0 -127
  476. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC.js +0 -152
  477. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1.js +0 -418
  478. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1.js +0 -118
  479. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js +0 -62
  480. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js +0 -58
  481. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3.js +0 -128
  482. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js +0 -30
  483. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities.js +0 -82
  484. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js +0 -100
  485. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer.js +0 -91
  486. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSGetFeatureInfo.js +0 -284
  487. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js +0 -221
  488. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js +0 -162
  489. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/XML.js +0 -881
  490. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format.js +0 -123
  491. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Collection.js +0 -546
  492. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Curve.js +0 -93
  493. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/LineString.js +0 -552
  494. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/LinearRing.js +0 -417
  495. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiLineString.js +0 -262
  496. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPoint.js +0 -70
  497. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPolygon.js +0 -46
  498. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Point.js +0 -283
  499. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Polygon.js +0 -259
  500. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Rectangle.js +0 -99
  501. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Surface.js +0 -17
  502. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry.js +0 -456
  503. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Box.js +0 -221
  504. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Click.js +0 -325
  505. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Drag.js +0 -420
  506. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Feature.js +0 -388
  507. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Hover.js +0 -183
  508. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Keyboard.js +0 -109
  509. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/MouseWheel.js +0 -283
  510. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Path.js +0 -302
  511. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Point.js +0 -373
  512. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Polygon.js +0 -144
  513. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/RegularPolygon.js +0 -421
  514. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler.js +0 -287
  515. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Icon.js +0 -227
  516. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ar.js +0 -38
  517. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/be-tarask.js +0 -80
  518. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/bg.js +0 -29
  519. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/br.js +0 -79
  520. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ca.js +0 -128
  521. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/cs-CZ.js +0 -69
  522. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/da-DK.js +0 -119
  523. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/de.js +0 -81
  524. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/el.js +0 -19
  525. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/en-CA.js +0 -21
  526. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/en.js +0 -128
  527. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/es.js +0 -129
  528. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fi.js +0 -34
  529. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fr.js +0 -80
  530. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fur.js +0 -35
  531. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/gl.js +0 -79
  532. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/gsw.js +0 -79
  533. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hr.js +0 -61
  534. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hsb.js +0 -79
  535. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hu.js +0 -80
  536. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ia.js +0 -79
  537. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/id.js +0 -80
  538. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/io.js +0 -19
  539. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/is.js +0 -37
  540. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/it.js +0 -116
  541. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ja.js +0 -80
  542. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/km.js +0 -25
  543. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ksh.js +0 -79
  544. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nb.js +0 -118
  545. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nds.js +0 -61
  546. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nl.js +0 -79
  547. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nn.js +0 -27
  548. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/oc.js +0 -79
  549. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/pt-BR.js +0 -80
  550. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/pt.js +0 -81
  551. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ru.js +0 -82
  552. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/sk.js +0 -71
  553. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/sv-SE.js +0 -71
  554. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/te.js +0 -27
  555. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/vi.js +0 -79
  556. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/zh-CN.js +0 -116
  557. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/zh-TW.js +0 -117
  558. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang.js +0 -133
  559. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/ArcGIS93Rest.js +0 -253
  560. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/ArcIMS.js +0 -466
  561. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Boxes.js +0 -76
  562. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/EventPane.js +0 -418
  563. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/FixedZoomLevels.js +0 -315
  564. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/GML.js +0 -174
  565. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/GeoRSS.js +0 -266
  566. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Google/v3.js +0 -419
  567. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Google.js +0 -795
  568. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Grid.js +0 -755
  569. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/HTTPRequest.js +0 -230
  570. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Image.js +0 -254
  571. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/KaMap.js +0 -206
  572. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/KaMapCache.js +0 -148
  573. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapGuide.js +0 -489
  574. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer/Untiled.js +0 -72
  575. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer.js +0 -199
  576. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Markers.js +0 -187
  577. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MultiMap.js +0 -284
  578. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/PointTrack.js +0 -103
  579. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/SphericalMercator.js +0 -196
  580. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/TMS.js +0 -167
  581. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Text.js +0 -264
  582. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/TileCache.js +0 -165
  583. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Vector/RootContainer.js +0 -157
  584. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Vector.js +0 -947
  585. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/VirtualEarth.js +0 -368
  586. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WFS.js +0 -609
  587. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Post.js +0 -99
  588. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Untiled.js +0 -72
  589. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS.js +0 -268
  590. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMTS.js +0 -476
  591. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WorldWind.js +0 -120
  592. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/XYZ.js +0 -196
  593. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Yahoo.js +0 -430
  594. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Zoomify.js +0 -308
  595. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer.js +0 -1304
  596. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Map.js +0 -2417
  597. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Marker/Box.js +0 -120
  598. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Marker.js +0 -242
  599. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/Anchored.js +0 -198
  600. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/AnchoredBubble.js +0 -190
  601. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/Framed.js +0 -343
  602. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/FramedCloud.js +0 -231
  603. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup.js +0 -1052
  604. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Projection.js +0 -178
  605. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/HTTP.js +0 -655
  606. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS/v1_0_0.js +0 -132
  607. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS.js +0 -33
  608. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL/Gears.js +0 -561
  609. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL.js +0 -88
  610. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1.js +0 -342
  611. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_0_0.js +0 -44
  612. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_1_0.js +0 -48
  613. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS.js +0 -71
  614. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol.js +0 -272
  615. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/Canvas.js +0 -494
  616. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/Elements.js +0 -1010
  617. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/SVG.js +0 -995
  618. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/VML.js +0 -999
  619. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer.js +0 -362
  620. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Request/XMLHttpRequest.js +0 -384
  621. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Request.js +0 -358
  622. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Rule.js +0 -240
  623. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/SingleFile.js +0 -10
  624. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/BBOX.js +0 -278
  625. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Cluster.js +0 -280
  626. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Filter.js +0 -164
  627. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Fixed.js +0 -138
  628. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Paging.js +0 -236
  629. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Refresh.js +0 -140
  630. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Save.js +0 -229
  631. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy.js +0 -117
  632. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Style.js +0 -443
  633. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Style2.js +0 -111
  634. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/StyleMap.js +0 -160
  635. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Line.js +0 -69
  636. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Point.js +0 -141
  637. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Polygon.js +0 -81
  638. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Raster.js +0 -34
  639. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Text.js +0 -65
  640. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer.js +0 -51
  641. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/Image/IFrame.js +0 -262
  642. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/Image.js +0 -578
  643. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/WFS.js +0 -192
  644. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile.js +0 -281
  645. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tween.js +0 -318
  646. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Util.js +0 -1797
  647. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers.js +0 -348
  648. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Rico/Color.js +0 -244
  649. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Rico/Corner.js +0 -330
  650. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/framedCloud.css +0 -0
  651. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/google.css +0 -10
  652. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/ie6-style.css +0 -7
  653. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/add_point_off.png +0 -0
  654. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/add_point_on.png +0 -0
  655. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/blank.gif +0 -0
  656. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/close.gif +0 -0
  657. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/drag-rectangle-off.png +0 -0
  658. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/drag-rectangle-on.png +0 -0
  659. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_line_off.png +0 -0
  660. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_line_on.png +0 -0
  661. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_point_off.png +0 -0
  662. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_point_on.png +0 -0
  663. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_polygon_off.png +0 -0
  664. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_polygon_on.png +0 -0
  665. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/editing_tool_bar.png +0 -0
  666. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/move_feature_off.png +0 -0
  667. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/move_feature_on.png +0 -0
  668. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/navigation_history.png +0 -0
  669. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/overview_replacement.gif +0 -0
  670. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan-panel-NOALPHA.png +0 -0
  671. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan-panel.png +0 -0
  672. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan_off.png +0 -0
  673. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan_on.png +0 -0
  674. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/panning-hand-off.png +0 -0
  675. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/panning-hand-on.png +0 -0
  676. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/remove_point_off.png +0 -0
  677. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/remove_point_on.png +0 -0
  678. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/ruler.png +0 -0
  679. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/save_features_off.png +0 -0
  680. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/save_features_on.png +0 -0
  681. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_next_off.png +0 -0
  682. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_next_on.png +0 -0
  683. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_previous_off.png +0 -0
  684. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_previous_on.png +0 -0
  685. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/zoom-panel-NOALPHA.png +0 -0
  686. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/zoom-panel.png +0 -0
  687. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/style.css +0 -397
  688. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_db.js +0 -136
  689. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_objects.js +0 -17
  690. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_page.js +0 -164
  691. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/history.js +0 -812
  692. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/iecanvas.js +0 -147
  693. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/init.js +0 -40
  694. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/move.js +0 -1993
  695. data/lib/support/phpmyadmin/phpmyadmin/js/replication.js +0 -72
  696. data/lib/support/phpmyadmin/phpmyadmin/js/rte.js +0 -944
  697. data/lib/support/phpmyadmin/phpmyadmin/js/server_databases.js +0 -137
  698. data/lib/support/phpmyadmin/phpmyadmin/js/server_plugins.js +0 -30
  699. data/lib/support/phpmyadmin/phpmyadmin/js/server_privileges.js +0 -451
  700. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_advisor.js +0 -93
  701. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_monitor.js +0 -2172
  702. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_processes.js +0 -189
  703. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_queries.js +0 -34
  704. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_sorter.js +0 -89
  705. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_variables.js +0 -103
  706. data/lib/support/phpmyadmin/phpmyadmin/js/server_user_groups.js +0 -42
  707. data/lib/support/phpmyadmin/phpmyadmin/js/server_variables.js +0 -147
  708. data/lib/support/phpmyadmin/phpmyadmin/js/sprintf.js +0 -211
  709. data/lib/support/phpmyadmin/phpmyadmin/js/sql.js +0 -842
  710. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_change.js +0 -754
  711. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_chart.js +0 -437
  712. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_find_replace.js +0 -47
  713. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_gis_visualization.js +0 -353
  714. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_operations.js +0 -240
  715. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_relation.js +0 -233
  716. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_select.js +0 -395
  717. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_structure.js +0 -397
  718. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_tracking.js +0 -96
  719. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_zoom_plot_jqplot.js +0 -638
  720. data/lib/support/phpmyadmin/phpmyadmin/js/tracekit/tracekit.js +0 -1114
  721. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/image_upload.js +0 -28
  722. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/json.js +0 -18
  723. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/json_editor.js +0 -17
  724. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/sql_editor.js +0 -30
  725. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/xml.js +0 -18
  726. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/xml_editor.js +0 -16
  727. data/lib/support/phpmyadmin/phpmyadmin/js/whitelist.php +0 -38
  728. data/lib/support/phpmyadmin/phpmyadmin/libraries/Advisor.class.php +0 -526
  729. data/lib/support/phpmyadmin/phpmyadmin/libraries/Config.class.php +0 -1926
  730. data/lib/support/phpmyadmin/phpmyadmin/libraries/Console.class.php +0 -320
  731. data/lib/support/phpmyadmin/phpmyadmin/libraries/DBQbe.class.php +0 -1593
  732. data/lib/support/phpmyadmin/phpmyadmin/libraries/DatabaseInterface.class.php +0 -2864
  733. data/lib/support/phpmyadmin/phpmyadmin/libraries/DbSearch.class.php +0 -502
  734. data/lib/support/phpmyadmin/phpmyadmin/libraries/DisplayResults.class.php +0 -5685
  735. data/lib/support/phpmyadmin/phpmyadmin/libraries/Error.class.php +0 -470
  736. data/lib/support/phpmyadmin/phpmyadmin/libraries/Error_Handler.class.php +0 -561
  737. data/lib/support/phpmyadmin/phpmyadmin/libraries/File.class.php +0 -732
  738. data/lib/support/phpmyadmin/phpmyadmin/libraries/Font.class.php +0 -145
  739. data/lib/support/phpmyadmin/phpmyadmin/libraries/Footer.class.php +0 -351
  740. data/lib/support/phpmyadmin/phpmyadmin/libraries/Header.class.php +0 -752
  741. data/lib/support/phpmyadmin/phpmyadmin/libraries/Index.class.php +0 -1011
  742. data/lib/support/phpmyadmin/phpmyadmin/libraries/List.class.php +0 -122
  743. data/lib/support/phpmyadmin/phpmyadmin/libraries/List_Database.class.php +0 -193
  744. data/lib/support/phpmyadmin/phpmyadmin/libraries/Menu.class.php +0 -631
  745. data/lib/support/phpmyadmin/phpmyadmin/libraries/Message.class.php +0 -759
  746. data/lib/support/phpmyadmin/phpmyadmin/libraries/OutputBuffering.class.php +0 -139
  747. data/lib/support/phpmyadmin/phpmyadmin/libraries/PDF.class.php +0 -149
  748. data/lib/support/phpmyadmin/phpmyadmin/libraries/PMA.php +0 -109
  749. data/lib/support/phpmyadmin/phpmyadmin/libraries/Partition.class.php +0 -77
  750. data/lib/support/phpmyadmin/phpmyadmin/libraries/RecentFavoriteTable.class.php +0 -393
  751. data/lib/support/phpmyadmin/phpmyadmin/libraries/Response.class.php +0 -397
  752. data/lib/support/phpmyadmin/phpmyadmin/libraries/SavedSearches.class.php +0 -447
  753. data/lib/support/phpmyadmin/phpmyadmin/libraries/Scripts.class.php +0 -284
  754. data/lib/support/phpmyadmin/phpmyadmin/libraries/ServerStatusData.class.php +0 -448
  755. data/lib/support/phpmyadmin/phpmyadmin/libraries/StorageEngine.class.php +0 -451
  756. data/lib/support/phpmyadmin/phpmyadmin/libraries/String.class.php +0 -188
  757. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringAbstractType.class.php +0 -35
  758. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringByte.int.php +0 -173
  759. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringCType.class.php +0 -110
  760. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringNativeType.class.php +0 -138
  761. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringType.int.php +0 -84
  762. data/lib/support/phpmyadmin/phpmyadmin/libraries/Table.class.php +0 -1806
  763. data/lib/support/phpmyadmin/phpmyadmin/libraries/TableSearch.class.php +0 -1587
  764. data/lib/support/phpmyadmin/phpmyadmin/libraries/Theme.class.php +0 -485
  765. data/lib/support/phpmyadmin/phpmyadmin/libraries/Theme_Manager.class.php +0 -460
  766. data/lib/support/phpmyadmin/phpmyadmin/libraries/Tracker.class.php +0 -1030
  767. data/lib/support/phpmyadmin/phpmyadmin/libraries/Types.class.php +0 -1071
  768. data/lib/support/phpmyadmin/phpmyadmin/libraries/Util.class.php +0 -4602
  769. data/lib/support/phpmyadmin/phpmyadmin/libraries/advisory_rules.txt +0 -470
  770. data/lib/support/phpmyadmin/phpmyadmin/libraries/bfShapeFiles/ShapeFile.lib.php +0 -682
  771. data/lib/support/phpmyadmin/phpmyadmin/libraries/bookmark.lib.php +0 -273
  772. data/lib/support/phpmyadmin/phpmyadmin/libraries/browse_foreigners.lib.php +0 -316
  773. data/lib/support/phpmyadmin/phpmyadmin/libraries/build_html_for_db.lib.php +0 -184
  774. data/lib/support/phpmyadmin/phpmyadmin/libraries/central_columns.lib.php +0 -1003
  775. data/lib/support/phpmyadmin/phpmyadmin/libraries/charset_conversion.lib.php +0 -120
  776. data/lib/support/phpmyadmin/phpmyadmin/libraries/check_user_privileges.lib.php +0 -195
  777. data/lib/support/phpmyadmin/phpmyadmin/libraries/cleanup.lib.php +0 -50
  778. data/lib/support/phpmyadmin/phpmyadmin/libraries/common.inc.php +0 -1203
  779. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/ConfigFile.class.php +0 -543
  780. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/Form.class.php +0 -231
  781. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/FormDisplay.class.php +0 -837
  782. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/FormDisplay.tpl.php +0 -491
  783. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/ServerConfigChecks.class.php +0 -577
  784. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/Validator.class.php +0 -624
  785. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/config_functions.lib.php +0 -54
  786. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/messages.inc.php +0 -818
  787. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/setup.forms.php +0 -384
  788. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/user_preferences.forms.php +0 -281
  789. data/lib/support/phpmyadmin/phpmyadmin/libraries/config.default.php +0 -3011
  790. data/lib/support/phpmyadmin/phpmyadmin/libraries/config.values.php +0 -270
  791. data/lib/support/phpmyadmin/phpmyadmin/libraries/core.lib.php +0 -1013
  792. data/lib/support/phpmyadmin/phpmyadmin/libraries/create_addfield.lib.php +0 -376
  793. data/lib/support/phpmyadmin/phpmyadmin/libraries/data_dictionary_relations.lib.php +0 -167
  794. data/lib/support/phpmyadmin/phpmyadmin/libraries/database_interface.inc.php +0 -74
  795. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_common.inc.php +0 -105
  796. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_designer.lib.php +0 -1397
  797. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_info.inc.php +0 -248
  798. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_printview.lib.php +0 -30
  799. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_table_exists.lib.php +0 -106
  800. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIDrizzle.class.php +0 -583
  801. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIDummy.class.php +0 -906
  802. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIExtension.int.php +0 -262
  803. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIMysql.class.php +0 -469
  804. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIMysqli.class.php +0 -620
  805. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/drizzle-wrappers.lib.php +0 -427
  806. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_change_password.lib.php +0 -113
  807. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_create_database.lib.php +0 -62
  808. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_create_table.lib.php +0 -82
  809. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_export.inc.php +0 -72
  810. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_export.lib.php +0 -872
  811. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_git_revision.lib.php +0 -83
  812. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import.inc.php +0 -64
  813. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import.lib.php +0 -602
  814. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import_ajax.lib.php +0 -129
  815. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_select_lang.lib.php +0 -98
  816. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_structure.inc.php +0 -272
  817. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/bdb.lib.php +0 -87
  818. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/berkeleydb.lib.php +0 -26
  819. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/binlog.lib.php +0 -31
  820. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/innobase.lib.php +0 -25
  821. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/innodb.lib.php +0 -392
  822. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/memory.lib.php +0 -34
  823. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/merge.lib.php +0 -21
  824. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/mrg_myisam.lib.php +0 -36
  825. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/myisam.lib.php +0 -69
  826. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/ndbcluster.lib.php +0 -55
  827. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/pbxt.lib.php +0 -149
  828. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/performance_schema.lib.php +0 -31
  829. data/lib/support/phpmyadmin/phpmyadmin/libraries/error.inc.php +0 -58
  830. data/lib/support/phpmyadmin/phpmyadmin/libraries/error_report.lib.php +0 -432
  831. data/lib/support/phpmyadmin/phpmyadmin/libraries/export.lib.php +0 -858
  832. data/lib/support/phpmyadmin/phpmyadmin/libraries/file_listing.lib.php +0 -99
  833. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Factory.class.php +0 -66
  834. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Geometry.class.php +0 -376
  835. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Geometrycollection.class.php +0 -364
  836. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Linestring.class.php +0 -323
  837. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multilinestring.class.php +0 -394
  838. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multipoint.class.php +0 -367
  839. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multipolygon.class.php +0 -564
  840. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Point.class.php +0 -314
  841. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Polygon.class.php +0 -581
  842. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Visualization.class.php +0 -504
  843. data/lib/support/phpmyadmin/phpmyadmin/libraries/iconv_wrapper.lib.php +0 -128
  844. data/lib/support/phpmyadmin/phpmyadmin/libraries/import.lib.php +0 -1954
  845. data/lib/support/phpmyadmin/phpmyadmin/libraries/index.lib.php +0 -48
  846. data/lib/support/phpmyadmin/phpmyadmin/libraries/information_schema_relations.lib.php +0 -327
  847. data/lib/support/phpmyadmin/phpmyadmin/libraries/insert_edit.lib.php +0 -2931
  848. data/lib/support/phpmyadmin/phpmyadmin/libraries/ip_allow_deny.lib.php +0 -341
  849. data/lib/support/phpmyadmin/phpmyadmin/libraries/js_escape.lib.php +0 -135
  850. data/lib/support/phpmyadmin/phpmyadmin/libraries/kanji-encoding.lib.php +0 -168
  851. data/lib/support/phpmyadmin/phpmyadmin/libraries/language_stats.inc.php +0 -87
  852. data/lib/support/phpmyadmin/phpmyadmin/libraries/logging.lib.php +0 -30
  853. data/lib/support/phpmyadmin/phpmyadmin/libraries/mime.lib.php +0 -34
  854. data/lib/support/phpmyadmin/phpmyadmin/libraries/mult_submits.inc.php +0 -307
  855. data/lib/support/phpmyadmin/phpmyadmin/libraries/mult_submits.lib.php +0 -647
  856. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_charsets.inc.php +0 -129
  857. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_charsets.lib.php +0 -379
  858. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_relations.lib.php +0 -169
  859. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Navigation.class.php +0 -228
  860. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NavigationHeader.class.php +0 -223
  861. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NavigationTree.class.php +0 -1452
  862. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NodeFactory.class.php +0 -97
  863. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node.class.php +0 -813
  864. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Column.class.php +0 -47
  865. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Column_Container.class.php +0 -57
  866. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Database.class.php +0 -663
  867. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_DatabaseChild.class.php +0 -52
  868. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Database_Container.class.php +0 -51
  869. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Event.class.php +0 -57
  870. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Event_Container.class.php +0 -54
  871. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Function.class.php +0 -57
  872. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Function_Container.class.php +0 -53
  873. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Index.class.php +0 -45
  874. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Index_Container.class.php +0 -57
  875. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Procedure.class.php +0 -57
  876. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Procedure_Container.class.php +0 -55
  877. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Table.class.php +0 -294
  878. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Table_Container.class.php +0 -60
  879. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Trigger.class.php +0 -45
  880. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Trigger_Container.class.php +0 -57
  881. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_View.class.php +0 -57
  882. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_View_Container.class.php +0 -60
  883. data/lib/support/phpmyadmin/phpmyadmin/libraries/normalization.lib.php +0 -945
  884. data/lib/support/phpmyadmin/phpmyadmin/libraries/opendocument.lib.php +0 -171
  885. data/lib/support/phpmyadmin/phpmyadmin/libraries/operations.lib.php +0 -1649
  886. data/lib/support/phpmyadmin/phpmyadmin/libraries/parse_analyze.inc.php +0 -144
  887. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/gettext.inc +0 -536
  888. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/gettext.php +0 -432
  889. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/streams.php +0 -167
  890. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/AES.php +0 -184
  891. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Base.php +0 -1984
  892. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Random.php +0 -251
  893. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Rijndael.php +0 -1370
  894. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugin_interface.lib.php +0 -557
  895. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/AuthenticationPlugin.class.php +0 -100
  896. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/ExportPlugin.class.php +0 -326
  897. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/IOTransformationsPlugin.class.php +0 -91
  898. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/ImportPlugin.class.php +0 -77
  899. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/SchemaPlugin.class.php +0 -76
  900. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/TransformationsInterface.int.php +0 -49
  901. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/TransformationsPlugin.class.php +0 -69
  902. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/UploadInterface.int.php +0 -36
  903. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationConfig.class.php +0 -183
  904. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationCookie.class.php +0 -871
  905. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationHttp.class.php +0 -289
  906. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationSignon.class.php +0 -267
  907. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/recaptcha/LICENSE +0 -29
  908. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/recaptcha/recaptchalib.php +0 -140
  909. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/authentication.inc.php +0 -176
  910. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/musbe-ca.crt +0 -25
  911. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/swekey.auth.lib.php +0 -318
  912. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/swekey.php +0 -536
  913. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportCodegen.class.php +0 -434
  914. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportCsv.class.php +0 -323
  915. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportExcel.class.php +0 -92
  916. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportHtmlword.class.php +0 -644
  917. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportJson.class.php +0 -215
  918. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportLatex.class.php +0 -656
  919. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportMediawiki.class.php +0 -379
  920. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportOds.class.php +0 -334
  921. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportOdt.class.php +0 -765
  922. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportPdf.class.php +0 -276
  923. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportPhparray.class.php +0 -233
  924. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportSql.class.php +0 -2601
  925. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportTexytext.class.php +0 -575
  926. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportXml.class.php +0 -584
  927. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportYaml.class.php +0 -212
  928. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/PMA_ExportPdf.class.php +0 -434
  929. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/README +0 -267
  930. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/TableProperty.class.php +0 -286
  931. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/AbstractImportCsv.class.php +0 -90
  932. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportCsv.class.php +0 -687
  933. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportLdi.class.php +0 -161
  934. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportMediawiki.class.php +0 -598
  935. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportOds.class.php +0 -414
  936. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportShp.class.php +0 -327
  937. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportSql.class.php +0 -620
  938. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportXml.class.php +0 -366
  939. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/README +0 -159
  940. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ShapeFile.class.php +0 -102
  941. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ShapeRecord.class.php +0 -161
  942. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadApc.class.php +0 -84
  943. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadNoplugin.class.php +0 -64
  944. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadProgress.class.php +0 -94
  945. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadSession.class.php +0 -96
  946. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/Export_Relation_Schema.class.php +0 -299
  947. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/RelationStats.class.php +0 -108
  948. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaDia.class.php +0 -117
  949. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaEps.class.php +0 -102
  950. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaPdf.class.php +0 -132
  951. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaSvg.class.php +0 -90
  952. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/TableStats.class.php +0 -179
  953. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/Dia_Relation_Schema.class.php +0 -378
  954. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/RelationStatsDia.class.php +0 -216
  955. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/TableStatsDia.class.php +0 -227
  956. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/Eps_Relation_Schema.class.php +0 -508
  957. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/RelationStatsEps.class.php +0 -135
  958. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/TableStatsEps.class.php +0 -157
  959. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/Pdf_Relation_Schema.class.php +0 -1070
  960. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/RelationStatsPdf.class.php +0 -135
  961. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/TableStatsPdf.class.php +0 -222
  962. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/RelationStatsSvg.class.php +0 -119
  963. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/Svg_Relation_Schema.class.php +0 -501
  964. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/TableStatsSvg.class.php +0 -180
  965. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/README +0 -4
  966. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/TEMPLATE +0 -46
  967. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/TEMPLATE_ABSTRACT +0 -73
  968. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Link.class.php +0 -44
  969. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Longtoipv4.class.php +0 -44
  970. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Preappend.class.php +0 -45
  971. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Substring.class.php +0 -44
  972. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/Bool2TextTransformationsPlugin.class.php +0 -69
  973. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/CodeMirrorEditorTransformationPlugin.class.php +0 -64
  974. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/DateFormatTransformationsPlugin.class.php +0 -164
  975. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/DownloadTransformationsPlugin.class.php +0 -95
  976. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ExternalTransformationsPlugin.class.php +0 -155
  977. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/FormattedTransformationsPlugin.class.php +0 -65
  978. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/HexTransformationsPlugin.class.php +0 -72
  979. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ImageLinkTransformationsPlugin.class.php +0 -74
  980. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ImageUploadTransformationsPlugin.class.php +0 -110
  981. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/InlineTransformationsPlugin.class.php +0 -86
  982. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/LongToIPv4TransformationsPlugin.class.php +0 -68
  983. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/PreApPendTransformationsPlugin.class.php +0 -71
  984. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/RegexValidationTransformationsPlugin.class.php +0 -74
  985. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/SQLTransformationsPlugin.class.php +0 -67
  986. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/SubstringTransformationsPlugin.class.php +0 -92
  987. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextFileUploadTransformationsPlugin.class.php +0 -93
  988. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextImageLinkTransformationsPlugin.class.php +0 -81
  989. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextLinkTransformationsPlugin.class.php +0 -82
  990. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/generator_main_class.sh +0 -16
  991. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/generator_plugin.sh +0 -64
  992. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Image_JPEG_Upload.class.php +0 -46
  993. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_Fileupload.class.php +0 -45
  994. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_JsonEditor.class.php +0 -86
  995. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_Regexvalidation.class.php +0 -46
  996. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_SqlEditor.class.php +0 -86
  997. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_XmlEditor.class.php +0 -86
  998. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Application_Octetstream_Download.class.php +0 -44
  999. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Application_Octetstream_Hex.class.php +0 -45
  1000. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_JPEG_Inline.class.php +0 -45
  1001. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_JPEG_Link.class.php +0 -45
  1002. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_PNG_Inline.class.php +0 -45
  1003. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Octetstream_Sql.class.php +0 -45
  1004. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Bool2text.class.php +0 -47
  1005. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Dateformat.class.php +0 -45
  1006. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_External.class.php +0 -45
  1007. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Formatted.class.php +0 -45
  1008. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Imagelink.class.php +0 -45
  1009. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Json.class.php +0 -96
  1010. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Sql.class.php +0 -57
  1011. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Xml.class.php +0 -96
  1012. data/lib/support/phpmyadmin/phpmyadmin/libraries/pmd_common.php +0 -657
  1013. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/PropertyItem.class.php +0 -49
  1014. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyGroup.class.php +0 -99
  1015. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyItem.class.php +0 -127
  1016. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyOneItem.class.php +0 -172
  1017. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertyMainGroup.class.php +0 -35
  1018. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertyRootGroup.class.php +0 -35
  1019. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertySubgroup.class.php +0 -68
  1020. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/BoolPropertyItem.class.php +0 -35
  1021. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/DocPropertyItem.class.php +0 -35
  1022. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/HiddenPropertyItem.class.php +0 -35
  1023. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/MessageOnlyPropertyItem.class.php +0 -35
  1024. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/NumberPropertyItem.class.php +0 -35
  1025. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/RadioPropertyItem.class.php +0 -35
  1026. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/SelectPropertyItem.class.php +0 -35
  1027. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/TextPropertyItem.class.php +0 -35
  1028. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/ExportPluginProperties.class.php +0 -68
  1029. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/ImportPluginProperties.class.php +0 -34
  1030. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/PluginPropertyItem.class.php +0 -183
  1031. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/SchemaPluginProperties.class.php +0 -47
  1032. data/lib/support/phpmyadmin/phpmyadmin/libraries/relation.lib.php +0 -2024
  1033. data/lib/support/phpmyadmin/phpmyadmin/libraries/relation_cleanup.lib.php +0 -216
  1034. data/lib/support/phpmyadmin/phpmyadmin/libraries/replication.inc.php +0 -321
  1035. data/lib/support/phpmyadmin/phpmyadmin/libraries/replication_gui.lib.php +0 -1088
  1036. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_events.lib.php +0 -618
  1037. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_export.lib.php +0 -121
  1038. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_footer.lib.php +0 -130
  1039. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_general.lib.php +0 -88
  1040. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_list.lib.php +0 -387
  1041. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_main.inc.php +0 -94
  1042. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_routines.lib.php +0 -1733
  1043. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_triggers.lib.php +0 -463
  1044. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_words.lib.php +0 -75
  1045. data/lib/support/phpmyadmin/phpmyadmin/libraries/sanitizing.lib.php +0 -191
  1046. data/lib/support/phpmyadmin/phpmyadmin/libraries/select_lang.lib.php +0 -621
  1047. data/lib/support/phpmyadmin/phpmyadmin/libraries/select_server.lib.php +0 -111
  1048. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_bin_log.lib.php +0 -244
  1049. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_collations.lib.php +0 -100
  1050. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_common.inc.php +0 -53
  1051. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_common.lib.php +0 -67
  1052. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_databases.lib.php +0 -498
  1053. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_engines.lib.php +0 -145
  1054. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_plugins.lib.php +0 -207
  1055. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_privileges.lib.php +0 -4692
  1056. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status.lib.php +0 -317
  1057. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_advisor.lib.php +0 -68
  1058. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_monitor.lib.php +0 -825
  1059. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_processes.lib.php +0 -320
  1060. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_queries.lib.php +0 -154
  1061. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_variables.lib.php +0 -765
  1062. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_user_groups.lib.php +0 -360
  1063. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_users.lib.php +0 -58
  1064. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_variables.lib.php +0 -1683
  1065. data/lib/support/phpmyadmin/phpmyadmin/libraries/session.inc.php +0 -130
  1066. data/lib/support/phpmyadmin/phpmyadmin/libraries/special_schema_links.lib.php +0 -461
  1067. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/LICENSE.txt +0 -21
  1068. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/README.md +0 -185
  1069. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/lib/SqlFormatter.php +0 -1085
  1070. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql.lib.php +0 -2293
  1071. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql_query_form.lib.php +0 -477
  1072. data/lib/support/phpmyadmin/phpmyadmin/libraries/sqlparser.data.php +0 -999
  1073. data/lib/support/phpmyadmin/phpmyadmin/libraries/sqlparser.lib.php +0 -2997
  1074. data/lib/support/phpmyadmin/phpmyadmin/libraries/string.lib.php +0 -33
  1075. data/lib/support/phpmyadmin/phpmyadmin/libraries/stringMb.lib.php +0 -78
  1076. data/lib/support/phpmyadmin/phpmyadmin/libraries/stringNative.lib.php +0 -245
  1077. data/lib/support/phpmyadmin/phpmyadmin/libraries/structure.lib.php +0 -3294
  1078. data/lib/support/phpmyadmin/phpmyadmin/libraries/sysinfo.lib.php +0 -369
  1079. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_chart.lib.php +0 -383
  1080. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_columns_definition_form.inc.php +0 -195
  1081. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_columns_definition_form.lib.php +0 -1458
  1082. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_common.inc.php +0 -48
  1083. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_gis_visualization.lib.php +0 -281
  1084. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_indexes.lib.php +0 -480
  1085. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_info.inc.php +0 -108
  1086. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_printview.lib.php +0 -602
  1087. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_relation.lib.php +0 -1222
  1088. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_views.lib.php +0 -161
  1089. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/LICENSE.TXT +0 -858
  1090. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/README.TXT +0 -115
  1091. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/config/tcpdf_config.php +0 -227
  1092. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE +0 -99
  1093. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.ctg.z +0 -0
  1094. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.php +0 -16
  1095. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.z +0 -0
  1096. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.ctg.z +0 -0
  1097. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.php +0 -16
  1098. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.z +0 -0
  1099. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/helvetica.php +0 -13
  1100. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/sRGB.icc +0 -0
  1101. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_colors.php +0 -462
  1102. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_font_data.php +0 -18447
  1103. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_fonts.php +0 -2591
  1104. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_images.php +0 -355
  1105. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_static.php +0 -2528
  1106. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/tcpdf.php +0 -24478
  1107. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/tcpdf_autoconfig.php +0 -241
  1108. data/lib/support/phpmyadmin/phpmyadmin/libraries/tracking.lib.php +0 -1439
  1109. data/lib/support/phpmyadmin/phpmyadmin/libraries/transformations.lib.php +0 -461
  1110. data/lib/support/phpmyadmin/phpmyadmin/libraries/url_generating.lib.php +0 -256
  1111. data/lib/support/phpmyadmin/phpmyadmin/libraries/user_preferences.inc.php +0 -71
  1112. data/lib/support/phpmyadmin/phpmyadmin/libraries/user_preferences.lib.php +0 -301
  1113. data/lib/support/phpmyadmin/phpmyadmin/libraries/vendor_config.php +0 -93
  1114. data/lib/support/phpmyadmin/phpmyadmin/libraries/zip.lib.php +0 -211
  1115. data/lib/support/phpmyadmin/phpmyadmin/libraries/zip_extension.lib.php +0 -195
  1116. data/lib/support/phpmyadmin/phpmyadmin/license.php +0 -31
  1117. data/lib/support/phpmyadmin/phpmyadmin/locale/az/LC_MESSAGES/phpmyadmin.mo +0 -0
  1118. data/lib/support/phpmyadmin/phpmyadmin/locale/bg/LC_MESSAGES/phpmyadmin.mo +0 -0
  1119. data/lib/support/phpmyadmin/phpmyadmin/locale/bn/LC_MESSAGES/phpmyadmin.mo +0 -0
  1120. data/lib/support/phpmyadmin/phpmyadmin/locale/ca/LC_MESSAGES/phpmyadmin.mo +0 -0
  1121. data/lib/support/phpmyadmin/phpmyadmin/locale/cs/LC_MESSAGES/phpmyadmin.mo +0 -0
  1122. data/lib/support/phpmyadmin/phpmyadmin/locale/da/LC_MESSAGES/phpmyadmin.mo +0 -0
  1123. data/lib/support/phpmyadmin/phpmyadmin/locale/de/LC_MESSAGES/phpmyadmin.mo +0 -0
  1124. data/lib/support/phpmyadmin/phpmyadmin/locale/el/LC_MESSAGES/phpmyadmin.mo +0 -0
  1125. data/lib/support/phpmyadmin/phpmyadmin/locale/en_GB/LC_MESSAGES/phpmyadmin.mo +0 -0
  1126. data/lib/support/phpmyadmin/phpmyadmin/locale/es/LC_MESSAGES/phpmyadmin.mo +0 -0
  1127. data/lib/support/phpmyadmin/phpmyadmin/locale/et/LC_MESSAGES/phpmyadmin.mo +0 -0
  1128. data/lib/support/phpmyadmin/phpmyadmin/locale/fi/LC_MESSAGES/phpmyadmin.mo +0 -0
  1129. data/lib/support/phpmyadmin/phpmyadmin/locale/fr/LC_MESSAGES/phpmyadmin.mo +0 -0
  1130. data/lib/support/phpmyadmin/phpmyadmin/locale/gl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1131. data/lib/support/phpmyadmin/phpmyadmin/locale/hi/LC_MESSAGES/phpmyadmin.mo +0 -0
  1132. data/lib/support/phpmyadmin/phpmyadmin/locale/hu/LC_MESSAGES/phpmyadmin.mo +0 -0
  1133. data/lib/support/phpmyadmin/phpmyadmin/locale/ia/LC_MESSAGES/phpmyadmin.mo +0 -0
  1134. data/lib/support/phpmyadmin/phpmyadmin/locale/id/LC_MESSAGES/phpmyadmin.mo +0 -0
  1135. data/lib/support/phpmyadmin/phpmyadmin/locale/it/LC_MESSAGES/phpmyadmin.mo +0 -0
  1136. data/lib/support/phpmyadmin/phpmyadmin/locale/ja/LC_MESSAGES/phpmyadmin.mo +0 -0
  1137. data/lib/support/phpmyadmin/phpmyadmin/locale/ko/LC_MESSAGES/phpmyadmin.mo +0 -0
  1138. data/lib/support/phpmyadmin/phpmyadmin/locale/lt/LC_MESSAGES/phpmyadmin.mo +0 -0
  1139. data/lib/support/phpmyadmin/phpmyadmin/locale/nb/LC_MESSAGES/phpmyadmin.mo +0 -0
  1140. data/lib/support/phpmyadmin/phpmyadmin/locale/nl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1141. data/lib/support/phpmyadmin/phpmyadmin/locale/pl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1142. data/lib/support/phpmyadmin/phpmyadmin/locale/pt/LC_MESSAGES/phpmyadmin.mo +0 -0
  1143. data/lib/support/phpmyadmin/phpmyadmin/locale/pt_BR/LC_MESSAGES/phpmyadmin.mo +0 -0
  1144. data/lib/support/phpmyadmin/phpmyadmin/locale/ro/LC_MESSAGES/phpmyadmin.mo +0 -0
  1145. data/lib/support/phpmyadmin/phpmyadmin/locale/ru/LC_MESSAGES/phpmyadmin.mo +0 -0
  1146. data/lib/support/phpmyadmin/phpmyadmin/locale/si/LC_MESSAGES/phpmyadmin.mo +0 -0
  1147. data/lib/support/phpmyadmin/phpmyadmin/locale/sk/LC_MESSAGES/phpmyadmin.mo +0 -0
  1148. data/lib/support/phpmyadmin/phpmyadmin/locale/sl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1149. data/lib/support/phpmyadmin/phpmyadmin/locale/sq/LC_MESSAGES/phpmyadmin.mo +0 -0
  1150. data/lib/support/phpmyadmin/phpmyadmin/locale/sr@latin/LC_MESSAGES/phpmyadmin.mo +0 -0
  1151. data/lib/support/phpmyadmin/phpmyadmin/locale/sv/LC_MESSAGES/phpmyadmin.mo +0 -0
  1152. data/lib/support/phpmyadmin/phpmyadmin/locale/tr/LC_MESSAGES/phpmyadmin.mo +0 -0
  1153. data/lib/support/phpmyadmin/phpmyadmin/locale/uk/LC_MESSAGES/phpmyadmin.mo +0 -0
  1154. data/lib/support/phpmyadmin/phpmyadmin/locale/zh_CN/LC_MESSAGES/phpmyadmin.mo +0 -0
  1155. data/lib/support/phpmyadmin/phpmyadmin/locale/zh_TW/LC_MESSAGES/phpmyadmin.mo +0 -0
  1156. data/lib/support/phpmyadmin/phpmyadmin/navigation.php +0 -71
  1157. data/lib/support/phpmyadmin/phpmyadmin/normalization.php +0 -122
  1158. data/lib/support/phpmyadmin/phpmyadmin/phpinfo.php +0 -21
  1159. data/lib/support/phpmyadmin/phpmyadmin/phpmyadmin.css.php +0 -39
  1160. data/lib/support/phpmyadmin/phpmyadmin/phpunit.xml.hhvm +0 -30
  1161. data/lib/support/phpmyadmin/phpmyadmin/phpunit.xml.nocoverage +0 -40
  1162. data/lib/support/phpmyadmin/phpmyadmin/prefs_forms.php +0 -92
  1163. data/lib/support/phpmyadmin/phpmyadmin/prefs_manage.php +0 -375
  1164. data/lib/support/phpmyadmin/phpmyadmin/print.css +0 -92
  1165. data/lib/support/phpmyadmin/phpmyadmin/robots.txt +0 -2
  1166. data/lib/support/phpmyadmin/phpmyadmin/schema_export.php +0 -77
  1167. data/lib/support/phpmyadmin/phpmyadmin/server_binlog.php +0 -54
  1168. data/lib/support/phpmyadmin/phpmyadmin/server_collations.php +0 -39
  1169. data/lib/support/phpmyadmin/phpmyadmin/server_databases.php +0 -118
  1170. data/lib/support/phpmyadmin/phpmyadmin/server_engines.php +0 -34
  1171. data/lib/support/phpmyadmin/phpmyadmin/server_export.php +0 -29
  1172. data/lib/support/phpmyadmin/phpmyadmin/server_import.php +0 -27
  1173. data/lib/support/phpmyadmin/phpmyadmin/server_plugins.php +0 -59
  1174. data/lib/support/phpmyadmin/phpmyadmin/server_privileges.php +0 -410
  1175. data/lib/support/phpmyadmin/phpmyadmin/server_replication.php +0 -83
  1176. data/lib/support/phpmyadmin/phpmyadmin/server_sql.php +0 -32
  1177. data/lib/support/phpmyadmin/phpmyadmin/server_status.php +0 -38
  1178. data/lib/support/phpmyadmin/phpmyadmin/server_status_advisor.php +0 -39
  1179. data/lib/support/phpmyadmin/phpmyadmin/server_status_monitor.php +0 -113
  1180. data/lib/support/phpmyadmin/phpmyadmin/server_status_processes.php +0 -64
  1181. data/lib/support/phpmyadmin/phpmyadmin/server_status_queries.php +0 -54
  1182. data/lib/support/phpmyadmin/phpmyadmin/server_status_variables.php +0 -57
  1183. data/lib/support/phpmyadmin/phpmyadmin/server_user_groups.php +0 -72
  1184. data/lib/support/phpmyadmin/phpmyadmin/server_variables.php +0 -60
  1185. data/lib/support/phpmyadmin/phpmyadmin/setup/ajax.js +0 -11
  1186. data/lib/support/phpmyadmin/phpmyadmin/setup/config.php +0 -81
  1187. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/config.inc.php +0 -52
  1188. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/form.inc.php +0 -36
  1189. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/index.inc.php +0 -313
  1190. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/menu.inc.php +0 -37
  1191. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/servers.inc.php +0 -50
  1192. data/lib/support/phpmyadmin/phpmyadmin/setup/index.php +0 -61
  1193. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/ConfigGenerator.class.php +0 -161
  1194. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/common.inc.php +0 -56
  1195. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/form_processing.lib.php +0 -81
  1196. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/index.lib.php +0 -204
  1197. data/lib/support/phpmyadmin/phpmyadmin/setup/scripts.js +0 -216
  1198. data/lib/support/phpmyadmin/phpmyadmin/setup/styles.css +0 -619
  1199. data/lib/support/phpmyadmin/phpmyadmin/setup/validate.php +0 -32
  1200. data/lib/support/phpmyadmin/phpmyadmin/show_config_errors.php +0 -40
  1201. data/lib/support/phpmyadmin/phpmyadmin/sql/create_tables.sql +0 -323
  1202. data/lib/support/phpmyadmin/phpmyadmin/sql/create_tables_drizzle.sql +0 -275
  1203. data/lib/support/phpmyadmin/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql +0 -47
  1204. data/lib/support/phpmyadmin/phpmyadmin/sql/upgrade_tables_mysql_4_1_2+.sql +0 -144
  1205. data/lib/support/phpmyadmin/phpmyadmin/sql.php +0 -203
  1206. data/lib/support/phpmyadmin/phpmyadmin/tbl_addfield.php +0 -124
  1207. data/lib/support/phpmyadmin/phpmyadmin/tbl_change.php +0 -232
  1208. data/lib/support/phpmyadmin/phpmyadmin/tbl_chart.php +0 -142
  1209. data/lib/support/phpmyadmin/phpmyadmin/tbl_create.php +0 -108
  1210. data/lib/support/phpmyadmin/phpmyadmin/tbl_export.php +0 -107
  1211. data/lib/support/phpmyadmin/phpmyadmin/tbl_find_replace.php +0 -66
  1212. data/lib/support/phpmyadmin/phpmyadmin/tbl_get_field.php +0 -55
  1213. data/lib/support/phpmyadmin/phpmyadmin/tbl_gis_visualization.php +0 -115
  1214. data/lib/support/phpmyadmin/phpmyadmin/tbl_import.php +0 -30
  1215. data/lib/support/phpmyadmin/phpmyadmin/tbl_indexes.php +0 -60
  1216. data/lib/support/phpmyadmin/phpmyadmin/tbl_operations.php +0 -423
  1217. data/lib/support/phpmyadmin/phpmyadmin/tbl_printview.php +0 -74
  1218. data/lib/support/phpmyadmin/phpmyadmin/tbl_recent_favorite.php +0 -19
  1219. data/lib/support/phpmyadmin/phpmyadmin/tbl_relation.php +0 -156
  1220. data/lib/support/phpmyadmin/phpmyadmin/tbl_replace.php +0 -468
  1221. data/lib/support/phpmyadmin/phpmyadmin/tbl_row_action.php +0 -146
  1222. data/lib/support/phpmyadmin/phpmyadmin/tbl_select.php +0 -81
  1223. data/lib/support/phpmyadmin/phpmyadmin/tbl_sql.php +0 -52
  1224. data/lib/support/phpmyadmin/phpmyadmin/tbl_structure.php +0 -210
  1225. data/lib/support/phpmyadmin/phpmyadmin/tbl_tracking.php +0 -209
  1226. data/lib/support/phpmyadmin/phpmyadmin/tbl_triggers.php +0 -10
  1227. data/lib/support/phpmyadmin/phpmyadmin/tbl_zoom_select.php +0 -165
  1228. data/lib/support/phpmyadmin/phpmyadmin/themes/dot.gif +0 -0
  1229. data/lib/support/phpmyadmin/phpmyadmin/themes/original/css/common.css.php +0 -3078
  1230. data/lib/support/phpmyadmin/phpmyadmin/themes/original/css/navigation.css.php +0 -424
  1231. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/ajax_clock_small.gif +0 -0
  1232. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/arrow_ltr.png +0 -0
  1233. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/arrow_rtl.png +0 -0
  1234. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_bookmark.png +0 -0
  1235. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_browse.png +0 -0
  1236. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_calendar.png +0 -0
  1237. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_chart.png +0 -0
  1238. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_close.png +0 -0
  1239. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_column_add.png +0 -0
  1240. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_comment.png +0 -0
  1241. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_dbstatistics.png +0 -0
  1242. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_deltbl.png +0 -0
  1243. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_docs.png +0 -0
  1244. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_drop.png +0 -0
  1245. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_edit.png +0 -0
  1246. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_empty.png +0 -0
  1247. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_engine.png +0 -0
  1248. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_event_add.png +0 -0
  1249. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_events.png +0 -0
  1250. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_export.png +0 -0
  1251. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_favorite.png +0 -0
  1252. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_find_replace.png +0 -0
  1253. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_ftext.png +0 -0
  1254. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_globe.gif +0 -0
  1255. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_group.png +0 -0
  1256. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_help.png +0 -0
  1257. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_home.png +0 -0
  1258. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_import.png +0 -0
  1259. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_index.png +0 -0
  1260. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_index_add.png +0 -0
  1261. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_info.png +0 -0
  1262. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_inline_edit.png +0 -0
  1263. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_insrow.png +0 -0
  1264. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_minus.png +0 -0
  1265. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_more.png +0 -0
  1266. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_move.png +0 -0
  1267. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_newdb.png +0 -0
  1268. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_newtbl.png +0 -0
  1269. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_nextpage.png +0 -0
  1270. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_no_favorite.png +0 -0
  1271. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_plus.png +0 -0
  1272. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_primary.png +0 -0
  1273. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_print.png +0 -0
  1274. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_props.png +0 -0
  1275. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_relations.png +0 -0
  1276. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_report.png +0 -0
  1277. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_routine_add.png +0 -0
  1278. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_routines.png +0 -0
  1279. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_save.png +0 -0
  1280. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_saveimage.png +0 -0
  1281. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sbrowse.png +0 -0
  1282. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_search.png +0 -0
  1283. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_selboard.png +0 -0
  1284. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_select.png +0 -0
  1285. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_snewtbl.png +0 -0
  1286. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_spatial.png +0 -0
  1287. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sql.png +0 -0
  1288. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sqlhelp.png +0 -0
  1289. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_table_add.png +0 -0
  1290. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblanalyse.png +0 -0
  1291. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblexport.png +0 -0
  1292. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblimport.png +0 -0
  1293. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblops.png +0 -0
  1294. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tbloptimize.png +0 -0
  1295. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tipp.png +0 -0
  1296. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_trigger_add.png +0 -0
  1297. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_triggers.png +0 -0
  1298. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_undo.png +0 -0
  1299. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_unique.png +0 -0
  1300. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usradd.png +0 -0
  1301. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrcheck.png +0 -0
  1302. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrdrop.png +0 -0
  1303. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usredit.png +0 -0
  1304. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrlist.png +0 -0
  1305. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_versions.png +0 -0
  1306. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_view.png +0 -0
  1307. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_view_add.png +0 -0
  1308. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_views.png +0 -0
  1309. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_browse.png +0 -0
  1310. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_deltbl.png +0 -0
  1311. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_drop.png +0 -0
  1312. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_edit.png +0 -0
  1313. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_empty.png +0 -0
  1314. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_export.png +0 -0
  1315. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_ftext.png +0 -0
  1316. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_index.png +0 -0
  1317. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_insrow.png +0 -0
  1318. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_nextpage.png +0 -0
  1319. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_primary.png +0 -0
  1320. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_routine_add.png +0 -0
  1321. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_sbrowse.png +0 -0
  1322. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_select.png +0 -0
  1323. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_spatial.png +0 -0
  1324. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_unique.png +0 -0
  1325. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns.png +0 -0
  1326. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns_add.png +0 -0
  1327. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns_delete.png +0 -0
  1328. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/cleardot.gif +0 -0
  1329. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_drop.png +0 -0
  1330. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_pointer.png +0 -0
  1331. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_pointer_ver.png +0 -0
  1332. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/console.png +0 -0
  1333. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/east-mini.png +0 -0
  1334. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/error.ico +0 -0
  1335. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/eye.png +0 -0
  1336. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/eye_grey.png +0 -0
  1337. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/lightbulb.png +0 -0
  1338. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/lightbulb_off.png +0 -0
  1339. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/logo_left.png +0 -0
  1340. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/logo_right.png +0 -0
  1341. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/more.png +0 -0
  1342. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data.png +0 -0
  1343. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_hovered.png +0 -0
  1344. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_selected.png +0 -0
  1345. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_selected_hovered.png +0 -0
  1346. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct.png +0 -0
  1347. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_hovered.png +0 -0
  1348. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_selected.png +0 -0
  1349. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_selected_hovered.png +0 -0
  1350. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/normalize.png +0 -0
  1351. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/north-mini.png +0 -0
  1352. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/pause.png +0 -0
  1353. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/play.png +0 -0
  1354. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_asc.png +0 -0
  1355. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_asci.png +0 -0
  1356. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_attention.png +0 -0
  1357. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_cancel.png +0 -0
  1358. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_cog.png +0 -0
  1359. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_collapseall.png +0 -0
  1360. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_db.png +0 -0
  1361. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_desc.png +0 -0
  1362. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_error.png +0 -0
  1363. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_error2.png +0 -0
  1364. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_fulltext.png +0 -0
  1365. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_host.png +0 -0
  1366. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_info.png +0 -0
  1367. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_lang.png +0 -0
  1368. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_link.png +0 -0
  1369. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_lock.png +0 -0
  1370. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_loggoff.png +0 -0
  1371. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_notice.png +0 -0
  1372. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_partialtext.png +0 -0
  1373. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_passwd.png +0 -0
  1374. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_really.png +0 -0
  1375. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_reload.png +0 -0
  1376. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_replication.png +0 -0
  1377. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_rights.png +0 -0
  1378. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_sortable.png +0 -0
  1379. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_status.png +0 -0
  1380. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_success.png +0 -0
  1381. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_sync.png +0 -0
  1382. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_tbl.png +0 -0
  1383. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_theme.png +0 -0
  1384. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_top.png +0 -0
  1385. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_unlink.png +0 -0
  1386. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_vars.png +0 -0
  1387. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_views.png +0 -0
  1388. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/south-mini.png +0 -0
  1389. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/spacer.png +0 -0
  1390. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/sprites.png +0 -0
  1391. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/toggle-ltr.png +0 -0
  1392. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/toggle-rtl.png +0 -0
  1393. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/vertical_line.png +0 -0
  1394. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/west-mini.png +0 -0
  1395. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/window-new.png +0 -0
  1396. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-minus-mini.png +0 -0
  1397. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-plus-mini.png +0 -0
  1398. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-world-mini.png +0 -0
  1399. data/lib/support/phpmyadmin/phpmyadmin/themes/original/info.inc.php +0 -15
  1400. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1401. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1402. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1403. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1404. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1405. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1406. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1407. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1408. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_222222_256x240.png +0 -0
  1409. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  1410. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_454545_256x240.png +0 -0
  1411. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_888888_256x240.png +0 -0
  1412. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  1413. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/jquery-ui-1.11.2.css +0 -1225
  1414. data/lib/support/phpmyadmin/phpmyadmin/themes/original/layout.inc.php +0 -102
  1415. data/lib/support/phpmyadmin/phpmyadmin/themes/original/screen.png +0 -0
  1416. data/lib/support/phpmyadmin/phpmyadmin/themes/original/sprites.lib.php +0 -720
  1417. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/codemirror.css.php +0 -350
  1418. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/common.css.php +0 -3401
  1419. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/enum_editor.css.php +0 -80
  1420. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/gis.css.php +0 -52
  1421. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/jqplot.css.php +0 -277
  1422. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/navigation.css.php +0 -429
  1423. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/pmd.css.php +0 -605
  1424. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/resizable-menu.css.php +0 -57
  1425. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/rte.css.php +0 -43
  1426. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/ajax_clock_small.gif +0 -0
  1427. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/arrow_ltr.png +0 -0
  1428. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/arrow_rtl.png +0 -0
  1429. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/asc_order.png +0 -0
  1430. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_bookmark.png +0 -0
  1431. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_browse.png +0 -0
  1432. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_calendar.png +0 -0
  1433. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_chart.png +0 -0
  1434. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_close.png +0 -0
  1435. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_column_add.png +0 -0
  1436. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_comment.png +0 -0
  1437. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_dbstatistics.png +0 -0
  1438. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_deltbl.png +0 -0
  1439. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_docs.png +0 -0
  1440. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_docsql.png +0 -0
  1441. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_drop.png +0 -0
  1442. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_edit.png +0 -0
  1443. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_empty.png +0 -0
  1444. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_engine.png +0 -0
  1445. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_event_add.png +0 -0
  1446. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_events.png +0 -0
  1447. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_export.png +0 -0
  1448. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_favorite.png +0 -0
  1449. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_find_replace.png +0 -0
  1450. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_firstpage.png +0 -0
  1451. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_ftext.png +0 -0
  1452. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_globe.gif +0 -0
  1453. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_group.png +0 -0
  1454. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_help.png +0 -0
  1455. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_home.png +0 -0
  1456. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_import.png +0 -0
  1457. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_index.png +0 -0
  1458. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_index_add.png +0 -0
  1459. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_info.png +0 -0
  1460. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_inline_edit.png +0 -0
  1461. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_insrow.png +0 -0
  1462. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_lastpage.png +0 -0
  1463. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_minus.png +0 -0
  1464. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_more.png +0 -0
  1465. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_move.png +0 -0
  1466. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_newdb.png +0 -0
  1467. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_newtbl.png +0 -0
  1468. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_nextpage.png +0 -0
  1469. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_no_favorite.png +0 -0
  1470. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_pdfdoc.png +0 -0
  1471. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_plus.png +0 -0
  1472. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_prevpage.png +0 -0
  1473. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_primary.png +0 -0
  1474. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_print.png +0 -0
  1475. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_props.png +0 -0
  1476. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_relations.png +0 -0
  1477. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_report.png +0 -0
  1478. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_routine_add.png +0 -0
  1479. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_routines.png +0 -0
  1480. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_save.png +0 -0
  1481. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_saveimage.png +0 -0
  1482. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sbrowse.png +0 -0
  1483. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sdb.png +0 -0
  1484. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_search.png +0 -0
  1485. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_selboard.png +0 -0
  1486. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_select.png +0 -0
  1487. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_snewtbl.png +0 -0
  1488. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_spatial.png +0 -0
  1489. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sql.png +0 -0
  1490. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sqldoc.png +0 -0
  1491. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sqlhelp.png +0 -0
  1492. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_table_add.png +0 -0
  1493. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblanalyse.png +0 -0
  1494. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblexport.png +0 -0
  1495. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblimport.png +0 -0
  1496. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblops.png +0 -0
  1497. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tbloptimize.png +0 -0
  1498. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tipp.png +0 -0
  1499. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_trigger_add.png +0 -0
  1500. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_triggers.png +0 -0
  1501. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_undo.png +0 -0
  1502. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_unique.png +0 -0
  1503. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usradd.png +0 -0
  1504. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrcheck.png +0 -0
  1505. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrdrop.png +0 -0
  1506. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usredit.png +0 -0
  1507. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrlist.png +0 -0
  1508. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_versions.png +0 -0
  1509. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_view.png +0 -0
  1510. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_view_add.png +0 -0
  1511. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_views.png +0 -0
  1512. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_browse.png +0 -0
  1513. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_deltbl.png +0 -0
  1514. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_drop.png +0 -0
  1515. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_edit.png +0 -0
  1516. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_empty.png +0 -0
  1517. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_export.png +0 -0
  1518. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_firstpage.png +0 -0
  1519. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_ftext.png +0 -0
  1520. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_index.png +0 -0
  1521. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_insrow.png +0 -0
  1522. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_lastpage.png +0 -0
  1523. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_nextpage.png +0 -0
  1524. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_prevpage.png +0 -0
  1525. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_primary.png +0 -0
  1526. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_routine_add.png +0 -0
  1527. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_sbrowse.png +0 -0
  1528. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_select.png +0 -0
  1529. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_spatial.png +0 -0
  1530. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_unique.png +0 -0
  1531. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns.png +0 -0
  1532. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns_add.png +0 -0
  1533. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns_delete.png +0 -0
  1534. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_drop.png +0 -0
  1535. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_pointer.png +0 -0
  1536. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_pointer_ver.png +0 -0
  1537. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/console.png +0 -0
  1538. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/database.png +0 -0
  1539. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/east-mini.png +0 -0
  1540. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/error.ico +0 -0
  1541. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/eye.png +0 -0
  1542. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/eye_grey.png +0 -0
  1543. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/item.png +0 -0
  1544. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/left_nav_bg.png +0 -0
  1545. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/lightbulb.png +0 -0
  1546. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/lightbulb_off.png +0 -0
  1547. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/logo_left.png +0 -0
  1548. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/logo_right.png +0 -0
  1549. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/more.png +0 -0
  1550. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data.png +0 -0
  1551. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_hovered.png +0 -0
  1552. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_selected.png +0 -0
  1553. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_selected_hovered.png +0 -0
  1554. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct.png +0 -0
  1555. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_hovered.png +0 -0
  1556. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_selected.png +0 -0
  1557. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_selected_hovered.png +0 -0
  1558. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/normalize.png +0 -0
  1559. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/north-mini.png +0 -0
  1560. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pause.png +0 -0
  1561. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/php_sym.png +0 -0
  1562. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/play.png +0 -0
  1563. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pma_logo2.png +0 -0
  1564. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/1.png +0 -0
  1565. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2.png +0 -0
  1566. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2leftarrow.png +0 -0
  1567. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2leftarrow_m.png +0 -0
  1568. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2rightarrow.png +0 -0
  1569. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2rightarrow_m.png +0 -0
  1570. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/3.png +0 -0
  1571. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/4.png +0 -0
  1572. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/5.png +0 -0
  1573. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/6.png +0 -0
  1574. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/7.png +0 -0
  1575. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/8.png +0 -0
  1576. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/FieldKey_small.png +0 -0
  1577. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small.png +0 -0
  1578. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_char.png +0 -0
  1579. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_date.png +0 -0
  1580. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_int.png +0 -0
  1581. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Header.png +0 -0
  1582. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Header_Linked.png +0 -0
  1583. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/anchor.png +0 -0
  1584. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/and_icon.png +0 -0
  1585. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/ang_direct.png +0 -0
  1586. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/bord.png +0 -0
  1587. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/bottom.png +0 -0
  1588. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/def.png +0 -0
  1589. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/display_field.png +0 -0
  1590. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow1.png +0 -0
  1591. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow2.png +0 -0
  1592. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow2_m.png +0 -0
  1593. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exec.png +0 -0
  1594. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exec_small.png +0 -0
  1595. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exitFullscreen.png +0 -0
  1596. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/export.png +0 -0
  1597. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/favicon.ico +0 -0
  1598. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/grid.png +0 -0
  1599. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/help.png +0 -0
  1600. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/help_relation.png +0 -0
  1601. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/left_panel_butt.png +0 -0
  1602. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/left_panel_tab.png +0 -0
  1603. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/minus.png +0 -0
  1604. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/or_icon.png +0 -0
  1605. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_add.png +0 -0
  1606. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_delete.png +0 -0
  1607. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_edit.png +0 -0
  1608. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/pdf.png +0 -0
  1609. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/plus.png +0 -0
  1610. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/query_builder.png +0 -0
  1611. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/relation.png +0 -0
  1612. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/reload.png +0 -0
  1613. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/resize.png +0 -0
  1614. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/resizeright.png +0 -0
  1615. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/rightarrow1.png +0 -0
  1616. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/rightarrow2.png +0 -0
  1617. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/save.png +0 -0
  1618. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/save_as.png +0 -0
  1619. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/small_tab.png +0 -0
  1620. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/table.png +0 -0
  1621. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/toggle_lines.png +0 -0
  1622. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/top_panel.png +0 -0
  1623. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/uparrow2_m.png +0 -0
  1624. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/viewInFullscreen.png +0 -0
  1625. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_asc.png +0 -0
  1626. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_asci.png +0 -0
  1627. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_attention.png +0 -0
  1628. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cancel.png +0 -0
  1629. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cancel2.png +0 -0
  1630. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cog.png +0 -0
  1631. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_collapseall.png +0 -0
  1632. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_db.png +0 -0
  1633. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_desc.png +0 -0
  1634. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_error.png +0 -0
  1635. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_error2.png +0 -0
  1636. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_fulltext.png +0 -0
  1637. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_host.png +0 -0
  1638. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_info.png +0 -0
  1639. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_lang.png +0 -0
  1640. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_link.png +0 -0
  1641. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_lock.png +0 -0
  1642. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_loggoff.png +0 -0
  1643. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_notice.png +0 -0
  1644. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_okay.png +0 -0
  1645. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_partialtext.png +0 -0
  1646. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_passwd.png +0 -0
  1647. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_process.png +0 -0
  1648. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_really.png +0 -0
  1649. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_reload.png +0 -0
  1650. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_replication.png +0 -0
  1651. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_rights.png +0 -0
  1652. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_sortable.png +0 -0
  1653. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_status.png +0 -0
  1654. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_success.png +0 -0
  1655. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_sync.png +0 -0
  1656. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_tbl.png +0 -0
  1657. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_theme.png +0 -0
  1658. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_top.png +0 -0
  1659. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_unlink.png +0 -0
  1660. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_vars.png +0 -0
  1661. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_views.png +0 -0
  1662. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/select_bg.png +0 -0
  1663. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/south-mini.png +0 -0
  1664. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/spacer.png +0 -0
  1665. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/sprites.png +0 -0
  1666. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/toggle-ltr.png +0 -0
  1667. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/toggle-rtl.png +0 -0
  1668. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/vertical_line.png +0 -0
  1669. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/west-mini.png +0 -0
  1670. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/window-new.png +0 -0
  1671. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-minus-mini.png +0 -0
  1672. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-plus-mini.png +0 -0
  1673. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-world-mini.png +0 -0
  1674. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/info.inc.php +0 -21
  1675. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1676. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1677. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1678. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1679. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1680. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1681. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1682. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1683. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_222222_256x240.png +0 -0
  1684. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  1685. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_454545_256x240.png +0 -0
  1686. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_888888_256x240.png +0 -0
  1687. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  1688. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/jquery-ui-1.11.2.css +0 -1225
  1689. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/layout.inc.php +0 -104
  1690. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/screen.png +0 -0
  1691. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/sprites.lib.php +0 -805
  1692. data/lib/support/phpmyadmin/phpmyadmin/themes/sprites.css.php +0 -60
  1693. data/lib/support/phpmyadmin/phpmyadmin/themes/svg_gradient.php +0 -53
  1694. data/lib/support/phpmyadmin/phpmyadmin/themes.php +0 -32
  1695. data/lib/support/phpmyadmin/phpmyadmin/transformation_overview.php +0 -74
  1696. data/lib/support/phpmyadmin/phpmyadmin/transformation_wrapper.php +0 -148
  1697. data/lib/support/phpmyadmin/phpmyadmin/url.php +0 -38
  1698. data/lib/support/phpmyadmin/phpmyadmin/user_password.php +0 -200
  1699. data/lib/support/phpmyadmin/phpmyadmin/version_check.php +0 -30
  1700. data/lib/support/phpmyadmin/phpmyadmin/view_create.php +0 -291
  1701. data/lib/support/phpmyadmin/phpmyadmin/view_operations.php +0 -139
  1702. data/lib/support/phpmyadmin/phpmyadmin/webapp.php +0 -55
@@ -1,4602 +0,0 @@
1
- <?php
2
- /* vim: set expandtab sw=4 ts=4 sts=4: */
3
- /**
4
- * Hold the PMA_Util class
5
- *
6
- * @package PhpMyAdmin
7
- */
8
- if (! defined('PHPMYADMIN')) {
9
- exit;
10
- }
11
-
12
- /**
13
- * Misc functions used all over the scripts.
14
- *
15
- * @package PhpMyAdmin
16
- */
17
- class PMA_Util
18
- {
19
-
20
- /**
21
- * Detects which function to use for pow.
22
- *
23
- * @return string Function name.
24
- */
25
- public static function detectPow()
26
- {
27
- if (function_exists('bcpow')) {
28
- // BCMath Arbitrary Precision Mathematics Function
29
- return 'bcpow';
30
- } elseif (function_exists('gmp_pow')) {
31
- // GMP Function
32
- return 'gmp_pow';
33
- } else {
34
- // PHP function
35
- return 'pow';
36
- }
37
- }
38
-
39
- /**
40
- * Exponential expression / raise number into power
41
- *
42
- * @param string $base base to raise
43
- * @param string $exp exponent to use
44
- * @param string $use_function pow function to use, or false for auto-detect
45
- *
46
- * @return mixed string or float
47
- */
48
- public static function pow($base, $exp, $use_function = '')
49
- {
50
- static $pow_function = null;
51
-
52
- if ($pow_function == null) {
53
- $pow_function = self::detectPow();
54
- }
55
-
56
- if (! $use_function) {
57
- if ($exp < 0) {
58
- $use_function = 'pow';
59
- } else {
60
- $use_function = $pow_function;
61
- }
62
- }
63
-
64
- if (($exp < 0) && ($use_function != 'pow')) {
65
- return false;
66
- }
67
-
68
- switch ($use_function) {
69
- case 'bcpow' :
70
- // bcscale() needed for testing pow() with base values < 1
71
- bcscale(10);
72
- $pow = bcpow($base, $exp);
73
- break;
74
- case 'gmp_pow' :
75
- $pow = gmp_strval(gmp_pow($base, $exp));
76
- break;
77
- case 'pow' :
78
- $base = (float) $base;
79
- $exp = (int) $exp;
80
- $pow = pow($base, $exp);
81
- break;
82
- default:
83
- $pow = $use_function($base, $exp);
84
- }
85
-
86
- return $pow;
87
- }
88
-
89
- /**
90
- * Checks whether configuration value tells to show icons.
91
- *
92
- * @param string $value Configuration option name
93
- *
94
- * @return boolean Whether to show icons.
95
- */
96
- public static function showIcons($value)
97
- {
98
- return in_array($GLOBALS['cfg'][$value], array('icons', 'both'));
99
- }
100
-
101
- /**
102
- * Checks whether configuration value tells to show text.
103
- *
104
- * @param string $value Configuration option name
105
- *
106
- * @return boolean Whether to show text.
107
- */
108
- public static function showText($value)
109
- {
110
- return in_array($GLOBALS['cfg'][$value], array('text', 'both'));
111
- }
112
-
113
- /**
114
- * Returns an HTML IMG tag for a particular icon from a theme,
115
- * which may be an actual file or an icon from a sprite.
116
- * This function takes into account the ActionLinksMode
117
- * configuration setting and wraps the image tag in a span tag.
118
- *
119
- * @param string $icon name of icon file
120
- * @param string $alternate alternate text
121
- * @param boolean $force_text whether to force alternate text to be displayed
122
- * @param boolean $menu_icon whether this icon is for the menu bar or not
123
- * @param string $control_param which directive controls the display
124
- *
125
- * @return string an html snippet
126
- */
127
- public static function getIcon(
128
- $icon, $alternate = '', $force_text = false,
129
- $menu_icon = false, $control_param = 'ActionLinksMode'
130
- ) {
131
- $include_icon = $include_text = false;
132
- if (self::showIcons($control_param)) {
133
- $include_icon = true;
134
- }
135
- if ($force_text
136
- || self::showText($control_param)
137
- ) {
138
- $include_text = true;
139
- }
140
- // Sometimes use a span (we rely on this in js/sql.js). But for menu bar
141
- // we don't need a span
142
- $button = $menu_icon ? '' : '<span class="nowrap">';
143
- if ($include_icon) {
144
- $button .= self::getImage($icon, $alternate);
145
- }
146
- if ($include_icon && $include_text) {
147
- $button .= ' ';
148
- }
149
- if ($include_text) {
150
- $button .= $alternate;
151
- }
152
- $button .= $menu_icon ? '' : '</span>';
153
-
154
- return $button;
155
- }
156
-
157
- /**
158
- * Returns an HTML IMG tag for a particular image from a theme,
159
- * which may be an actual file or an icon from a sprite
160
- *
161
- * @param string $image The name of the file to get
162
- * @param string $alternate Used to set 'alt' and 'title' attributes
163
- * of the image
164
- * @param array $attributes An associative array of other attributes
165
- *
166
- * @return string an html IMG tag
167
- */
168
- public static function getImage($image, $alternate = '', $attributes = array())
169
- {
170
- static $sprites; // cached list of available sprites (if any)
171
- if (defined('TESTSUITE')) {
172
- // prevent caching in testsuite
173
- unset($sprites);
174
- }
175
-
176
- $is_sprite = false;
177
- $alternate = htmlspecialchars($alternate);
178
-
179
- // If it's the first time this function is called
180
- if (! isset($sprites)) {
181
- // Try to load the list of sprites
182
- $sprite_file = $_SESSION['PMA_Theme']->getPath() . '/sprites.lib.php';
183
- if (is_readable($sprite_file)) {
184
- include_once $sprite_file;
185
- $sprites = PMA_sprites();
186
- } else {
187
- // No sprites are available for this theme
188
- $sprites = array();
189
- }
190
- }
191
-
192
- // Check if we have the requested image as a sprite
193
- // and set $url accordingly
194
- $class = str_replace(array('.gif','.png'), '', $image);
195
- if (array_key_exists($class, $sprites)) {
196
- $is_sprite = true;
197
- $url = (defined('PMA_TEST_THEME') ? '../' : '') . 'themes/dot.gif';
198
- } else {
199
- $url = $GLOBALS['pmaThemeImage'] . $image;
200
- }
201
-
202
- // set class attribute
203
- if ($is_sprite) {
204
- if (isset($attributes['class'])) {
205
- $attributes['class'] = "icon ic_$class " . $attributes['class'];
206
- } else {
207
- $attributes['class'] = "icon ic_$class";
208
- }
209
- }
210
-
211
- // set all other attributes
212
- $attr_str = '';
213
- foreach ($attributes as $key => $value) {
214
- if (! in_array($key, array('alt', 'title'))) {
215
- $attr_str .= " $key=\"$value\"";
216
- }
217
- }
218
-
219
- // override the alt attribute
220
- if (isset($attributes['alt'])) {
221
- $alt = $attributes['alt'];
222
- } else {
223
- $alt = $alternate;
224
- }
225
-
226
- // override the title attribute
227
- if (isset($attributes['title'])) {
228
- $title = $attributes['title'];
229
- } else {
230
- $title = $alternate;
231
- }
232
-
233
- // generate the IMG tag
234
- $template = '<img src="%s" title="%s" alt="%s"%s />';
235
- $retval = sprintf($template, $url, $title, $alt, $attr_str);
236
-
237
- return $retval;
238
- }
239
-
240
- /**
241
- * Returns the formatted maximum size for an upload
242
- *
243
- * @param integer $max_upload_size the size
244
- *
245
- * @return string the message
246
- *
247
- * @access public
248
- */
249
- public static function getFormattedMaximumUploadSize($max_upload_size)
250
- {
251
- // I have to reduce the second parameter (sensitiveness) from 6 to 4
252
- // to avoid weird results like 512 kKib
253
- list($max_size, $max_unit) = self::formatByteDown($max_upload_size, 4);
254
- return '(' . sprintf(__('Max: %s%s'), $max_size, $max_unit) . ')';
255
- }
256
-
257
- /**
258
- * Generates a hidden field which should indicate to the browser
259
- * the maximum size for upload
260
- *
261
- * @param integer $max_size the size
262
- *
263
- * @return string the INPUT field
264
- *
265
- * @access public
266
- */
267
- public static function generateHiddenMaxFileSize($max_size)
268
- {
269
- return '<input type="hidden" name="MAX_FILE_SIZE" value="'
270
- . $max_size . '" />';
271
- }
272
-
273
- /**
274
- * Add slashes before "'" and "\" characters so a value containing them can
275
- * be used in a sql comparison.
276
- *
277
- * @param string $a_string the string to slash
278
- * @param bool $is_like whether the string will be used in a 'LIKE' clause
279
- * (it then requires two more escaped sequences) or not
280
- * @param bool $crlf whether to treat cr/lfs as escape-worthy entities
281
- * (converts \n to \\n, \r to \\r)
282
- * @param bool $php_code whether this function is used as part of the
283
- * "Create PHP code" dialog
284
- *
285
- * @return string the slashed string
286
- *
287
- * @access public
288
- */
289
- public static function sqlAddSlashes(
290
- $a_string = '', $is_like = false, $crlf = false, $php_code = false
291
- ) {
292
- if ($is_like) {
293
- $a_string = str_replace('\\', '\\\\\\\\', $a_string);
294
- } else {
295
- $a_string = str_replace('\\', '\\\\', $a_string);
296
- }
297
-
298
- if ($crlf) {
299
- $a_string = strtr(
300
- $a_string,
301
- array("\n" => '\n', "\r" => '\r', "\t" => '\t')
302
- );
303
- }
304
-
305
- if ($php_code) {
306
- $a_string = str_replace('\'', '\\\'', $a_string);
307
- } else {
308
- $a_string = str_replace('\'', '\'\'', $a_string);
309
- }
310
-
311
- return $a_string;
312
- } // end of the 'sqlAddSlashes()' function
313
-
314
- /**
315
- * Add slashes before "_" and "%" characters for using them in MySQL
316
- * database, table and field names.
317
- * Note: This function does not escape backslashes!
318
- *
319
- * @param string $name the string to escape
320
- *
321
- * @return string the escaped string
322
- *
323
- * @access public
324
- */
325
- public static function escapeMysqlWildcards($name)
326
- {
327
- return strtr($name, array('_' => '\\_', '%' => '\\%'));
328
- } // end of the 'escapeMysqlWildcards()' function
329
-
330
- /**
331
- * removes slashes before "_" and "%" characters
332
- * Note: This function does not unescape backslashes!
333
- *
334
- * @param string $name the string to escape
335
- *
336
- * @return string the escaped string
337
- *
338
- * @access public
339
- */
340
- public static function unescapeMysqlWildcards($name)
341
- {
342
- return strtr($name, array('\\_' => '_', '\\%' => '%'));
343
- } // end of the 'unescapeMysqlWildcards()' function
344
-
345
- /**
346
- * removes quotes (',",`) from a quoted string
347
- *
348
- * checks if the string is quoted and removes this quotes
349
- *
350
- * @param string $quoted_string string to remove quotes from
351
- * @param string $quote type of quote to remove
352
- *
353
- * @return string unqoted string
354
- */
355
- public static function unQuote($quoted_string, $quote = null)
356
- {
357
- $quotes = array();
358
-
359
- if ($quote === null) {
360
- $quotes[] = '`';
361
- $quotes[] = '"';
362
- $quotes[] = "'";
363
- } else {
364
- $quotes[] = $quote;
365
- }
366
-
367
- foreach ($quotes as $quote) {
368
- if (/*overload*/mb_substr($quoted_string, 0, 1) === $quote
369
- && /*overload*/mb_substr($quoted_string, -1, 1) === $quote
370
- ) {
371
- $unquoted_string = /*overload*/mb_substr($quoted_string, 1, -1);
372
- // replace escaped quotes
373
- $unquoted_string = str_replace(
374
- $quote . $quote,
375
- $quote,
376
- $unquoted_string
377
- );
378
- return $unquoted_string;
379
- }
380
- }
381
-
382
- return $quoted_string;
383
- }
384
-
385
- /**
386
- * format sql strings
387
- *
388
- * @param string $sqlQuery raw SQL string
389
- * @param boolean $truncate truncate the query if it is too long
390
- *
391
- * @return string the formatted sql
392
- *
393
- * @global array $cfg the configuration array
394
- *
395
- * @access public
396
- * @todo move into PMA_Sql
397
- */
398
- public static function formatSql($sqlQuery, $truncate = false)
399
- {
400
- global $cfg;
401
-
402
- if ($truncate
403
- && /*overload*/mb_strlen($sqlQuery) > $cfg['MaxCharactersInDisplayedSQL']
404
- ) {
405
- $sqlQuery = /*overload*/mb_substr(
406
- $sqlQuery,
407
- 0,
408
- $cfg['MaxCharactersInDisplayedSQL']
409
- ) . '[...]';
410
- }
411
- return '<code class="sql"><pre>' . "\n"
412
- . htmlspecialchars($sqlQuery) . "\n"
413
- . '</pre></code>';
414
- } // end of the "formatSql()" function
415
-
416
- /**
417
- * Displays a link to the documentation as an icon
418
- *
419
- * @param string $link documentation link
420
- * @param string $target optional link target
421
- *
422
- * @return string the html link
423
- *
424
- * @access public
425
- */
426
- public static function showDocLink($link, $target = 'documentation')
427
- {
428
- return '<a href="' . $link . '" target="' . $target . '">'
429
- . self::getImage('b_help.png', __('Documentation'))
430
- . '</a>';
431
- } // end of the 'showDocLink()' function
432
-
433
- /**
434
- * Get a URL link to the official MySQL documentation
435
- *
436
- * @param string $link contains name of page/anchor that is being linked
437
- * @param string $anchor anchor to page part
438
- *
439
- * @return string the URL link
440
- *
441
- * @access public
442
- */
443
- public static function getMySQLDocuURL($link, $anchor = '')
444
- {
445
- // Fixup for newly used names:
446
- $link = str_replace('_', '-', /*overload*/mb_strtolower($link));
447
-
448
- if (empty($link)) {
449
- $link = 'index';
450
- }
451
- $mysql = '5.5';
452
- $lang = 'en';
453
- if (defined('PMA_MYSQL_INT_VERSION')) {
454
- if (PMA_MYSQL_INT_VERSION >= 50600) {
455
- $mysql = '5.6';
456
- } else if (PMA_MYSQL_INT_VERSION >= 50500) {
457
- $mysql = '5.5';
458
- }
459
- }
460
- $url = 'http://dev.mysql.com/doc/refman/'
461
- . $mysql . '/' . $lang . '/' . $link . '.html';
462
- if (! empty($anchor)) {
463
- $url .= '#' . $anchor;
464
- }
465
-
466
- return PMA_linkURL($url);
467
- }
468
-
469
- /**
470
- * Displays a link to the official MySQL documentation
471
- *
472
- * @param string $link contains name of page/anchor that is being linked
473
- * @param bool $big_icon whether to use big icon (like in left frame)
474
- * @param string $anchor anchor to page part
475
- * @param bool $just_open whether only the opening <a> tag should be returned
476
- *
477
- * @return string the html link
478
- *
479
- * @access public
480
- */
481
- public static function showMySQLDocu(
482
- $link, $big_icon = false, $anchor = '', $just_open = false
483
- ) {
484
- $url = self::getMySQLDocuURL($link, $anchor);
485
- $open_link = '<a href="' . $url . '" target="mysql_doc">';
486
- if ($just_open) {
487
- return $open_link;
488
- } elseif ($big_icon) {
489
- return $open_link
490
- . self::getImage('b_sqlhelp.png', __('Documentation')) . '</a>';
491
- } else {
492
- return self::showDocLink($url, 'mysql_doc');
493
- }
494
- } // end of the 'showMySQLDocu()' function
495
-
496
- /**
497
- * Returns link to documentation.
498
- *
499
- * @param string $page Page in documentation
500
- * @param string $anchor Optional anchor in page
501
- *
502
- * @return string URL
503
- */
504
- public static function getDocuLink($page, $anchor = '')
505
- {
506
- /* Construct base URL */
507
- $url = $page . '.html';
508
- if (!empty($anchor)) {
509
- $url .= '#' . $anchor;
510
- }
511
-
512
- /* Check if we have built local documentation */
513
- if (defined('TESTSUITE')) {
514
- /* Provide consistent URL for testsuite */
515
- return PMA_linkURL('http://docs.phpmyadmin.net/en/latest/' . $url);
516
- } else if (file_exists('doc/html/index.html')) {
517
- if (defined('PMA_SETUP')) {
518
- return '../doc/html/' . $url;
519
- } else {
520
- return './doc/html/' . $url;
521
- }
522
- } else {
523
- /* TODO: Should link to correct branch for released versions */
524
- return PMA_linkURL('http://docs.phpmyadmin.net/en/latest/' . $url);
525
- }
526
- }
527
-
528
- /**
529
- * Displays a link to the phpMyAdmin documentation
530
- *
531
- * @param string $page Page in documentation
532
- * @param string $anchor Optional anchor in page
533
- *
534
- * @return string the html link
535
- *
536
- * @access public
537
- */
538
- public static function showDocu($page, $anchor = '')
539
- {
540
- return self::showDocLink(self::getDocuLink($page, $anchor));
541
- } // end of the 'showDocu()' function
542
-
543
- /**
544
- * Displays a link to the PHP documentation
545
- *
546
- * @param string $target anchor in documentation
547
- *
548
- * @return string the html link
549
- *
550
- * @access public
551
- */
552
- public static function showPHPDocu($target)
553
- {
554
- $url = PMA_getPHPDocLink($target);
555
-
556
- return self::showDocLink($url);
557
- } // end of the 'showPHPDocu()' function
558
-
559
- /**
560
- * Returns HTML code for a tooltip
561
- *
562
- * @param string $message the message for the tooltip
563
- *
564
- * @return string
565
- *
566
- * @access public
567
- */
568
- public static function showHint($message)
569
- {
570
- if ($GLOBALS['cfg']['ShowHint']) {
571
- $classClause = ' class="pma_hint"';
572
- } else {
573
- $classClause = '';
574
- }
575
- return '<span' . $classClause . '>'
576
- . self::getImage('b_help.png')
577
- . '<span class="hide">' . $message . '</span>'
578
- . '</span>';
579
- }
580
-
581
- /**
582
- * Displays a MySQL error message in the main panel when $exit is true.
583
- * Returns the error message otherwise.
584
- *
585
- * @param string|bool $error_message the error message
586
- * @param string $the_query the sql query that failed
587
- * @param bool $is_modify_link whether to show a "modify" link or not
588
- * @param string $back_url the "back" link url (full path is not
589
- * required)
590
- * @param bool $exit EXIT the page?
591
- *
592
- * @return string
593
- *
594
- * @global string $table the curent table
595
- * @global string $db the current db
596
- *
597
- * @access public
598
- */
599
- public static function mysqlDie(
600
- $error_message = '', $the_query = '',
601
- $is_modify_link = true, $back_url = '', $exit = true
602
- ) {
603
- global $table, $db;
604
-
605
- $error_msg = '';
606
-
607
- if (! $error_message) {
608
- $error_message = $GLOBALS['dbi']->getError();
609
- }
610
- if (! $the_query && ! empty($GLOBALS['sql_query'])) {
611
- $the_query = $GLOBALS['sql_query'];
612
- }
613
-
614
- // --- Added to solve bug #641765
615
- if (! function_exists('PMA_SQP_isError') || PMA_SQP_isError()) {
616
- $formatted_sql = htmlspecialchars($the_query);
617
- } elseif (empty($the_query) || (trim($the_query) == '')) {
618
- $formatted_sql = '';
619
- } else {
620
- $formatted_sql = self::formatSql($the_query, true);
621
- }
622
- // ---
623
- $error_msg .= "\n" . '<!-- PMA-SQL-ERROR -->' . "\n";
624
- $error_msg .= ' <div class="error"><h1>' . __('Error')
625
- . '</h1>' . "\n";
626
-
627
- // if the config password is wrong, or the MySQL server does not
628
- // respond, do not show the query that would reveal the
629
- // username/password
630
- if (! empty($the_query) && ! /*overload*/mb_strstr($the_query, 'connect')) {
631
- // --- Added to solve bug #641765
632
- if (function_exists('PMA_SQP_isError') && PMA_SQP_isError()) {
633
- $error_msg .= PMA_SQP_getErrorString() . "\n";
634
- $error_msg .= '<br />' . "\n";
635
- }
636
- // ---
637
- // modified to show the help on sql errors
638
- $error_msg .= '<p><strong>' . __('SQL query:') . '</strong>' . "\n";
639
- $formattedSqlToLower = /*overload*/mb_strtolower($formatted_sql);
640
- if (/*overload*/mb_strstr($formattedSqlToLower, 'select')) {
641
- // please show me help to the error on select
642
- $error_msg .= self::showMySQLDocu('SELECT');
643
- }
644
- if ($is_modify_link) {
645
- $_url_params = array(
646
- 'sql_query' => $the_query,
647
- 'show_query' => 1,
648
- );
649
- if (/*overload*/mb_strlen($table)) {
650
- $_url_params['db'] = $db;
651
- $_url_params['table'] = $table;
652
- $doedit_goto = '<a href="tbl_sql.php'
653
- . PMA_URL_getCommon($_url_params) . '">';
654
- } elseif (/*overload*/mb_strlen($db)) {
655
- $_url_params['db'] = $db;
656
- $doedit_goto = '<a href="db_sql.php'
657
- . PMA_URL_getCommon($_url_params) . '">';
658
- } else {
659
- $doedit_goto = '<a href="server_sql.php'
660
- . PMA_URL_getCommon($_url_params) . '">';
661
- }
662
-
663
- $error_msg .= $doedit_goto
664
- . self::getIcon('b_edit.png', __('Edit'))
665
- . '</a>';
666
- } // end if
667
- $error_msg .= ' </p>' . "\n"
668
- . '<p>' . "\n"
669
- . $formatted_sql . "\n"
670
- . '</p>' . "\n";
671
- } // end if
672
-
673
- if (! empty($error_message)) {
674
- $error_message = preg_replace(
675
- "@((\015\012)|(\015)|(\012)){3,}@",
676
- "\n\n",
677
- $error_message
678
- );
679
- }
680
- // modified to show the help on error-returns
681
- // (now error-messages-server)
682
- $error_msg .= '<p>' . "\n"
683
- . ' <strong>' . __('MySQL said: ') . '</strong>'
684
- . self::showMySQLDocu('Error-messages-server')
685
- . "\n"
686
- . '</p>' . "\n";
687
-
688
- // The error message will be displayed within a CODE segment.
689
- // To preserve original formatting, but allow wordwrapping,
690
- // we do a couple of replacements
691
-
692
- // Replace all non-single blanks with their HTML-counterpart
693
- $error_message = str_replace(' ', '&nbsp;&nbsp;', $error_message);
694
- // Replace TAB-characters with their HTML-counterpart
695
- $error_message = str_replace(
696
- "\t", '&nbsp;&nbsp;&nbsp;&nbsp;', $error_message
697
- );
698
- // Replace line breaks
699
- $error_message = nl2br($error_message);
700
-
701
- $error_msg .= '<code>' . "\n"
702
- . $error_message . "\n"
703
- . '</code><br />' . "\n";
704
- $error_msg .= '</div>';
705
-
706
- $_SESSION['Import_message']['message'] = $error_msg;
707
-
708
- if (!$exit) {
709
- return $error_msg;
710
- }
711
-
712
- /**
713
- * If in an Ajax request
714
- * - avoid displaying a Back link
715
- * - use PMA_Response() to transmit the message and exit
716
- */
717
- if (isset($GLOBALS['is_ajax_request'])
718
- && $GLOBALS['is_ajax_request'] == true
719
- ) {
720
- $response = PMA_Response::getInstance();
721
- $response->isSuccess(false);
722
- $response->addJSON('message', $error_msg);
723
- exit;
724
- }
725
- if (! empty($back_url)) {
726
- if (/*overload*/mb_strstr($back_url, '?')) {
727
- $back_url .= '&amp;no_history=true';
728
- } else {
729
- $back_url .= '?no_history=true';
730
- }
731
-
732
- $_SESSION['Import_message']['go_back_url'] = $back_url;
733
-
734
- $error_msg .= '<fieldset class="tblFooters">'
735
- . '[ <a href="' . $back_url . '">' . __('Back') . '</a> ]'
736
- . '</fieldset>' . "\n\n";
737
- }
738
- echo $error_msg;
739
- exit;
740
- } // end of the 'mysqlDie()' function
741
-
742
- /**
743
- * returns array with tables of given db with extended information and grouped
744
- *
745
- * @param string $db name of db
746
- * @param string $tables name of tables
747
- * @param integer $limit_offset list offset
748
- * @param int|bool $limit_count max tables to return
749
- *
750
- * @return array (recursive) grouped table list
751
- */
752
- public static function getTableList(
753
- $db, $tables = null, $limit_offset = 0, $limit_count = false
754
- ) {
755
- $sep = $GLOBALS['cfg']['NavigationTreeTableSeparator'];
756
-
757
- if ($tables === null) {
758
- $tables = $GLOBALS['dbi']->getTablesFull(
759
- $db, '', false, null, $limit_offset, $limit_count
760
- );
761
- if ($GLOBALS['cfg']['NaturalOrder']) {
762
- uksort($tables, 'strnatcasecmp');
763
- }
764
- }
765
-
766
- if (count($tables) < 1) {
767
- return $tables;
768
- }
769
-
770
- $default = array(
771
- 'Name' => '',
772
- 'Rows' => 0,
773
- 'Comment' => '',
774
- 'disp_name' => '',
775
- );
776
-
777
- $table_groups = array();
778
-
779
- foreach ($tables as $table_name => $table) {
780
- // check for correct row count
781
- if ($table['Rows'] === null) {
782
- // Do not check exact row count here,
783
- // if row count is invalid possibly the table is defect
784
- // and this would break left frame;
785
- // but we can check row count if this is a view or the
786
- // information_schema database
787
- // since PMA_Table::countRecords() returns a limited row count
788
- // in this case.
789
-
790
- // set this because PMA_Table::countRecords() can use it
791
- $tbl_is_view = $table['TABLE_TYPE'] == 'VIEW';
792
-
793
- if ($tbl_is_view || $GLOBALS['dbi']->isSystemSchema($db)) {
794
- $table['Rows'] = PMA_Table::countRecords(
795
- $db,
796
- $table['Name'],
797
- false,
798
- true
799
- );
800
- }
801
- }
802
-
803
- // in $group we save the reference to the place in $table_groups
804
- // where to store the table info
805
- if ($GLOBALS['cfg']['NavigationTreeEnableGrouping']
806
- && $sep && /*overload*/mb_strstr($table_name, $sep)
807
- ) {
808
- $parts = explode($sep, $table_name);
809
-
810
- $group =& $table_groups;
811
- $i = 0;
812
- $group_name_full = '';
813
- $parts_cnt = count($parts) - 1;
814
-
815
- while (($i < $parts_cnt)
816
- && ($i < $GLOBALS['cfg']['NavigationTreeTableLevel'])
817
- ) {
818
- $group_name = $parts[$i] . $sep;
819
- $group_name_full .= $group_name;
820
-
821
- if (! isset($group[$group_name])) {
822
- $group[$group_name] = array();
823
- $group[$group_name]['is' . $sep . 'group'] = true;
824
- $group[$group_name]['tab' . $sep . 'count'] = 1;
825
- $group[$group_name]['tab' . $sep . 'group']
826
- = $group_name_full;
827
-
828
- } elseif (! isset($group[$group_name]['is' . $sep . 'group'])) {
829
- $table = $group[$group_name];
830
- $group[$group_name] = array();
831
- $group[$group_name][$group_name] = $table;
832
- unset($table);
833
- $group[$group_name]['is' . $sep . 'group'] = true;
834
- $group[$group_name]['tab' . $sep . 'count'] = 1;
835
- $group[$group_name]['tab' . $sep . 'group']
836
- = $group_name_full;
837
-
838
- } else {
839
- $group[$group_name]['tab' . $sep . 'count']++;
840
- }
841
-
842
- $group =& $group[$group_name];
843
- $i++;
844
- }
845
-
846
- } else {
847
- if (! isset($table_groups[$table_name])) {
848
- $table_groups[$table_name] = array();
849
- }
850
- $group =& $table_groups;
851
- }
852
-
853
- $table['disp_name'] = $table['Name'];
854
- $group[$table_name] = array_merge($default, $table);
855
- }
856
-
857
- return $table_groups;
858
- }
859
-
860
- /* ----------------------- Set of misc functions ----------------------- */
861
-
862
- /**
863
- * Adds backquotes on both sides of a database, table or field name.
864
- * and escapes backquotes inside the name with another backquote
865
- *
866
- * example:
867
- * <code>
868
- * echo backquote('owner`s db'); // `owner``s db`
869
- *
870
- * </code>
871
- *
872
- * @param mixed $a_name the database, table or field name to "backquote"
873
- * or array of it
874
- * @param boolean $do_it a flag to bypass this function (used by dump
875
- * functions)
876
- *
877
- * @return mixed the "backquoted" database, table or field name
878
- *
879
- * @access public
880
- */
881
- public static function backquote($a_name, $do_it = true)
882
- {
883
- if (is_array($a_name)) {
884
- foreach ($a_name as &$data) {
885
- $data = self::backquote($data, $do_it);
886
- }
887
- return $a_name;
888
- }
889
-
890
- if (! $do_it) {
891
- global $PMA_SQPdata_forbidden_word;
892
- $eltNameUpper = /*overload*/mb_strtoupper($a_name);
893
- if (!in_array($eltNameUpper, $PMA_SQPdata_forbidden_word)) {
894
- return $a_name;
895
- }
896
- }
897
-
898
- // '0' is also empty for php :-(
899
- if (/*overload*/mb_strlen($a_name) && $a_name !== '*') {
900
- return '`' . str_replace('`', '``', $a_name) . '`';
901
- } else {
902
- return $a_name;
903
- }
904
- } // end of the 'backquote()' function
905
-
906
- /**
907
- * Adds backquotes on both sides of a database, table or field name.
908
- * in compatibility mode
909
- *
910
- * example:
911
- * <code>
912
- * echo backquoteCompat('owner`s db'); // `owner``s db`
913
- *
914
- * </code>
915
- *
916
- * @param mixed $a_name the database, table or field name to
917
- * "backquote" or array of it
918
- * @param string $compatibility string compatibility mode (used by dump
919
- * functions)
920
- * @param boolean $do_it a flag to bypass this function (used by dump
921
- * functions)
922
- *
923
- * @return mixed the "backquoted" database, table or field name
924
- *
925
- * @access public
926
- */
927
- public static function backquoteCompat(
928
- $a_name, $compatibility = 'MSSQL', $do_it = true
929
- ) {
930
- if (is_array($a_name)) {
931
- foreach ($a_name as &$data) {
932
- $data = self::backquoteCompat($data, $compatibility, $do_it);
933
- }
934
- return $a_name;
935
- }
936
-
937
- if (! $do_it) {
938
- global $PMA_SQPdata_forbidden_word;
939
- $eltNameUpper = /*overload*/mb_strtoupper($a_name);
940
- if (!in_array($eltNameUpper, $PMA_SQPdata_forbidden_word)) {
941
- return $a_name;
942
- }
943
- }
944
-
945
- // @todo add more compatibility cases (ORACLE for example)
946
- switch ($compatibility) {
947
- case 'MSSQL':
948
- $quote = '"';
949
- break;
950
- default:
951
- $quote = "`";
952
- break;
953
- }
954
-
955
- // '0' is also empty for php :-(
956
- if (/*overload*/mb_strlen($a_name) && $a_name !== '*') {
957
- return $quote . $a_name . $quote;
958
- } else {
959
- return $a_name;
960
- }
961
- } // end of the 'backquoteCompat()' function
962
-
963
- /**
964
- * Defines the <CR><LF> value depending on the user OS.
965
- *
966
- * @return string the <CR><LF> value to use
967
- *
968
- * @access public
969
- */
970
- public static function whichCrlf()
971
- {
972
- // The 'PMA_USR_OS' constant is defined in "libraries/Config.class.php"
973
- // Win case
974
- if (PMA_USR_OS == 'Win') {
975
- $the_crlf = "\r\n";
976
- } else {
977
- // Others
978
- $the_crlf = "\n";
979
- }
980
-
981
- return $the_crlf;
982
- } // end of the 'whichCrlf()' function
983
-
984
- /**
985
- * Prepare the message and the query
986
- * usually the message is the result of the query executed
987
- *
988
- * @param string $message the message to display
989
- * @param string $sql_query the query to display
990
- * @param string $type the type (level) of the message
991
- *
992
- * @return string
993
- *
994
- * @access public
995
- */
996
- public static function getMessage(
997
- $message, $sql_query = null, $type = 'notice'
998
- ) {
999
- global $cfg;
1000
- $retval = '';
1001
-
1002
- if (null === $sql_query) {
1003
- if (! empty($GLOBALS['display_query'])) {
1004
- $sql_query = $GLOBALS['display_query'];
1005
- } elseif (! empty($GLOBALS['unparsed_sql'])) {
1006
- $sql_query = $GLOBALS['unparsed_sql'];
1007
- } elseif (! empty($GLOBALS['sql_query'])) {
1008
- $sql_query = $GLOBALS['sql_query'];
1009
- } else {
1010
- $sql_query = '';
1011
- }
1012
- }
1013
-
1014
- if (isset($GLOBALS['using_bookmark_message'])) {
1015
- $retval .= $GLOBALS['using_bookmark_message']->getDisplay();
1016
- unset($GLOBALS['using_bookmark_message']);
1017
- }
1018
-
1019
- // In an Ajax request, $GLOBALS['cell_align_left'] may not be defined. Hence,
1020
- // check for it's presence before using it
1021
- $retval .= '<div class="result_query"'
1022
- . ( isset($GLOBALS['cell_align_left'])
1023
- ? ' style="text-align: ' . $GLOBALS['cell_align_left'] . '"'
1024
- : '' )
1025
- . '>' . "\n";
1026
-
1027
- if ($message instanceof PMA_Message) {
1028
- if (isset($GLOBALS['special_message'])) {
1029
- $message->addMessage($GLOBALS['special_message']);
1030
- unset($GLOBALS['special_message']);
1031
- }
1032
- $retval .= $message->getDisplay();
1033
- } else {
1034
- $retval .= '<div class="' . $type . '">';
1035
- $retval .= PMA_sanitize($message);
1036
- if (isset($GLOBALS['special_message'])) {
1037
- $retval .= PMA_sanitize($GLOBALS['special_message']);
1038
- unset($GLOBALS['special_message']);
1039
- }
1040
- $retval .= '</div>';
1041
- }
1042
-
1043
- if ($cfg['ShowSQL'] == true && ! empty($sql_query) && $sql_query !== ';') {
1044
- // Html format the query to be displayed
1045
- // If we want to show some sql code it is easiest to create it here
1046
- /* SQL-Parser-Analyzer */
1047
-
1048
- if (! empty($GLOBALS['show_as_php'])) {
1049
- $new_line = '\\n"<br />' . "\n"
1050
- . '&nbsp;&nbsp;&nbsp;&nbsp;. "';
1051
- $query_base = htmlspecialchars(addslashes($sql_query));
1052
- $query_base = preg_replace(
1053
- '/((\015\012)|(\015)|(\012))/', $new_line, $query_base
1054
- );
1055
- } else {
1056
- $query_base = $sql_query;
1057
- }
1058
-
1059
- $query_too_big = false;
1060
-
1061
- $queryLength = /*overload*/mb_strlen($query_base);
1062
- if ($queryLength > $cfg['MaxCharactersInDisplayedSQL']) {
1063
- // when the query is large (for example an INSERT of binary
1064
- // data), the parser chokes; so avoid parsing the query
1065
- $query_too_big = true;
1066
- $shortened_query_base = nl2br(
1067
- htmlspecialchars(
1068
- /*overload*/mb_substr(
1069
- $sql_query,
1070
- 0,
1071
- $cfg['MaxCharactersInDisplayedSQL']
1072
- ) . '[...]'
1073
- )
1074
- );
1075
- } elseif (! empty($GLOBALS['parsed_sql'])
1076
- && $query_base == $GLOBALS['parsed_sql']['raw']
1077
- ) {
1078
- // (here, use "! empty" because when deleting a bookmark,
1079
- // $GLOBALS['parsed_sql'] is set but empty
1080
- $parsed_sql = $GLOBALS['parsed_sql'];
1081
- } else {
1082
- // Parse SQL if needed
1083
- $parsed_sql = PMA_SQP_parse($query_base);
1084
- }
1085
-
1086
- // Analyze it
1087
- if (isset($parsed_sql) && ! PMA_SQP_isError()) {
1088
- $analyzed_display_query = PMA_SQP_analyze($parsed_sql);
1089
-
1090
- // Same as below (append LIMIT), append the remembered ORDER BY
1091
- if ($GLOBALS['cfg']['RememberSorting']
1092
- && isset($analyzed_display_query[0]['queryflags']['select_from'])
1093
- && isset($GLOBALS['sql_order_to_append'])
1094
- ) {
1095
- $query_base = $analyzed_display_query[0]['section_before_limit']
1096
- . "\n" . $GLOBALS['sql_order_to_append']
1097
- . $analyzed_display_query[0]['limit_clause'] . ' '
1098
- . $analyzed_display_query[0]['section_after_limit'];
1099
- // update the $analyzed_display_query
1100
- $analyzed_display_query[0]['section_before_limit']
1101
- .= $GLOBALS['sql_order_to_append'];
1102
- $analyzed_display_query[0]['order_by_clause']
1103
- = $GLOBALS['sorted_col'];
1104
- }
1105
-
1106
- // Here we append the LIMIT added for navigation, to
1107
- // enable its display. Adding it higher in the code
1108
- // to $sql_query would create a problem when
1109
- // using the Refresh or Edit links.
1110
-
1111
- // Only append it on SELECTs.
1112
-
1113
- /**
1114
- * @todo what would be the best to do when someone hits Refresh:
1115
- * use the current LIMITs ?
1116
- */
1117
-
1118
- if (isset($analyzed_display_query[0]['queryflags']['select_from'])
1119
- && ! empty($GLOBALS['sql_limit_to_append'])
1120
- ) {
1121
- $query_base = $analyzed_display_query[0]['section_before_limit']
1122
- . "\n" . $GLOBALS['sql_limit_to_append']
1123
- . $analyzed_display_query[0]['section_after_limit'];
1124
- }
1125
- }
1126
-
1127
- if (! empty($GLOBALS['show_as_php'])) {
1128
- $query_base = '$sql = "' . $query_base;
1129
- } elseif (isset($query_base)) {
1130
- $query_base = self::formatSql($query_base);
1131
- }
1132
-
1133
- // Prepares links that may be displayed to edit/explain the query
1134
- // (don't go to default pages, we must go to the page
1135
- // where the query box is available)
1136
-
1137
- // Basic url query part
1138
- $url_params = array();
1139
- if (! isset($GLOBALS['db'])) {
1140
- $GLOBALS['db'] = '';
1141
- }
1142
- if (/*overload*/mb_strlen($GLOBALS['db'])) {
1143
- $url_params['db'] = $GLOBALS['db'];
1144
- if (/*overload*/mb_strlen($GLOBALS['table'])) {
1145
- $url_params['table'] = $GLOBALS['table'];
1146
- $edit_link = 'tbl_sql.php';
1147
- } else {
1148
- $edit_link = 'db_sql.php';
1149
- }
1150
- } else {
1151
- $edit_link = 'server_sql.php';
1152
- }
1153
-
1154
- // Want to have the query explained
1155
- // but only explain a SELECT (that has not been explained)
1156
- /* SQL-Parser-Analyzer */
1157
- $explain_link = '';
1158
- $is_select = preg_match('@^SELECT[[:space:]]+@i', $sql_query);
1159
- if (! empty($cfg['SQLQuery']['Explain']) && ! $query_too_big) {
1160
- $explain_params = $url_params;
1161
- if ($is_select) {
1162
- $explain_params['sql_query'] = 'EXPLAIN ' . $sql_query;
1163
- $_message = __('Explain SQL');
1164
- } elseif (preg_match(
1165
- '@^EXPLAIN[[:space:]]+SELECT[[:space:]]+@i', $sql_query
1166
- )) {
1167
- $explain_params['sql_query']
1168
- = /*overload*/mb_substr($sql_query, 8);
1169
- $_message = __('Skip Explain SQL');
1170
- }
1171
- if (isset($explain_params['sql_query']) && isset($_message)) {
1172
- $explain_link = ' ['
1173
- . self::linkOrButton(
1174
- 'import.php' . PMA_URL_getCommon($explain_params),
1175
- $_message
1176
- ) . ']';
1177
- }
1178
- } //show explain
1179
-
1180
- $url_params['sql_query'] = $sql_query;
1181
- $url_params['show_query'] = 1;
1182
-
1183
- // even if the query is big and was truncated, offer the chance
1184
- // to edit it (unless it's enormous, see linkOrButton() )
1185
- if (! empty($cfg['SQLQuery']['Edit'])) {
1186
- $edit_link .= PMA_URL_getCommon($url_params) . '#querybox';
1187
- $edit_link = ' ['
1188
- . self::linkOrButton(
1189
- $edit_link, __('Edit')
1190
- )
1191
- . ']';
1192
- } else {
1193
- $edit_link = '';
1194
- }
1195
-
1196
- // Also we would like to get the SQL formed in some nice
1197
- // php-code
1198
- if (! empty($cfg['SQLQuery']['ShowAsPHP']) && ! $query_too_big) {
1199
- $php_params = $url_params;
1200
-
1201
- if (! empty($GLOBALS['show_as_php'])) {
1202
- $_message = __('Without PHP Code');
1203
- } else {
1204
- $php_params['show_as_php'] = 1;
1205
- $_message = __('Create PHP Code');
1206
- }
1207
-
1208
- $php_link = 'import.php' . PMA_URL_getCommon($php_params);
1209
- $php_link = ' [' . self::linkOrButton($php_link, $_message) . ']';
1210
-
1211
- if (isset($GLOBALS['show_as_php'])) {
1212
-
1213
- $runquery_link = 'import.php'
1214
- . PMA_URL_getCommon($url_params);
1215
-
1216
- $php_link .= ' ['
1217
- . self::linkOrButton($runquery_link, __('Submit Query'))
1218
- . ']';
1219
- }
1220
- } else {
1221
- $php_link = '';
1222
- } //show as php
1223
-
1224
- // Refresh query
1225
- if (! empty($cfg['SQLQuery']['Refresh'])
1226
- && ! isset($GLOBALS['show_as_php']) // 'Submit query' does the same
1227
- && preg_match('@^(SELECT|SHOW)[[:space:]]+@i', $sql_query)
1228
- ) {
1229
- $refresh_link = 'import.php' . PMA_URL_getCommon($url_params);
1230
- $refresh_link = ' ['
1231
- . self::linkOrButton($refresh_link, __('Refresh')) . ']';
1232
- } else {
1233
- $refresh_link = '';
1234
- } //refresh
1235
-
1236
- $retval .= '<div class="sqlOuter">';
1237
- if ($query_too_big) {
1238
- $retval .= $shortened_query_base;
1239
- } else {
1240
- $retval .= $query_base;
1241
- }
1242
-
1243
- //Clean up the end of the PHP
1244
- if (! empty($GLOBALS['show_as_php'])) {
1245
- $retval .= '";';
1246
- }
1247
- $retval .= '</div>';
1248
-
1249
- $retval .= '<div class="tools">';
1250
- $retval .= '<form action="sql.php" method="post">';
1251
- $retval .= PMA_URL_getHiddenInputs(
1252
- $GLOBALS['db'], $GLOBALS['table']
1253
- );
1254
- $retval .= '<input type="hidden" name="sql_query" value="'
1255
- . htmlspecialchars($sql_query) . '" />';
1256
-
1257
- // avoid displaying a Profiling checkbox that could
1258
- // be checked, which would reexecute an INSERT, for example
1259
- if (! empty($refresh_link) && self::profilingSupported()) {
1260
- $retval .= '<input type="hidden" name="profiling_form" value="1" />';
1261
- $retval .= self::getCheckbox(
1262
- 'profiling', __('Profiling'), isset($_SESSION['profiling']), true
1263
- );
1264
- }
1265
- $retval .= '</form>';
1266
-
1267
- /**
1268
- * TODO: Should we have $cfg['SQLQuery']['InlineEdit']?
1269
- */
1270
- if (! empty($cfg['SQLQuery']['Edit']) && ! $query_too_big) {
1271
- $inline_edit_link = ' ['
1272
- . self::linkOrButton(
1273
- '#',
1274
- _pgettext('Inline edit query', 'Edit inline'),
1275
- array('class' => 'inline_edit_sql')
1276
- )
1277
- . ']';
1278
- } else {
1279
- $inline_edit_link = '';
1280
- }
1281
- $retval .= $inline_edit_link . $edit_link . $explain_link . $php_link
1282
- . $refresh_link;
1283
- $retval .= '</div>';
1284
- }
1285
-
1286
- $retval .= '</div>';
1287
- if ($GLOBALS['is_ajax_request'] === false) {
1288
- $retval .= '<br class="clearfloat" />';
1289
- }
1290
-
1291
- return $retval;
1292
- } // end of the 'getMessage()' function
1293
-
1294
- /**
1295
- * Verifies if current MySQL server supports profiling
1296
- *
1297
- * @access public
1298
- *
1299
- * @return boolean whether profiling is supported
1300
- */
1301
- public static function profilingSupported()
1302
- {
1303
- if (!self::cacheExists('profiling_supported')) {
1304
- // 5.0.37 has profiling but for example, 5.1.20 does not
1305
- // (avoid a trip to the server for MySQL before 5.0.37)
1306
- // and do not set a constant as we might be switching servers
1307
- if (defined('PMA_MYSQL_INT_VERSION')
1308
- && $GLOBALS['dbi']->fetchValue("SHOW VARIABLES LIKE 'profiling'")
1309
- ) {
1310
- self::cacheSet('profiling_supported', true);
1311
- } else {
1312
- self::cacheSet('profiling_supported', false);
1313
- }
1314
- }
1315
-
1316
- return self::cacheGet('profiling_supported');
1317
- }
1318
-
1319
- /**
1320
- * Formats $value to byte view
1321
- *
1322
- * @param double|int $value the value to format
1323
- * @param int $limes the sensitiveness
1324
- * @param int $comma the number of decimals to retain
1325
- *
1326
- * @return array the formatted value and its unit
1327
- *
1328
- * @access public
1329
- */
1330
- public static function formatByteDown($value, $limes = 6, $comma = 0)
1331
- {
1332
- if ($value === null) {
1333
- return null;
1334
- }
1335
-
1336
- $byteUnits = array(
1337
- /* l10n: shortcuts for Byte */
1338
- __('B'),
1339
- /* l10n: shortcuts for Kilobyte */
1340
- __('KiB'),
1341
- /* l10n: shortcuts for Megabyte */
1342
- __('MiB'),
1343
- /* l10n: shortcuts for Gigabyte */
1344
- __('GiB'),
1345
- /* l10n: shortcuts for Terabyte */
1346
- __('TiB'),
1347
- /* l10n: shortcuts for Petabyte */
1348
- __('PiB'),
1349
- /* l10n: shortcuts for Exabyte */
1350
- __('EiB')
1351
- );
1352
-
1353
- $dh = self::pow(10, $comma);
1354
- $li = self::pow(10, $limes);
1355
- $unit = $byteUnits[0];
1356
-
1357
- for ($d = 6, $ex = 15; $d >= 1; $d--, $ex-=3) {
1358
- // cast to float to avoid overflow
1359
- $unitSize = (float) $li * self::pow(10, $ex);
1360
- if (isset($byteUnits[$d]) && $value >= $unitSize) {
1361
- // use 1024.0 to avoid integer overflow on 64-bit machines
1362
- $value = round($value / (self::pow(1024, $d) / $dh)) /$dh;
1363
- $unit = $byteUnits[$d];
1364
- break 1;
1365
- } // end if
1366
- } // end for
1367
-
1368
- if ($unit != $byteUnits[0]) {
1369
- // if the unit is not bytes (as represented in current language)
1370
- // reformat with max length of 5
1371
- // 4th parameter=true means do not reformat if value < 1
1372
- $return_value = self::formatNumber($value, 5, $comma, true);
1373
- } else {
1374
- // do not reformat, just handle the locale
1375
- $return_value = self::formatNumber($value, 0);
1376
- }
1377
-
1378
- return array(trim($return_value), $unit);
1379
- } // end of the 'formatByteDown' function
1380
-
1381
- /**
1382
- * Changes thousands and decimal separators to locale specific values.
1383
- *
1384
- * @param string $value the value
1385
- *
1386
- * @return string
1387
- */
1388
- public static function localizeNumber($value)
1389
- {
1390
- return str_replace(
1391
- array(',', '.'),
1392
- array(
1393
- /* l10n: Thousands separator */
1394
- __(','),
1395
- /* l10n: Decimal separator */
1396
- __('.'),
1397
- ),
1398
- $value
1399
- );
1400
- }
1401
-
1402
- /**
1403
- * Formats $value to the given length and appends SI prefixes
1404
- * with a $length of 0 no truncation occurs, number is only formatted
1405
- * to the current locale
1406
- *
1407
- * examples:
1408
- * <code>
1409
- * echo formatNumber(123456789, 6); // 123,457 k
1410
- * echo formatNumber(-123456789, 4, 2); // -123.46 M
1411
- * echo formatNumber(-0.003, 6); // -3 m
1412
- * echo formatNumber(0.003, 3, 3); // 0.003
1413
- * echo formatNumber(0.00003, 3, 2); // 0.03 m
1414
- * echo formatNumber(0, 6); // 0
1415
- * </code>
1416
- *
1417
- * @param double $value the value to format
1418
- * @param integer $digits_left number of digits left of the comma
1419
- * @param integer $digits_right number of digits right of the comma
1420
- * @param boolean $only_down do not reformat numbers below 1
1421
- * @param boolean $noTrailingZero removes trailing zeros right of the comma
1422
- * (default: true)
1423
- *
1424
- * @return string the formatted value and its unit
1425
- *
1426
- * @access public
1427
- */
1428
- public static function formatNumber(
1429
- $value, $digits_left = 3, $digits_right = 0,
1430
- $only_down = false, $noTrailingZero = true
1431
- ) {
1432
- if ($value == 0) {
1433
- return '0';
1434
- }
1435
-
1436
- $originalValue = $value;
1437
- //number_format is not multibyte safe, str_replace is safe
1438
- if ($digits_left === 0) {
1439
- $value = number_format($value, $digits_right);
1440
- if (($originalValue != 0) && (floatval($value) == 0)) {
1441
- $value = ' <' . (1 / self::pow(10, $digits_right));
1442
- }
1443
- return self::localizeNumber($value);
1444
- }
1445
-
1446
- // this units needs no translation, ISO
1447
- $units = array(
1448
- -8 => 'y',
1449
- -7 => 'z',
1450
- -6 => 'a',
1451
- -5 => 'f',
1452
- -4 => 'p',
1453
- -3 => 'n',
1454
- -2 => '&micro;',
1455
- -1 => 'm',
1456
- 0 => ' ',
1457
- 1 => 'k',
1458
- 2 => 'M',
1459
- 3 => 'G',
1460
- 4 => 'T',
1461
- 5 => 'P',
1462
- 6 => 'E',
1463
- 7 => 'Z',
1464
- 8 => 'Y'
1465
- );
1466
-
1467
- // check for negative value to retain sign
1468
- if ($value < 0) {
1469
- $sign = '-';
1470
- $value = abs($value);
1471
- } else {
1472
- $sign = '';
1473
- }
1474
-
1475
- $dh = self::pow(10, $digits_right);
1476
-
1477
- /*
1478
- * This gives us the right SI prefix already,
1479
- * but $digits_left parameter not incorporated
1480
- */
1481
- $d = floor(log10($value) / 3);
1482
- /*
1483
- * Lowering the SI prefix by 1 gives us an additional 3 zeros
1484
- * So if we have 3,6,9,12.. free digits ($digits_left - $cur_digits)
1485
- * to use, then lower the SI prefix
1486
- */
1487
- $cur_digits = floor(log10($value / self::pow(1000, $d, 'pow'))+1);
1488
- if ($digits_left > $cur_digits) {
1489
- $d -= floor(($digits_left - $cur_digits)/3);
1490
- }
1491
-
1492
- if ($d < 0 && $only_down) {
1493
- $d = 0;
1494
- }
1495
-
1496
- $value = round($value / (self::pow(1000, $d, 'pow') / $dh)) /$dh;
1497
- $unit = $units[$d];
1498
-
1499
- // If we don't want any zeros after the comma just add the thousand separator
1500
- if ($noTrailingZero) {
1501
- $localizedValue = self::localizeNumber(
1502
- preg_replace('/(?<=\d)(?=(\d{3})+(?!\d))/', ',', $value)
1503
- );
1504
- } else {
1505
- //number_format is not multibyte safe, str_replace is safe
1506
- $localizedValue = self::localizeNumber(number_format($value, $digits_right));
1507
- }
1508
-
1509
- if ($originalValue != 0 && floatval($value) == 0) {
1510
- return ' <' . self::localizeNumber((1 / self::pow(10, $digits_right))) . ' ' . $unit;
1511
- }
1512
-
1513
- return $sign . $localizedValue . ' ' . $unit;
1514
- } // end of the 'formatNumber' function
1515
-
1516
- /**
1517
- * Returns the number of bytes when a formatted size is given
1518
- *
1519
- * @param string $formatted_size the size expression (for example 8MB)
1520
- *
1521
- * @return integer The numerical part of the expression (for example 8)
1522
- */
1523
- public static function extractValueFromFormattedSize($formatted_size)
1524
- {
1525
- $return_value = -1;
1526
-
1527
- if (preg_match('/^[0-9]+GB$/', $formatted_size)) {
1528
- $return_value = /*overload*/mb_substr($formatted_size, 0, -2)
1529
- * self::pow(1024, 3);
1530
- } elseif (preg_match('/^[0-9]+MB$/', $formatted_size)) {
1531
- $return_value = /*overload*/mb_substr($formatted_size, 0, -2)
1532
- * self::pow(1024, 2);
1533
- } elseif (preg_match('/^[0-9]+K$/', $formatted_size)) {
1534
- $return_value = /*overload*/mb_substr($formatted_size, 0, -1)
1535
- * self::pow(1024, 1);
1536
- }
1537
- return $return_value;
1538
- }// end of the 'extractValueFromFormattedSize' function
1539
-
1540
- /**
1541
- * Writes localised date
1542
- *
1543
- * @param integer $timestamp the current timestamp
1544
- * @param string $format format
1545
- *
1546
- * @return string the formatted date
1547
- *
1548
- * @access public
1549
- */
1550
- public static function localisedDate($timestamp = -1, $format = '')
1551
- {
1552
- $month = array(
1553
- /* l10n: Short month name */
1554
- __('Jan'),
1555
- /* l10n: Short month name */
1556
- __('Feb'),
1557
- /* l10n: Short month name */
1558
- __('Mar'),
1559
- /* l10n: Short month name */
1560
- __('Apr'),
1561
- /* l10n: Short month name */
1562
- _pgettext('Short month name', 'May'),
1563
- /* l10n: Short month name */
1564
- __('Jun'),
1565
- /* l10n: Short month name */
1566
- __('Jul'),
1567
- /* l10n: Short month name */
1568
- __('Aug'),
1569
- /* l10n: Short month name */
1570
- __('Sep'),
1571
- /* l10n: Short month name */
1572
- __('Oct'),
1573
- /* l10n: Short month name */
1574
- __('Nov'),
1575
- /* l10n: Short month name */
1576
- __('Dec'));
1577
- $day_of_week = array(
1578
- /* l10n: Short week day name */
1579
- _pgettext('Short week day name', 'Sun'),
1580
- /* l10n: Short week day name */
1581
- __('Mon'),
1582
- /* l10n: Short week day name */
1583
- __('Tue'),
1584
- /* l10n: Short week day name */
1585
- __('Wed'),
1586
- /* l10n: Short week day name */
1587
- __('Thu'),
1588
- /* l10n: Short week day name */
1589
- __('Fri'),
1590
- /* l10n: Short week day name */
1591
- __('Sat'));
1592
-
1593
- if ($format == '') {
1594
- /* l10n: See http://www.php.net/manual/en/function.strftime.php */
1595
- $format = __('%B %d, %Y at %I:%M %p');
1596
- }
1597
-
1598
- if ($timestamp == -1) {
1599
- $timestamp = time();
1600
- }
1601
-
1602
- $date = preg_replace(
1603
- '@%[aA]@',
1604
- $day_of_week[(int)strftime('%w', $timestamp)],
1605
- $format
1606
- );
1607
- $date = preg_replace(
1608
- '@%[bB]@',
1609
- $month[(int)strftime('%m', $timestamp)-1],
1610
- $date
1611
- );
1612
-
1613
- $ret = strftime($date, $timestamp);
1614
- // Some OSes such as Win8.1 Traditional Chinese version did not produce UTF-8
1615
- // output here. See https://sourceforge.net/p/phpmyadmin/bugs/4207/
1616
- if (mb_detect_encoding($ret, 'UTF-8', true) != 'UTF-8') {
1617
- $ret = date('Y-m-d H:i:s', $timestamp);
1618
- }
1619
-
1620
- return $ret;
1621
- } // end of the 'localisedDate()' function
1622
-
1623
- /**
1624
- * returns a tab for tabbed navigation.
1625
- * If the variables $link and $args ar left empty, an inactive tab is created
1626
- *
1627
- * @param array $tab array with all options
1628
- * @param array $url_params tab specific URL parameters
1629
- *
1630
- * @return string html code for one tab, a link if valid otherwise a span
1631
- *
1632
- * @access public
1633
- */
1634
- public static function getHtmlTab($tab, $url_params = array())
1635
- {
1636
- // default values
1637
- $defaults = array(
1638
- 'text' => '',
1639
- 'class' => '',
1640
- 'active' => null,
1641
- 'link' => '',
1642
- 'sep' => '?',
1643
- 'attr' => '',
1644
- 'args' => '',
1645
- 'warning' => '',
1646
- 'fragment' => '',
1647
- 'id' => '',
1648
- );
1649
-
1650
- $tab = array_merge($defaults, $tab);
1651
-
1652
- // determine additional style-class
1653
- if (empty($tab['class'])) {
1654
- if (! empty($tab['active'])
1655
- || PMA_isValid($GLOBALS['active_page'], 'identical', $tab['link'])
1656
- ) {
1657
- $tab['class'] = 'active';
1658
- } elseif (is_null($tab['active']) && empty($GLOBALS['active_page'])
1659
- && (basename($GLOBALS['PMA_PHP_SELF']) == $tab['link'])
1660
- ) {
1661
- $tab['class'] = 'active';
1662
- }
1663
- }
1664
-
1665
- // If there are any tab specific URL parameters, merge those with
1666
- // the general URL parameters
1667
- if (! empty($tab['url_params']) && is_array($tab['url_params'])) {
1668
- $url_params = array_merge($url_params, $tab['url_params']);
1669
- }
1670
-
1671
- // build the link
1672
- if (! empty($tab['link'])) {
1673
- $tab['link'] = htmlentities($tab['link']);
1674
- $tab['link'] = $tab['link'] . PMA_URL_getCommon($url_params);
1675
- if (! empty($tab['args'])) {
1676
- foreach ($tab['args'] as $param => $value) {
1677
- $tab['link'] .= PMA_URL_getArgSeparator('html')
1678
- . urlencode($param) . '=' . urlencode($value);
1679
- }
1680
- }
1681
- }
1682
-
1683
- if (! empty($tab['fragment'])) {
1684
- $tab['link'] .= $tab['fragment'];
1685
- }
1686
-
1687
- // display icon
1688
- if (isset($tab['icon'])) {
1689
- // avoid generating an alt tag, because it only illustrates
1690
- // the text that follows and if browser does not display
1691
- // images, the text is duplicated
1692
- $tab['text'] = self::getIcon(
1693
- $tab['icon'],
1694
- $tab['text'],
1695
- false,
1696
- true,
1697
- 'TabsMode'
1698
- );
1699
-
1700
- } elseif (empty($tab['text'])) {
1701
- // check to not display an empty link-text
1702
- $tab['text'] = '?';
1703
- trigger_error(
1704
- 'empty linktext in function ' . __FUNCTION__ . '()',
1705
- E_USER_NOTICE
1706
- );
1707
- }
1708
-
1709
- //Set the id for the tab, if set in the params
1710
- $id_string = ( empty($tab['id']) ? '' : ' id="' . $tab['id'] . '" ' );
1711
- $out = '<li' . ($tab['class'] == 'active' ? ' class="active"' : '') . '>';
1712
-
1713
- if (! empty($tab['link'])) {
1714
- $out .= '<a class="tab' . htmlentities($tab['class']) . '"'
1715
- . $id_string
1716
- . ' href="' . $tab['link'] . '" ' . $tab['attr'] . '>'
1717
- . $tab['text'] . '</a>';
1718
- } else {
1719
- $out .= '<span class="tab' . htmlentities($tab['class']) . '"'
1720
- . $id_string . '>' . $tab['text'] . '</span>';
1721
- }
1722
-
1723
- $out .= '</li>';
1724
- return $out;
1725
- } // end of the 'getHtmlTab()' function
1726
-
1727
- /**
1728
- * returns html-code for a tab navigation
1729
- *
1730
- * @param array $tabs one element per tab
1731
- * @param array $url_params additional URL parameters
1732
- * @param string $menu_id HTML id attribute for the menu container
1733
- * @param bool $resizable whether to add a "resizable" class
1734
- *
1735
- * @return string html-code for tab-navigation
1736
- */
1737
- public static function getHtmlTabs($tabs, $url_params, $menu_id,
1738
- $resizable = false
1739
- ) {
1740
- $class = '';
1741
- if ($resizable) {
1742
- $class = ' class="resizable-menu"';
1743
- }
1744
-
1745
- $tab_navigation = '<div id="' . htmlentities($menu_id)
1746
- . 'container" class="menucontainer">'
1747
- . '<ul id="' . htmlentities($menu_id) . '" ' . $class . '>';
1748
-
1749
- foreach ($tabs as $tab) {
1750
- $tab_navigation .= self::getHtmlTab($tab, $url_params);
1751
- }
1752
-
1753
- $tab_navigation .=
1754
- '<div class="clearfloat"></div>'
1755
- . '</ul>' . "\n"
1756
- . '</div>' . "\n";
1757
-
1758
- return $tab_navigation;
1759
- }
1760
-
1761
- /**
1762
- * Displays a link, or a button if the link's URL is too large, to
1763
- * accommodate some browsers' limitations
1764
- *
1765
- * @param string $url the URL
1766
- * @param string $message the link message
1767
- * @param mixed $tag_params string: js confirmation
1768
- * array: additional tag params (f.e. style="")
1769
- * @param boolean $new_form we set this to false when we are already in
1770
- * a form, to avoid generating nested forms
1771
- * @param boolean $strip_img whether to strip the image
1772
- * @param string $target target
1773
- *
1774
- * @return string the results to be echoed or saved in an array
1775
- */
1776
- public static function linkOrButton(
1777
- $url, $message, $tag_params = array(),
1778
- $new_form = true, $strip_img = false, $target = ''
1779
- ) {
1780
- $url_length = /*overload*/mb_strlen($url);
1781
- // with this we should be able to catch case of image upload
1782
- // into a (MEDIUM) BLOB; not worth generating even a form for these
1783
- if ($url_length > $GLOBALS['cfg']['LinkLengthLimit'] * 100) {
1784
- return '';
1785
- }
1786
-
1787
- if (! is_array($tag_params)) {
1788
- $tmp = $tag_params;
1789
- $tag_params = array();
1790
- if (! empty($tmp)) {
1791
- $tag_params['onclick'] = 'return confirmLink(this, \''
1792
- . PMA_escapeJsString($tmp) . '\')';
1793
- }
1794
- unset($tmp);
1795
- }
1796
- if (! empty($target)) {
1797
- $tag_params['target'] = htmlentities($target);
1798
- }
1799
-
1800
- $displayed_message = '';
1801
- // Add text if not already added
1802
- if (stristr($message, '<img')
1803
- && (! $strip_img || ($GLOBALS['cfg']['ActionLinksMode'] == 'icons'))
1804
- && (strip_tags($message) == $message)
1805
- ) {
1806
- $displayed_message = '<span>'
1807
- . htmlspecialchars(
1808
- preg_replace('/^.*\salt="([^"]*)".*$/si', '\1', $message)
1809
- )
1810
- . '</span>';
1811
- }
1812
-
1813
- // Suhosin: Check that each query parameter is not above maximum
1814
- $in_suhosin_limits = true;
1815
- if ($url_length <= $GLOBALS['cfg']['LinkLengthLimit']) {
1816
- $suhosin_get_MaxValueLength = ini_get('suhosin.get.max_value_length');
1817
- if ($suhosin_get_MaxValueLength) {
1818
- $query_parts = self::splitURLQuery($url);
1819
- foreach ($query_parts as $query_pair) {
1820
- if (strpos($query_pair, '=') !== false) {
1821
- list(, $eachval) = explode('=', $query_pair);
1822
- if (/*overload*/mb_strlen($eachval) > $suhosin_get_MaxValueLength
1823
- ) {
1824
- $in_suhosin_limits = false;
1825
- break;
1826
- }
1827
- }
1828
- }
1829
- }
1830
- }
1831
-
1832
- if (($url_length <= $GLOBALS['cfg']['LinkLengthLimit'])
1833
- && $in_suhosin_limits
1834
- ) {
1835
- $tag_params_strings = array();
1836
- foreach ($tag_params as $par_name => $par_value) {
1837
- // htmlspecialchars() only on non javascript
1838
- $par_value = /*overload*/mb_substr($par_name, 0, 2) == 'on'
1839
- ? $par_value
1840
- : htmlspecialchars($par_value);
1841
- $tag_params_strings[] = $par_name . '="' . $par_value . '"';
1842
- }
1843
-
1844
- // no whitespace within an <a> else Safari will make it part of the link
1845
- $ret = "\n" . '<a href="' . $url . '" '
1846
- . implode(' ', $tag_params_strings) . '>'
1847
- . $message . $displayed_message . '</a>' . "\n";
1848
- } else {
1849
- // no spaces (line breaks) at all
1850
- // or after the hidden fields
1851
- // IE will display them all
1852
-
1853
- if (! isset($query_parts)) {
1854
- $query_parts = self::splitURLQuery($url);
1855
- }
1856
- $url_parts = parse_url($url);
1857
-
1858
- if ($new_form) {
1859
- $ret = '<form action="' . $url_parts['path'] . '" class="link"'
1860
- . ' method="post"' . $target . ' style="display: inline;">';
1861
- $subname_open = '';
1862
- $subname_close = '';
1863
- $submit_link = '#';
1864
- } else {
1865
- $query_parts[] = 'redirect=' . $url_parts['path'];
1866
- if (empty($GLOBALS['subform_counter'])) {
1867
- $GLOBALS['subform_counter'] = 0;
1868
- }
1869
- $GLOBALS['subform_counter']++;
1870
- $ret = '';
1871
- $subname_open = 'subform[' . $GLOBALS['subform_counter'] . '][';
1872
- $subname_close = ']';
1873
- $submit_link = '#usesubform[' . $GLOBALS['subform_counter']
1874
- . ']=1';
1875
- }
1876
-
1877
- foreach ($query_parts as $query_pair) {
1878
- list($eachvar, $eachval) = explode('=', $query_pair);
1879
- $ret .= '<input type="hidden" name="' . $subname_open . $eachvar
1880
- . $subname_close . '" value="'
1881
- . htmlspecialchars(urldecode($eachval)) . '" />';
1882
- } // end while
1883
-
1884
- if (empty($tag_params['class'])) {
1885
- $tag_params['class'] = 'formLinkSubmit';
1886
- } else {
1887
- $tag_params['class'] .= ' formLinkSubmit';
1888
- }
1889
-
1890
- $tag_params_strings = array();
1891
- foreach ($tag_params as $par_name => $par_value) {
1892
- // htmlspecialchars() only on non javascript
1893
- $par_value = /*overload*/mb_substr($par_name, 0, 2) == 'on'
1894
- ? $par_value
1895
- : htmlspecialchars($par_value);
1896
- $tag_params_strings[] = $par_name . '="' . $par_value . '"';
1897
- }
1898
-
1899
- $ret .= "\n" . '<a href="' . $submit_link . '" '
1900
- . implode(' ', $tag_params_strings) . '>'
1901
- . $message . ' ' . $displayed_message . '</a>' . "\n";
1902
-
1903
- if ($new_form) {
1904
- $ret .= '</form>';
1905
- }
1906
- } // end if... else...
1907
-
1908
- return $ret;
1909
- } // end of the 'linkOrButton()' function
1910
-
1911
- /**
1912
- * Splits a URL string by parameter
1913
- *
1914
- * @param string $url the URL
1915
- *
1916
- * @return array the parameter/value pairs, for example [0] db=sakila
1917
- */
1918
- public static function splitURLQuery($url)
1919
- {
1920
- // decode encoded url separators
1921
- $separator = PMA_URL_getArgSeparator();
1922
- // on most places separator is still hard coded ...
1923
- if ($separator !== '&') {
1924
- // ... so always replace & with $separator
1925
- $url = str_replace(htmlentities('&'), $separator, $url);
1926
- $url = str_replace('&', $separator, $url);
1927
- }
1928
-
1929
- $url = str_replace(htmlentities($separator), $separator, $url);
1930
- // end decode
1931
-
1932
- $url_parts = parse_url($url);
1933
-
1934
- if (! empty($url_parts['query'])) {
1935
- return explode($separator, $url_parts['query']);
1936
- } else {
1937
- return array();
1938
- }
1939
- }
1940
-
1941
- /**
1942
- * Returns a given timespan value in a readable format.
1943
- *
1944
- * @param int $seconds the timespan
1945
- *
1946
- * @return string the formatted value
1947
- */
1948
- public static function timespanFormat($seconds)
1949
- {
1950
- $days = floor($seconds / 86400);
1951
- if ($days > 0) {
1952
- $seconds -= $days * 86400;
1953
- }
1954
-
1955
- $hours = floor($seconds / 3600);
1956
- if ($days > 0 || $hours > 0) {
1957
- $seconds -= $hours * 3600;
1958
- }
1959
-
1960
- $minutes = floor($seconds / 60);
1961
- if ($days > 0 || $hours > 0 || $minutes > 0) {
1962
- $seconds -= $minutes * 60;
1963
- }
1964
-
1965
- return sprintf(
1966
- __('%s days, %s hours, %s minutes and %s seconds'),
1967
- (string)$days, (string)$hours, (string)$minutes, (string)$seconds
1968
- );
1969
- }
1970
-
1971
- /**
1972
- * Takes a string and outputs each character on a line for itself. Used
1973
- * mainly for horizontalflipped display mode.
1974
- * Takes care of special html-characters.
1975
- * Fulfills https://sourceforge.net/p/phpmyadmin/feature-requests/164/
1976
- *
1977
- * @param string $string The string
1978
- * @param string $Separator The Separator (defaults to "<br />\n")
1979
- *
1980
- * @access public
1981
- * @todo add a multibyte safe function $GLOBALS['PMA_String']->split()
1982
- *
1983
- * @return string The flipped string
1984
- */
1985
- public static function flipstring($string, $Separator = "<br />\n")
1986
- {
1987
- $format_string = '';
1988
- $charbuff = false;
1989
-
1990
- for ($i = 0, $str_len = /*overload*/mb_strlen($string);
1991
- $i < $str_len;
1992
- $i++
1993
- ) {
1994
- $char = $string{$i};
1995
- $append = false;
1996
-
1997
- if ($char == '&') {
1998
- $format_string .= $charbuff;
1999
- $charbuff = $char;
2000
- } elseif ($char == ';' && ! empty($charbuff)) {
2001
- $format_string .= $charbuff . $char;
2002
- $charbuff = false;
2003
- $append = true;
2004
- } elseif (! empty($charbuff)) {
2005
- $charbuff .= $char;
2006
- } else {
2007
- $format_string .= $char;
2008
- $append = true;
2009
- }
2010
-
2011
- // do not add separator after the last character
2012
- if ($append && ($i != $str_len - 1)) {
2013
- $format_string .= $Separator;
2014
- }
2015
- }
2016
-
2017
- return $format_string;
2018
- }
2019
-
2020
- /**
2021
- * Function added to avoid path disclosures.
2022
- * Called by each script that needs parameters, it displays
2023
- * an error message and, by default, stops the execution.
2024
- *
2025
- * Not sure we could use a strMissingParameter message here,
2026
- * would have to check if the error message file is always available
2027
- *
2028
- * @param string[] $params The names of the parameters needed by the calling
2029
- * script
2030
- * @param bool $request Whether to include this list in checking for
2031
- * special params
2032
- *
2033
- * @return void
2034
- *
2035
- * @global boolean $checked_special flag whether any special variable
2036
- * was required
2037
- *
2038
- * @access public
2039
- */
2040
- public static function checkParameters($params, $request = true)
2041
- {
2042
- global $checked_special;
2043
-
2044
- if (! isset($checked_special)) {
2045
- $checked_special = false;
2046
- }
2047
-
2048
- $reported_script_name = basename($GLOBALS['PMA_PHP_SELF']);
2049
- $found_error = false;
2050
- $error_message = '';
2051
-
2052
- foreach ($params as $param) {
2053
- if ($request && ($param != 'db') && ($param != 'table')) {
2054
- $checked_special = true;
2055
- }
2056
-
2057
- if (! isset($GLOBALS[$param])) {
2058
- $error_message .= $reported_script_name
2059
- . ': ' . __('Missing parameter:') . ' '
2060
- . $param
2061
- . self::showDocu('faq', 'faqmissingparameters')
2062
- . '<br />';
2063
- $found_error = true;
2064
- }
2065
- }
2066
- if ($found_error) {
2067
- PMA_fatalError($error_message, null, false);
2068
- }
2069
- } // end function
2070
-
2071
- /**
2072
- * Function to generate unique condition for specified row.
2073
- *
2074
- * @param resource $handle current query result
2075
- * @param integer $fields_cnt number of fields
2076
- * @param array $fields_meta meta information about fields
2077
- * @param array $row current row
2078
- * @param boolean $force_unique generate condition only on pk or
2079
- * unique
2080
- * @param string|boolean $restrict_to_table restrict the unique condition to
2081
- * this table or false if none
2082
- *
2083
- * @access public
2084
- *
2085
- * @return array the calculated condition and whether condition is unique
2086
- */
2087
- public static function getUniqueCondition(
2088
- $handle, $fields_cnt, $fields_meta, $row, $force_unique = false,
2089
- $restrict_to_table = false
2090
- ) {
2091
- $primary_key = '';
2092
- $unique_key = '';
2093
- $nonprimary_condition = '';
2094
- $preferred_condition = '';
2095
- $primary_key_array = array();
2096
- $unique_key_array = array();
2097
- $nonprimary_condition_array = array();
2098
- $condition_array = array();
2099
-
2100
- for ($i = 0; $i < $fields_cnt; ++$i) {
2101
-
2102
- $con_val = '';
2103
- $field_flags = $GLOBALS['dbi']->fieldFlags($handle, $i);
2104
- $meta = $fields_meta[$i];
2105
-
2106
- // do not use a column alias in a condition
2107
- if (! isset($meta->orgname) || ! /*overload*/mb_strlen($meta->orgname)) {
2108
- $meta->orgname = $meta->name;
2109
-
2110
- if (isset($GLOBALS['analyzed_sql'][0]['select_expr'])
2111
- && is_array($GLOBALS['analyzed_sql'][0]['select_expr'])
2112
- ) {
2113
- foreach (
2114
- $GLOBALS['analyzed_sql'][0]['select_expr'] as $select_expr
2115
- ) {
2116
- // need (string) === (string)
2117
- // '' !== 0 but '' == 0
2118
- if ((string)$select_expr['alias'] === (string)$meta->name) {
2119
- $meta->orgname = $select_expr['column'];
2120
- break;
2121
- } // end if
2122
- } // end foreach
2123
- }
2124
- }
2125
-
2126
- // Do not use a table alias in a condition.
2127
- // Test case is:
2128
- // select * from galerie x WHERE
2129
- //(select count(*) from galerie y where y.datum=x.datum)>1
2130
- //
2131
- // But orgtable is present only with mysqli extension so the
2132
- // fix is only for mysqli.
2133
- // Also, do not use the original table name if we are dealing with
2134
- // a view because this view might be updatable.
2135
- // (The isView() verification should not be costly in most cases
2136
- // because there is some caching in the function).
2137
- if (isset($meta->orgtable)
2138
- && ($meta->table != $meta->orgtable)
2139
- && ! PMA_Table::isView($GLOBALS['db'], $meta->table)
2140
- ) {
2141
- $meta->table = $meta->orgtable;
2142
- }
2143
-
2144
- // If this field is not from the table which the unique clause needs
2145
- // to be restricted to.
2146
- if ($restrict_to_table && $restrict_to_table != $meta->table) {
2147
- continue;
2148
- }
2149
-
2150
- // to fix the bug where float fields (primary or not)
2151
- // can't be matched because of the imprecision of
2152
- // floating comparison, use CONCAT
2153
- // (also, the syntax "CONCAT(field) IS NULL"
2154
- // that we need on the next "if" will work)
2155
- if ($meta->type == 'real') {
2156
- $con_key = 'CONCAT(' . self::backquote($meta->table) . '.'
2157
- . self::backquote($meta->orgname) . ')';
2158
- } else {
2159
- $con_key = self::backquote($meta->table) . '.'
2160
- . self::backquote($meta->orgname);
2161
- } // end if... else...
2162
- $condition = ' ' . $con_key . ' ';
2163
-
2164
- if (! isset($row[$i]) || is_null($row[$i])) {
2165
- $con_val = 'IS NULL';
2166
- } else {
2167
- // timestamp is numeric on some MySQL 4.1
2168
- // for real we use CONCAT above and it should compare to string
2169
- if ($meta->numeric
2170
- && ($meta->type != 'timestamp')
2171
- && ($meta->type != 'real')
2172
- ) {
2173
- $con_val = '= ' . $row[$i];
2174
- } elseif ((($meta->type == 'blob') || ($meta->type == 'string'))
2175
- && stristr($field_flags, 'BINARY')
2176
- && ! empty($row[$i])
2177
- ) {
2178
- // hexify only if this is a true not empty BLOB or a BINARY
2179
-
2180
- // do not waste memory building a too big condition
2181
- if (/*overload*/mb_strlen($row[$i]) < 1000) {
2182
- // use a CAST if possible, to avoid problems
2183
- // if the field contains wildcard characters % or _
2184
- $con_val = '= CAST(0x' . bin2hex($row[$i]) . ' AS BINARY)';
2185
- } else if ($fields_cnt == 1) {
2186
- // when this blob is the only field present
2187
- // try settling with length comparison
2188
- $condition = ' CHAR_LENGTH(' . $con_key . ') ';
2189
- $con_val = ' = ' . /*overload*/mb_strlen($row[$i]);
2190
- } else {
2191
- // this blob won't be part of the final condition
2192
- $con_val = null;
2193
- }
2194
- } elseif (in_array($meta->type, self::getGISDatatypes())
2195
- && ! empty($row[$i])
2196
- ) {
2197
- // do not build a too big condition
2198
- if (/*overload*/mb_strlen($row[$i]) < 5000) {
2199
- $condition .= '=0x' . bin2hex($row[$i]) . ' AND';
2200
- } else {
2201
- $condition = '';
2202
- }
2203
- } elseif ($meta->type == 'bit') {
2204
- $con_val = "= b'"
2205
- . self::printableBitValue($row[$i], $meta->length) . "'";
2206
- } else {
2207
- $con_val = '= \''
2208
- . self::sqlAddSlashes($row[$i], false, true) . '\'';
2209
- }
2210
- }
2211
-
2212
- if ($con_val != null) {
2213
-
2214
- $condition .= $con_val . ' AND';
2215
-
2216
- if ($meta->primary_key > 0) {
2217
- $primary_key .= $condition;
2218
- $primary_key_array[$con_key] = $con_val;
2219
- } elseif ($meta->unique_key > 0) {
2220
- $unique_key .= $condition;
2221
- $unique_key_array[$con_key] = $con_val;
2222
- }
2223
-
2224
- $nonprimary_condition .= $condition;
2225
- $nonprimary_condition_array[$con_key] = $con_val;
2226
- }
2227
- } // end for
2228
-
2229
- // Correction University of Virginia 19991216:
2230
- // prefer primary or unique keys for condition,
2231
- // but use conjunction of all values if no primary key
2232
- $clause_is_unique = true;
2233
-
2234
- if ($primary_key) {
2235
- $preferred_condition = $primary_key;
2236
- $condition_array = $primary_key_array;
2237
-
2238
- } elseif ($unique_key) {
2239
- $preferred_condition = $unique_key;
2240
- $condition_array = $unique_key_array;
2241
-
2242
- } elseif (! $force_unique) {
2243
- $preferred_condition = $nonprimary_condition;
2244
- $condition_array = $nonprimary_condition_array;
2245
- $clause_is_unique = false;
2246
- }
2247
-
2248
- $where_clause = trim(preg_replace('|\s?AND$|', '', $preferred_condition));
2249
- return(array($where_clause, $clause_is_unique, $condition_array));
2250
- } // end function
2251
-
2252
- /**
2253
- * Generate a button or image tag
2254
- *
2255
- * @param string $button_name name of button element
2256
- * @param string $button_class class of button or image element
2257
- * @param string $image_name name of image element
2258
- * @param string $text text to display
2259
- * @param string $image image to display
2260
- * @param string $value value
2261
- *
2262
- * @return string html content
2263
- *
2264
- * @access public
2265
- */
2266
- public static function getButtonOrImage(
2267
- $button_name, $button_class, $image_name, $text, $image, $value = ''
2268
- ) {
2269
- if ($value == '') {
2270
- $value = $text;
2271
- }
2272
-
2273
- if ($GLOBALS['cfg']['ActionLinksMode'] == 'text') {
2274
- return ' <input type="submit" name="' . $button_name . '"'
2275
- . ' value="' . htmlspecialchars($value) . '"'
2276
- . ' title="' . htmlspecialchars($text) . '" />' . "\n";
2277
- }
2278
-
2279
- /* Opera has trouble with <input type="image"> */
2280
- /* IE (before version 9) has trouble with <button> */
2281
- if (PMA_USR_BROWSER_AGENT == 'IE' && PMA_USR_BROWSER_VER < 9) {
2282
- return '<input type="image" name="' . $image_name
2283
- . '" class="' . $button_class
2284
- . '" value="' . htmlspecialchars($value)
2285
- . '" title="' . htmlspecialchars($text)
2286
- . '" src="' . $GLOBALS['pmaThemeImage'] . $image . '" />'
2287
- . ($GLOBALS['cfg']['ActionLinksMode'] == 'both'
2288
- ? '&nbsp;' . htmlspecialchars($text)
2289
- : '') . "\n";
2290
- } else {
2291
- return '<button class="' . $button_class . '" type="submit"'
2292
- . ' name="' . $button_name . '" value="' . htmlspecialchars($value)
2293
- . '" title="' . htmlspecialchars($text) . '">' . "\n"
2294
- . self::getIcon($image, $text)
2295
- . '</button>' . "\n";
2296
- }
2297
- } // end function
2298
-
2299
- /**
2300
- * Generate a pagination selector for browsing resultsets
2301
- *
2302
- * @param string $name The name for the request parameter
2303
- * @param int $rows Number of rows in the pagination set
2304
- * @param int $pageNow current page number
2305
- * @param int $nbTotalPage number of total pages
2306
- * @param int $showAll If the number of pages is lower than this
2307
- * variable, no pages will be omitted in pagination
2308
- * @param int $sliceStart How many rows at the beginning should always
2309
- * be shown?
2310
- * @param int $sliceEnd How many rows at the end should always be shown?
2311
- * @param int $percent Percentage of calculation page offsets to hop to a
2312
- * next page
2313
- * @param int $range Near the current page, how many pages should
2314
- * be considered "nearby" and displayed as well?
2315
- * @param string $prompt The prompt to display (sometimes empty)
2316
- *
2317
- * @return string
2318
- *
2319
- * @access public
2320
- */
2321
- public static function pageselector(
2322
- $name, $rows, $pageNow = 1, $nbTotalPage = 1, $showAll = 200,
2323
- $sliceStart = 5,
2324
- $sliceEnd = 5, $percent = 20, $range = 10, $prompt = ''
2325
- ) {
2326
- $increment = floor($nbTotalPage / $percent);
2327
- $pageNowMinusRange = ($pageNow - $range);
2328
- $pageNowPlusRange = ($pageNow + $range);
2329
-
2330
- $gotopage = $prompt . ' <select class="pageselector ajax"';
2331
-
2332
- $gotopage .= ' name="' . $name . '" >';
2333
- if ($nbTotalPage < $showAll) {
2334
- $pages = range(1, $nbTotalPage);
2335
- } else {
2336
- $pages = array();
2337
-
2338
- // Always show first X pages
2339
- for ($i = 1; $i <= $sliceStart; $i++) {
2340
- $pages[] = $i;
2341
- }
2342
-
2343
- // Always show last X pages
2344
- for ($i = $nbTotalPage - $sliceEnd; $i <= $nbTotalPage; $i++) {
2345
- $pages[] = $i;
2346
- }
2347
-
2348
- // Based on the number of results we add the specified
2349
- // $percent percentage to each page number,
2350
- // so that we have a representing page number every now and then to
2351
- // immediately jump to specific pages.
2352
- // As soon as we get near our currently chosen page ($pageNow -
2353
- // $range), every page number will be shown.
2354
- $i = $sliceStart;
2355
- $x = $nbTotalPage - $sliceEnd;
2356
- $met_boundary = false;
2357
-
2358
- while ($i <= $x) {
2359
- if ($i >= $pageNowMinusRange && $i <= $pageNowPlusRange) {
2360
- // If our pageselector comes near the current page, we use 1
2361
- // counter increments
2362
- $i++;
2363
- $met_boundary = true;
2364
- } else {
2365
- // We add the percentage increment to our current page to
2366
- // hop to the next one in range
2367
- $i += $increment;
2368
-
2369
- // Make sure that we do not cross our boundaries.
2370
- if ($i > $pageNowMinusRange && ! $met_boundary) {
2371
- $i = $pageNowMinusRange;
2372
- }
2373
- }
2374
-
2375
- if ($i > 0 && $i <= $x) {
2376
- $pages[] = $i;
2377
- }
2378
- }
2379
-
2380
- /*
2381
- Add page numbers with "geometrically increasing" distances.
2382
-
2383
- This helps me a lot when navigating through giant tables.
2384
-
2385
- Test case: table with 2.28 million sets, 76190 pages. Page of interest
2386
- is between 72376 and 76190.
2387
- Selecting page 72376.
2388
- Now, old version enumerated only +/- 10 pages around 72376 and the
2389
- percentage increment produced steps of about 3000.
2390
-
2391
- The following code adds page numbers +/- 2,4,8,16,32,64,128,256 etc.
2392
- around the current page.
2393
- */
2394
- $i = $pageNow;
2395
- $dist = 1;
2396
- while ($i < $x) {
2397
- $dist = 2 * $dist;
2398
- $i = $pageNow + $dist;
2399
- if ($i > 0 && $i <= $x) {
2400
- $pages[] = $i;
2401
- }
2402
- }
2403
-
2404
- $i = $pageNow;
2405
- $dist = 1;
2406
- while ($i > 0) {
2407
- $dist = 2 * $dist;
2408
- $i = $pageNow - $dist;
2409
- if ($i > 0 && $i <= $x) {
2410
- $pages[] = $i;
2411
- }
2412
- }
2413
-
2414
- // Since because of ellipsing of the current page some numbers may be
2415
- // double, we unify our array:
2416
- sort($pages);
2417
- $pages = array_unique($pages);
2418
- }
2419
-
2420
- foreach ($pages as $i) {
2421
- if ($i == $pageNow) {
2422
- $selected = 'selected="selected" style="font-weight: bold"';
2423
- } else {
2424
- $selected = '';
2425
- }
2426
- $gotopage .= ' <option ' . $selected
2427
- . ' value="' . (($i - 1) * $rows) . '">' . $i . '</option>' . "\n";
2428
- }
2429
-
2430
- $gotopage .= ' </select>';
2431
-
2432
- return $gotopage;
2433
- } // end function
2434
-
2435
- /**
2436
- * Prepare navigation for a list
2437
- *
2438
- * @param int $count number of elements in the list
2439
- * @param int $pos current position in the list
2440
- * @param array $_url_params url parameters
2441
- * @param string $script script name for form target
2442
- * @param string $frame target frame
2443
- * @param int $max_count maximum number of elements to display from
2444
- * the list
2445
- * @param string $name the name for the request parameter
2446
- * @param string[] $classes additional classes for the container
2447
- *
2448
- * @return string $list_navigator_html the html content
2449
- *
2450
- * @access public
2451
- *
2452
- * @todo use $pos from $_url_params
2453
- */
2454
- public static function getListNavigator(
2455
- $count, $pos, $_url_params, $script, $frame, $max_count, $name = 'pos',
2456
- $classes = array()
2457
- ) {
2458
-
2459
- $class = $frame == 'frame_navigation' ? ' class="ajax"' : '';
2460
-
2461
- $list_navigator_html = '';
2462
-
2463
- if ($max_count < $count) {
2464
-
2465
- $classes[] = 'pageselector';
2466
- $list_navigator_html .= '<div class="' . implode(' ', $classes) . '">';
2467
-
2468
- if ($frame != 'frame_navigation') {
2469
- $list_navigator_html .= __('Page number:');
2470
- }
2471
-
2472
- // Move to the beginning or to the previous page
2473
- if ($pos > 0) {
2474
- $caption1 = ''; $caption2 = '';
2475
- if (self::showIcons('TableNavigationLinksMode')) {
2476
- $caption1 .= '&lt;&lt; ';
2477
- $caption2 .= '&lt; ';
2478
- }
2479
- if (self::showText('TableNavigationLinksMode')) {
2480
- $caption1 .= _pgettext('First page', 'Begin');
2481
- $caption2 .= _pgettext('Previous page', 'Previous');
2482
- }
2483
- $title1 = ' title="' . _pgettext('First page', 'Begin') . '"';
2484
- $title2 = ' title="' . _pgettext('Previous page', 'Previous') . '"';
2485
-
2486
- $_url_params[$name] = 0;
2487
- $list_navigator_html .= '<a' . $class . $title1 . ' href="' . $script
2488
- . PMA_URL_getCommon($_url_params) . '">' . $caption1
2489
- . '</a>';
2490
-
2491
- $_url_params[$name] = $pos - $max_count;
2492
- $list_navigator_html .= ' <a' . $class . $title2
2493
- . ' href="' . $script . PMA_URL_getCommon($_url_params) . '">'
2494
- . $caption2 . '</a>';
2495
- }
2496
-
2497
- $list_navigator_html .= '<form action="' . basename($script)
2498
- . '" method="post">';
2499
-
2500
- $list_navigator_html .= PMA_URL_getHiddenInputs($_url_params);
2501
- $list_navigator_html .= self::pageselector(
2502
- $name,
2503
- $max_count,
2504
- floor(($pos + 1) / $max_count) + 1,
2505
- ceil($count / $max_count)
2506
- );
2507
- $list_navigator_html .= '</form>';
2508
-
2509
- if ($pos + $max_count < $count) {
2510
- $caption3 = ''; $caption4 = '';
2511
- if (self::showText('TableNavigationLinksMode')) {
2512
- $caption3 .= _pgettext('Next page', 'Next');
2513
- $caption4 .= _pgettext('Last page', 'End');
2514
- }
2515
- if (self::showIcons('TableNavigationLinksMode')) {
2516
- $caption3 .= ' &gt;';
2517
- $caption4 .= ' &gt;&gt;';
2518
- if (! self::showText('TableNavigationLinksMode')) {
2519
-
2520
- }
2521
- }
2522
- $title3 = ' title="' . _pgettext('Next page', 'Next') . '"';
2523
- $title4 = ' title="' . _pgettext('Last page', 'End') . '"';
2524
-
2525
- $_url_params[$name] = $pos + $max_count;
2526
- $list_navigator_html .= '<a' . $class . $title3 . ' href="' . $script
2527
- . PMA_URL_getCommon($_url_params) . '" >' . $caption3
2528
- . '</a>';
2529
-
2530
- $_url_params[$name] = floor($count / $max_count) * $max_count;
2531
- if ($_url_params[$name] == $count) {
2532
- $_url_params[$name] = $count - $max_count;
2533
- }
2534
-
2535
- $list_navigator_html .= ' <a' . $class . $title4
2536
- . ' href="' . $script . PMA_URL_getCommon($_url_params) . '" >'
2537
- . $caption4 . '</a>';
2538
- }
2539
- $list_navigator_html .= '</div>' . "\n";
2540
- }
2541
-
2542
- return $list_navigator_html;
2543
- }
2544
-
2545
- /**
2546
- * replaces %u in given path with current user name
2547
- *
2548
- * example:
2549
- * <code>
2550
- * $user_dir = userDir('/var/pma_tmp/%u/'); // '/var/pma_tmp/root/'
2551
- *
2552
- * </code>
2553
- *
2554
- * @param string $dir with wildcard for user
2555
- *
2556
- * @return string per user directory
2557
- */
2558
- public static function userDir($dir)
2559
- {
2560
- // add trailing slash
2561
- if (/*overload*/mb_substr($dir, -1) != '/') {
2562
- $dir .= '/';
2563
- }
2564
-
2565
- return str_replace('%u', $GLOBALS['cfg']['Server']['user'], $dir);
2566
- }
2567
-
2568
- /**
2569
- * returns html code for db link to default db page
2570
- *
2571
- * @param string $database database
2572
- *
2573
- * @return string html link to default db page
2574
- */
2575
- public static function getDbLink($database = null)
2576
- {
2577
- if (! /*overload*/mb_strlen($database)) {
2578
- if (! /*overload*/mb_strlen($GLOBALS['db'])) {
2579
- return '';
2580
- }
2581
- $database = $GLOBALS['db'];
2582
- } else {
2583
- $database = self::unescapeMysqlWildcards($database);
2584
- }
2585
-
2586
- return '<a href="' . $GLOBALS['cfg']['DefaultTabDatabase']
2587
- . PMA_URL_getCommon(array('db' => $database)) . '" title="'
2588
- . htmlspecialchars(
2589
- sprintf(
2590
- __('Jump to database "%s".'),
2591
- $database
2592
- )
2593
- )
2594
- . '">' . htmlspecialchars($database) . '</a>';
2595
- }
2596
-
2597
- /**
2598
- * Prepare a lightbulb hint explaining a known external bug
2599
- * that affects a functionality
2600
- *
2601
- * @param string $functionality localized message explaining the func.
2602
- * @param string $component 'mysql' (eventually, 'php')
2603
- * @param string $minimum_version of this component
2604
- * @param string $bugref bug reference for this component
2605
- *
2606
- * @return String
2607
- */
2608
- public static function getExternalBug(
2609
- $functionality, $component, $minimum_version, $bugref
2610
- ) {
2611
- $ext_but_html = '';
2612
- if (($component == 'mysql') && (PMA_MYSQL_INT_VERSION < $minimum_version)) {
2613
- $ext_but_html .= self::showHint(
2614
- sprintf(
2615
- __('The %s functionality is affected by a known bug, see %s'),
2616
- $functionality,
2617
- PMA_linkURL('http://bugs.mysql.com/') . $bugref
2618
- )
2619
- );
2620
- }
2621
- return $ext_but_html;
2622
- }
2623
-
2624
- /**
2625
- * Returns a HTML checkbox
2626
- *
2627
- * @param string $html_field_name the checkbox HTML field
2628
- * @param string $label label for checkbox
2629
- * @param boolean $checked is it initially checked?
2630
- * @param boolean $onclick should it submit the form on click?
2631
- * @param string $html_field_id id for the checkbox
2632
- *
2633
- * @return string HTML for the checkbox
2634
- */
2635
- public static function getCheckbox(
2636
- $html_field_name, $label, $checked, $onclick, $html_field_id = ''
2637
- ) {
2638
- return '<input type="checkbox" name="' . $html_field_name . '"'
2639
- . ($html_field_id ? ' id="' . $html_field_id . '"' : '')
2640
- . ($checked ? ' checked="checked"' : '')
2641
- . ($onclick ? ' class="autosubmit"' : '') . ' />'
2642
- . '<label' . ($html_field_id ? ' for="' . $html_field_id . '"' : '')
2643
- . '>' . $label . '</label>';
2644
- }
2645
-
2646
- /**
2647
- * Generates a set of radio HTML fields
2648
- *
2649
- * @param string $html_field_name the radio HTML field
2650
- * @param array $choices the choices values and labels
2651
- * @param string $checked_choice the choice to check by default
2652
- * @param boolean $line_break whether to add HTML line break after a choice
2653
- * @param boolean $escape_label whether to use htmlspecialchars() on label
2654
- * @param string $class enclose each choice with a div of this class
2655
- * @param string $id_prefix prefix for the id attribute, name will be
2656
- * used if this is not supplied
2657
- *
2658
- * @return string set of html radio fiels
2659
- */
2660
- public static function getRadioFields(
2661
- $html_field_name, $choices, $checked_choice = '',
2662
- $line_break = true, $escape_label = true, $class = '',
2663
- $id_prefix = ''
2664
- ) {
2665
- $radio_html = '';
2666
-
2667
- foreach ($choices as $choice_value => $choice_label) {
2668
-
2669
- if (! empty($class)) {
2670
- $radio_html .= '<div class="' . $class . '">';
2671
- }
2672
-
2673
- if (! $id_prefix) {
2674
- $id_prefix = $html_field_name;
2675
- }
2676
- $html_field_id = $id_prefix . '_' . $choice_value;
2677
- $radio_html .= '<input type="radio" name="' . $html_field_name . '" id="'
2678
- . $html_field_id . '" value="'
2679
- . htmlspecialchars($choice_value) . '"';
2680
-
2681
- if ($choice_value == $checked_choice) {
2682
- $radio_html .= ' checked="checked"';
2683
- }
2684
-
2685
- $radio_html .= ' />' . "\n"
2686
- . '<label for="' . $html_field_id . '">'
2687
- . ($escape_label
2688
- ? htmlspecialchars($choice_label)
2689
- : $choice_label)
2690
- . '</label>';
2691
-
2692
- if ($line_break) {
2693
- $radio_html .= '<br />';
2694
- }
2695
-
2696
- if (! empty($class)) {
2697
- $radio_html .= '</div>';
2698
- }
2699
- $radio_html .= "\n";
2700
- }
2701
-
2702
- return $radio_html;
2703
- }
2704
-
2705
- /**
2706
- * Generates and returns an HTML dropdown
2707
- *
2708
- * @param string $select_name name for the select element
2709
- * @param array $choices choices values
2710
- * @param string $active_choice the choice to select by default
2711
- * @param string $id id of the select element; can be different in
2712
- * case the dropdown is present more than once
2713
- * on the page
2714
- * @param string $class class for the select element
2715
- * @param string $placeholder Placeholder for dropdown if nothing else
2716
- * is selected
2717
- *
2718
- * @return string html content
2719
- *
2720
- * @todo support titles
2721
- */
2722
- public static function getDropdown(
2723
- $select_name, $choices, $active_choice, $id, $class = '', $placeholder = null
2724
- ) {
2725
- $result = '<select'
2726
- . ' name="' . htmlspecialchars($select_name) . '"'
2727
- . ' id="' . htmlspecialchars($id) . '"'
2728
- . (! empty($class) ? ' class="' . htmlspecialchars($class) . '"' : '')
2729
- . '>';
2730
-
2731
- $resultOptions = '';
2732
- $selected = false;
2733
-
2734
- foreach ($choices as $one_choice_value => $one_choice_label) {
2735
- $resultOptions .= '<option value="'
2736
- . htmlspecialchars($one_choice_value) . '"';
2737
-
2738
- if ($one_choice_value == $active_choice) {
2739
- $resultOptions .= ' selected="selected"';
2740
- $selected = true;
2741
- }
2742
- $resultOptions .= '>' . htmlspecialchars($one_choice_label)
2743
- . '</option>';
2744
- }
2745
-
2746
- if (!empty($placeholder)) {
2747
- $resultOptions = '<option value="" disabled="disabled"'
2748
- . ( !$selected ? ' selected="selected"' : '' )
2749
- . '>' . $placeholder . '</option>'
2750
- . $resultOptions;
2751
- }
2752
-
2753
- $result .= $resultOptions
2754
- . '</select>';
2755
-
2756
- return $result;
2757
- }
2758
-
2759
- /**
2760
- * Generates a slider effect (jQjuery)
2761
- * Takes care of generating the initial <div> and the link
2762
- * controlling the slider; you have to generate the </div> yourself
2763
- * after the sliding section.
2764
- *
2765
- * @param string $id the id of the <div> on which to apply the effect
2766
- * @param string $message the message to show as a link
2767
- *
2768
- * @return string html div element
2769
- *
2770
- */
2771
- public static function getDivForSliderEffect($id = '', $message = '')
2772
- {
2773
- if ($GLOBALS['cfg']['InitialSlidersState'] == 'disabled') {
2774
- return '<div' . ($id ? ' id="' . $id . '"' : '') . '>';
2775
- }
2776
- /**
2777
- * Bad hack on the next line. document.write() conflicts with jQuery,
2778
- * hence, opening the <div> with PHP itself instead of JavaScript.
2779
- *
2780
- * @todo find a better solution that uses $.append(), the recommended
2781
- * method maybe by using an additional param, the id of the div to
2782
- * append to
2783
- */
2784
-
2785
- return '<div'
2786
- . ($id ? ' id="' . $id . '"' : '')
2787
- . (($GLOBALS['cfg']['InitialSlidersState'] == 'closed')
2788
- ? ' style="display: none; overflow:auto;"'
2789
- : '')
2790
- . ' class="pma_auto_slider"'
2791
- . ($message ? ' title="' . htmlspecialchars($message) . '"' : '')
2792
- . '>';
2793
- }
2794
-
2795
- /**
2796
- * Creates an AJAX sliding toggle button
2797
- * (or and equivalent form when AJAX is disabled)
2798
- *
2799
- * @param string $action The URL for the request to be executed
2800
- * @param string $select_name The name for the dropdown box
2801
- * @param array $options An array of options (see rte_footer.lib.php)
2802
- * @param string $callback A JS snippet to execute when the request is
2803
- * successfully processed
2804
- *
2805
- * @return string HTML code for the toggle button
2806
- */
2807
- public static function toggleButton($action, $select_name, $options, $callback)
2808
- {
2809
- // Do the logic first
2810
- $link = "$action&amp;" . urlencode($select_name) . "=";
2811
- $link_on = $link . urlencode($options[1]['value']);
2812
- $link_off = $link . urlencode($options[0]['value']);
2813
-
2814
- if ($options[1]['selected'] == true) {
2815
- $state = 'on';
2816
- } else if ($options[0]['selected'] == true) {
2817
- $state = 'off';
2818
- } else {
2819
- $state = 'on';
2820
- }
2821
-
2822
- // Generate output
2823
- return "<!-- TOGGLE START -->\n"
2824
- . "<div class='wrapper toggleAjax hide'>\n"
2825
- . " <div class='toggleButton'>\n"
2826
- . " <div title='" . __('Click to toggle')
2827
- . "' class='container $state'>\n"
2828
- . " <img src='" . htmlspecialchars($GLOBALS['pmaThemeImage'])
2829
- . "toggle-" . htmlspecialchars($GLOBALS['text_dir']) . ".png'\n"
2830
- . " alt='' />\n"
2831
- . " <table class='nospacing nopadding'>\n"
2832
- . " <tbody>\n"
2833
- . " <tr>\n"
2834
- . " <td class='toggleOn'>\n"
2835
- . " <span class='hide'>$link_on</span>\n"
2836
- . " <div>"
2837
- . str_replace(' ', '&nbsp;', htmlspecialchars($options[1]['label']))
2838
- . "\n" . " </div>\n"
2839
- . " </td>\n"
2840
- . " <td><div>&nbsp;</div></td>\n"
2841
- . " <td class='toggleOff'>\n"
2842
- . " <span class='hide'>$link_off</span>\n"
2843
- . " <div>"
2844
- . str_replace(' ', '&nbsp;', htmlspecialchars($options[0]['label']))
2845
- . "\n" . " </div>\n"
2846
- . " </tr>\n"
2847
- . " </tbody>\n"
2848
- . " </table>\n"
2849
- . " <span class='hide callback'>"
2850
- . htmlspecialchars($callback) . "</span>\n"
2851
- . " <span class='hide text_direction'>"
2852
- . htmlspecialchars($GLOBALS['text_dir']) . "</span>\n"
2853
- . " </div>\n"
2854
- . " </div>\n"
2855
- . "</div>\n"
2856
- . "<!-- TOGGLE END -->";
2857
-
2858
- } // end toggleButton()
2859
-
2860
- /**
2861
- * Clears cache content which needs to be refreshed on user change.
2862
- *
2863
- * @return void
2864
- */
2865
- public static function clearUserCache()
2866
- {
2867
- self::cacheUnset('is_superuser');
2868
- self::cacheUnset('is_createuser');
2869
- self::cacheUnset('is_grantuser');
2870
- }
2871
-
2872
- /**
2873
- * Verifies if something is cached in the session
2874
- *
2875
- * @param string $var variable name
2876
- *
2877
- * @return boolean
2878
- */
2879
- public static function cacheExists($var)
2880
- {
2881
- return isset($_SESSION['cache']['server_' . $GLOBALS['server']][$var]);
2882
- }
2883
-
2884
- /**
2885
- * Gets cached information from the session
2886
- *
2887
- * @param string $var variable name
2888
- *
2889
- * @return mixed
2890
- */
2891
- public static function cacheGet($var)
2892
- {
2893
- if (isset($_SESSION['cache']['server_' . $GLOBALS['server']][$var])) {
2894
- return $_SESSION['cache']['server_' . $GLOBALS['server']][$var];
2895
- } else {
2896
- return null;
2897
- }
2898
- }
2899
-
2900
- /**
2901
- * Caches information in the session
2902
- *
2903
- * @param string $var variable name
2904
- * @param mixed $val value
2905
- *
2906
- * @return mixed
2907
- */
2908
- public static function cacheSet($var, $val = null)
2909
- {
2910
- $_SESSION['cache']['server_' . $GLOBALS['server']][$var] = $val;
2911
- }
2912
-
2913
- /**
2914
- * Removes cached information from the session
2915
- *
2916
- * @param string $var variable name
2917
- *
2918
- * @return void
2919
- */
2920
- public static function cacheUnset($var)
2921
- {
2922
- unset($_SESSION['cache']['server_' . $GLOBALS['server']][$var]);
2923
- }
2924
-
2925
- /**
2926
- * Converts a bit value to printable format;
2927
- * in MySQL a BIT field can be from 1 to 64 bits so we need this
2928
- * function because in PHP, decbin() supports only 32 bits
2929
- * on 32-bit servers
2930
- *
2931
- * @param number $value coming from a BIT field
2932
- * @param integer $length length
2933
- *
2934
- * @return string the printable value
2935
- */
2936
- public static function printableBitValue($value, $length)
2937
- {
2938
- // if running on a 64-bit server or the length is safe for decbin()
2939
- if (PHP_INT_SIZE == 8 || $length < 33) {
2940
- $printable = decbin($value);
2941
- } else {
2942
- // FIXME: does not work for the leftmost bit of a 64-bit value
2943
- $i = 0;
2944
- $printable = '';
2945
- while ($value >= pow(2, $i)) {
2946
- $i++;
2947
- }
2948
- if ($i != 0) {
2949
- $i = $i - 1;
2950
- }
2951
-
2952
- while ($i >= 0) {
2953
- if ($value - pow(2, $i) < 0) {
2954
- $printable = '0' . $printable;
2955
- } else {
2956
- $printable = '1' . $printable;
2957
- $value = $value - pow(2, $i);
2958
- }
2959
- $i--;
2960
- }
2961
- $printable = strrev($printable);
2962
- }
2963
- $printable = str_pad($printable, $length, '0', STR_PAD_LEFT);
2964
- return $printable;
2965
- }
2966
-
2967
- /**
2968
- * Verifies whether the value contains a non-printable character
2969
- *
2970
- * @param string $value value
2971
- *
2972
- * @return integer
2973
- */
2974
- public static function containsNonPrintableAscii($value)
2975
- {
2976
- return preg_match('@[^[:print:]]@', $value);
2977
- }
2978
-
2979
- /**
2980
- * Converts a BIT type default value
2981
- * for example, b'010' becomes 010
2982
- *
2983
- * @param string $bit_default_value value
2984
- *
2985
- * @return string the converted value
2986
- */
2987
- public static function convertBitDefaultValue($bit_default_value)
2988
- {
2989
- return rtrim(ltrim($bit_default_value, "b'"), "'");
2990
- }
2991
-
2992
- /**
2993
- * Extracts the various parts from a column spec
2994
- *
2995
- * @param string $columnspec Column specification
2996
- *
2997
- * @return array associative array containing type, spec_in_brackets
2998
- * and possibly enum_set_values (another array)
2999
- */
3000
- public static function extractColumnSpec($columnspec)
3001
- {
3002
- $first_bracket_pos = /*overload*/mb_strpos($columnspec, '(');
3003
- if ($first_bracket_pos) {
3004
- $spec_in_brackets = chop(
3005
- /*overload*/mb_substr(
3006
- $columnspec,
3007
- $first_bracket_pos + 1,
3008
- /*overload*/mb_strrpos($columnspec, ')') - $first_bracket_pos - 1
3009
- )
3010
- );
3011
- // convert to lowercase just to be sure
3012
- $type = /*overload*/mb_strtolower(
3013
- chop(/*overload*/mb_substr($columnspec, 0, $first_bracket_pos))
3014
- );
3015
- } else {
3016
- // Split trailing attributes such as unsigned,
3017
- // binary, zerofill and get data type name
3018
- $type_parts = explode(' ', $columnspec);
3019
- $type = /*overload*/mb_strtolower($type_parts[0]);
3020
- $spec_in_brackets = '';
3021
- }
3022
-
3023
- if ('enum' == $type || 'set' == $type) {
3024
- // Define our working vars
3025
- $enum_set_values = self::parseEnumSetValues($columnspec, false);
3026
- $printtype = $type
3027
- . '(' . str_replace("','", "', '", $spec_in_brackets) . ')';
3028
- $binary = false;
3029
- $unsigned = false;
3030
- $zerofill = false;
3031
- } else {
3032
- $enum_set_values = array();
3033
-
3034
- /* Create printable type name */
3035
- $printtype = /*overload*/mb_strtolower($columnspec);
3036
-
3037
- // Strip the "BINARY" attribute, except if we find "BINARY(" because
3038
- // this would be a BINARY or VARBINARY column type;
3039
- // by the way, a BLOB should not show the BINARY attribute
3040
- // because this is not accepted in MySQL syntax.
3041
- if (preg_match('@binary@', $printtype)
3042
- && ! preg_match('@binary[\(]@', $printtype)
3043
- ) {
3044
- $printtype = preg_replace('@binary@', '', $printtype);
3045
- $binary = true;
3046
- } else {
3047
- $binary = false;
3048
- }
3049
-
3050
- $printtype = preg_replace(
3051
- '@zerofill@', '', $printtype, -1, $zerofill_cnt
3052
- );
3053
- $zerofill = ($zerofill_cnt > 0);
3054
- $printtype = preg_replace(
3055
- '@unsigned@', '', $printtype, -1, $unsigned_cnt
3056
- );
3057
- $unsigned = ($unsigned_cnt > 0);
3058
- $printtype = trim($printtype);
3059
- }
3060
-
3061
- $attribute = ' ';
3062
- if ($binary) {
3063
- $attribute = 'BINARY';
3064
- }
3065
- if ($unsigned) {
3066
- $attribute = 'UNSIGNED';
3067
- }
3068
- if ($zerofill) {
3069
- $attribute = 'UNSIGNED ZEROFILL';
3070
- }
3071
-
3072
- $can_contain_collation = false;
3073
- if (! $binary
3074
- && preg_match(
3075
- "@^(char|varchar|text|tinytext|mediumtext|longtext|set|enum)@", $type
3076
- )
3077
- ) {
3078
- $can_contain_collation = true;
3079
- }
3080
-
3081
- // for the case ENUM('&#8211;','&ldquo;')
3082
- $displayed_type = htmlspecialchars($printtype);
3083
- if (/*overload*/mb_strlen($printtype) > $GLOBALS['cfg']['LimitChars']) {
3084
- $displayed_type = '<abbr title="' . htmlspecialchars($printtype) . '">';
3085
- $displayed_type .= htmlspecialchars(
3086
- /*overload*/mb_substr(
3087
- $printtype, 0, $GLOBALS['cfg']['LimitChars']
3088
- )
3089
- );
3090
- $displayed_type .= '</abbr>';
3091
- }
3092
-
3093
- return array(
3094
- 'type' => $type,
3095
- 'spec_in_brackets' => $spec_in_brackets,
3096
- 'enum_set_values' => $enum_set_values,
3097
- 'print_type' => $printtype,
3098
- 'binary' => $binary,
3099
- 'unsigned' => $unsigned,
3100
- 'zerofill' => $zerofill,
3101
- 'attribute' => $attribute,
3102
- 'can_contain_collation' => $can_contain_collation,
3103
- 'displayed_type' => $displayed_type
3104
- );
3105
- }
3106
-
3107
- /**
3108
- * Verifies if this table's engine supports foreign keys
3109
- *
3110
- * @param string $engine engine
3111
- *
3112
- * @return boolean
3113
- */
3114
- public static function isForeignKeySupported($engine)
3115
- {
3116
- $engine = strtoupper($engine);
3117
- if (($engine == 'INNODB') || ($engine == 'PBXT')) {
3118
- return true;
3119
- } elseif ($engine == 'NDBCLUSTER' || $engine == 'NDB') {
3120
- $ndbver = $GLOBALS['dbi']->fetchValue(
3121
- "SHOW VARIABLES LIKE 'ndb_version_string'"
3122
- );
3123
- return ($ndbver >= 7.3);
3124
- } else {
3125
- return false;
3126
- }
3127
- }
3128
-
3129
- /**
3130
- * Replaces some characters by a displayable equivalent
3131
- *
3132
- * @param string $content content
3133
- *
3134
- * @return string the content with characters replaced
3135
- */
3136
- public static function replaceBinaryContents($content)
3137
- {
3138
- $result = str_replace("\x00", '\0', $content);
3139
- $result = str_replace("\x08", '\b', $result);
3140
- $result = str_replace("\x0a", '\n', $result);
3141
- $result = str_replace("\x0d", '\r', $result);
3142
- $result = str_replace("\x1a", '\Z', $result);
3143
- return $result;
3144
- }
3145
-
3146
- /**
3147
- * Converts GIS data to Well Known Text format
3148
- *
3149
- * @param string $data GIS data
3150
- * @param bool $includeSRID Add SRID to the WKT
3151
- *
3152
- * @return string GIS data in Well Know Text format
3153
- */
3154
- public static function asWKT($data, $includeSRID = false)
3155
- {
3156
- // Convert to WKT format
3157
- $hex = bin2hex($data);
3158
- $wktsql = "SELECT ASTEXT(x'" . $hex . "')";
3159
- if ($includeSRID) {
3160
- $wktsql .= ", SRID(x'" . $hex . "')";
3161
- }
3162
-
3163
- $wktresult = $GLOBALS['dbi']->tryQuery(
3164
- $wktsql, null, PMA_DatabaseInterface::QUERY_STORE
3165
- );
3166
- $wktarr = $GLOBALS['dbi']->fetchRow($wktresult, 0);
3167
- $wktval = $wktarr[0];
3168
-
3169
- if ($includeSRID) {
3170
- $srid = $wktarr[1];
3171
- $wktval = "'" . $wktval . "'," . $srid;
3172
- }
3173
- @$GLOBALS['dbi']->freeResult($wktresult);
3174
-
3175
- return $wktval;
3176
- }
3177
-
3178
- /**
3179
- * If the string starts with a \r\n pair (0x0d0a) add an extra \n
3180
- *
3181
- * @param string $string string
3182
- *
3183
- * @return string with the chars replaced
3184
- */
3185
- public static function duplicateFirstNewline($string)
3186
- {
3187
- $first_occurence = /*overload*/mb_strpos($string, "\r\n");
3188
- if ($first_occurence === 0) {
3189
- $string = "\n" . $string;
3190
- }
3191
- return $string;
3192
- }
3193
-
3194
- /**
3195
- * Get the action word corresponding to a script name
3196
- * in order to display it as a title in navigation panel
3197
- *
3198
- * @param string $target a valid value for $cfg['NavigationTreeDefaultTabTable'],
3199
- * $cfg['NavigationTreeDefaultTabTable2'],
3200
- * $cfg['DefaultTabTable'] or $cfg['DefaultTabDatabase']
3201
- *
3202
- * @return array
3203
- */
3204
- public static function getTitleForTarget($target)
3205
- {
3206
- $mapping = array(
3207
- // Values for $cfg['DefaultTabTable']
3208
- 'tbl_structure.php' => __('Structure'),
3209
- 'tbl_sql.php' => __('SQL'),
3210
- 'tbl_select.php' =>__('Search'),
3211
- 'tbl_change.php' =>__('Insert'),
3212
- 'sql.php' => __('Browse'),
3213
-
3214
- // Values for $cfg['DefaultTabDatabase']
3215
- 'db_structure.php' => __('Structure'),
3216
- 'db_sql.php' => __('SQL'),
3217
- 'db_search.php' => __('Search'),
3218
- 'db_operations.php' => __('Operations'),
3219
- );
3220
- return isset($mapping[$target]) ? $mapping[$target] : false;
3221
- }
3222
-
3223
- /**
3224
- * Formats user string, expanding @VARIABLES@, accepting strftime format
3225
- * string.
3226
- *
3227
- * @param string $string Text where to do expansion.
3228
- * @param array|string $escape Function to call for escaping variable values.
3229
- * Can also be an array of:
3230
- * - the escape method name
3231
- * - the class that contains the method
3232
- * - location of the class (for inclusion)
3233
- * @param array $updates Array with overrides for default parameters
3234
- * (obtained from GLOBALS).
3235
- *
3236
- * @return string
3237
- */
3238
- public static function expandUserString(
3239
- $string, $escape = null, $updates = array()
3240
- ) {
3241
- /* Content */
3242
- $vars = array();
3243
- $vars['http_host'] = PMA_getenv('HTTP_HOST');
3244
- $vars['server_name'] = $GLOBALS['cfg']['Server']['host'];
3245
- $vars['server_verbose'] = $GLOBALS['cfg']['Server']['verbose'];
3246
-
3247
- if (empty($GLOBALS['cfg']['Server']['verbose'])) {
3248
- $vars['server_verbose_or_name'] = $GLOBALS['cfg']['Server']['host'];
3249
- } else {
3250
- $vars['server_verbose_or_name'] = $GLOBALS['cfg']['Server']['verbose'];
3251
- }
3252
-
3253
- $vars['database'] = $GLOBALS['db'];
3254
- $vars['table'] = $GLOBALS['table'];
3255
- $vars['phpmyadmin_version'] = 'phpMyAdmin ' . PMA_VERSION;
3256
-
3257
- /* Update forced variables */
3258
- foreach ($updates as $key => $val) {
3259
- $vars[$key] = $val;
3260
- }
3261
-
3262
- /* Replacement mapping */
3263
- /*
3264
- * The __VAR__ ones are for backward compatibility, because user
3265
- * might still have it in cookies.
3266
- */
3267
- $replace = array(
3268
- '@HTTP_HOST@' => $vars['http_host'],
3269
- '@SERVER@' => $vars['server_name'],
3270
- '__SERVER__' => $vars['server_name'],
3271
- '@VERBOSE@' => $vars['server_verbose'],
3272
- '@VSERVER@' => $vars['server_verbose_or_name'],
3273
- '@DATABASE@' => $vars['database'],
3274
- '__DB__' => $vars['database'],
3275
- '@TABLE@' => $vars['table'],
3276
- '__TABLE__' => $vars['table'],
3277
- '@PHPMYADMIN@' => $vars['phpmyadmin_version'],
3278
- );
3279
-
3280
- /* Optional escaping */
3281
- if (! is_null($escape)) {
3282
- if (is_array($escape)) {
3283
- include_once $escape[2];
3284
- $escape_class = new $escape[1];
3285
- $escape_method = $escape[0];
3286
- }
3287
- foreach ($replace as $key => $val) {
3288
- if (is_array($escape)) {
3289
- $replace[$key] = $escape_class->$escape_method($val);
3290
- } else {
3291
- $replace[$key] = ($escape == 'backquote')
3292
- ? self::$escape($val)
3293
- : $escape($val);
3294
- }
3295
- }
3296
- }
3297
-
3298
- /* Backward compatibility in 3.5.x */
3299
- if (/*overload*/mb_strpos($string, '@FIELDS@') !== false) {
3300
- $string = strtr($string, array('@FIELDS@' => '@COLUMNS@'));
3301
- }
3302
-
3303
- /* Fetch columns list if required */
3304
- if (/*overload*/mb_strpos($string, '@COLUMNS@') !== false) {
3305
- $columns_list = $GLOBALS['dbi']->getColumns(
3306
- $GLOBALS['db'], $GLOBALS['table']
3307
- );
3308
-
3309
- // sometimes the table no longer exists at this point
3310
- if (! is_null($columns_list)) {
3311
- $column_names = array();
3312
- foreach ($columns_list as $column) {
3313
- if (! is_null($escape)) {
3314
- $column_names[] = self::$escape($column['Field']);
3315
- } else {
3316
- $column_names[] = $column['Field'];
3317
- }
3318
- }
3319
- $replace['@COLUMNS@'] = implode(',', $column_names);
3320
- } else {
3321
- $replace['@COLUMNS@'] = '*';
3322
- }
3323
- }
3324
-
3325
- /* Do the replacement */
3326
- return strtr(strftime($string), $replace);
3327
- }
3328
-
3329
- /**
3330
- * Prepare the form used to browse anywhere on the local server for a file to
3331
- * import
3332
- *
3333
- * @param string $max_upload_size maximum upload size
3334
- *
3335
- * @return String
3336
- */
3337
- public static function getBrowseUploadFileBlock($max_upload_size)
3338
- {
3339
- $block_html = '';
3340
-
3341
- if ($GLOBALS['is_upload'] && ! empty($GLOBALS['cfg']['UploadDir'])) {
3342
- $block_html .= '<label for="radio_import_file">';
3343
- } else {
3344
- $block_html .= '<label for="input_import_file">';
3345
- }
3346
-
3347
- $block_html .= __("Browse your computer:") . '</label>'
3348
- . '<div id="upload_form_status" style="display: none;"></div>'
3349
- . '<div id="upload_form_status_info" style="display: none;"></div>'
3350
- . '<input type="file" name="import_file" id="input_import_file" />'
3351
- . self::getFormattedMaximumUploadSize($max_upload_size) . "\n"
3352
- // some browsers should respect this :)
3353
- . self::generateHiddenMaxFileSize($max_upload_size) . "\n";
3354
-
3355
- return $block_html;
3356
- }
3357
-
3358
- /**
3359
- * Prepare the form used to select a file to import from the server upload
3360
- * directory
3361
- *
3362
- * @param array $import_list array of import plugins
3363
- * @param string $uploaddir upload directory
3364
- *
3365
- * @return String
3366
- */
3367
- public static function getSelectUploadFileBlock($import_list, $uploaddir)
3368
- {
3369
- $block_html = '';
3370
- $block_html .= '<label for="radio_local_import_file">'
3371
- . sprintf(
3372
- __("Select from the web server upload directory <b>%s</b>:"),
3373
- htmlspecialchars(self::userDir($uploaddir))
3374
- )
3375
- . '</label>';
3376
-
3377
- $extensions = '';
3378
- foreach ($import_list as $import_plugin) {
3379
- if (! empty($extensions)) {
3380
- $extensions .= '|';
3381
- }
3382
- $extensions .= $import_plugin->getProperties()->getExtension();
3383
- }
3384
-
3385
- $matcher = '@\.(' . $extensions . ')(\.('
3386
- . PMA_supportedDecompressions() . '))?$@';
3387
-
3388
- $active = (isset($GLOBALS['timeout_passed']) && $GLOBALS['timeout_passed']
3389
- && isset($GLOBALS['local_import_file']))
3390
- ? $GLOBALS['local_import_file']
3391
- : '';
3392
-
3393
- $files = PMA_getFileSelectOptions(
3394
- self::userDir($uploaddir),
3395
- $matcher,
3396
- $active
3397
- );
3398
-
3399
- if ($files === false) {
3400
- PMA_Message::error(
3401
- __('The directory you set for upload work cannot be reached.')
3402
- )->display();
3403
- } elseif (! empty($files)) {
3404
- $block_html .= "\n"
3405
- . ' <select style="margin: 5px" size="1" '
3406
- . 'name="local_import_file" '
3407
- . 'id="select_local_import_file">' . "\n"
3408
- . ' <option value="">&nbsp;</option>' . "\n"
3409
- . $files
3410
- . ' </select>' . "\n";
3411
- } elseif (empty ($files)) {
3412
- $block_html .= '<i>' . __('There are no files to upload!') . '</i>';
3413
- }
3414
-
3415
- return $block_html;
3416
-
3417
- }
3418
-
3419
- /**
3420
- * Build titles and icons for action links
3421
- *
3422
- * @return array the action titles
3423
- */
3424
- public static function buildActionTitles()
3425
- {
3426
- $titles = array();
3427
-
3428
- $titles['Browse'] = self::getIcon('b_browse.png', __('Browse'));
3429
- $titles['NoBrowse'] = self::getIcon('bd_browse.png', __('Browse'));
3430
- $titles['Search'] = self::getIcon('b_select.png', __('Search'));
3431
- $titles['NoSearch'] = self::getIcon('bd_select.png', __('Search'));
3432
- $titles['Insert'] = self::getIcon('b_insrow.png', __('Insert'));
3433
- $titles['NoInsert'] = self::getIcon('bd_insrow.png', __('Insert'));
3434
- $titles['Structure'] = self::getIcon('b_props.png', __('Structure'));
3435
- $titles['Drop'] = self::getIcon('b_drop.png', __('Drop'));
3436
- $titles['NoDrop'] = self::getIcon('bd_drop.png', __('Drop'));
3437
- $titles['Empty'] = self::getIcon('b_empty.png', __('Empty'));
3438
- $titles['NoEmpty'] = self::getIcon('bd_empty.png', __('Empty'));
3439
- $titles['Edit'] = self::getIcon('b_edit.png', __('Edit'));
3440
- $titles['NoEdit'] = self::getIcon('bd_edit.png', __('Edit'));
3441
- $titles['Export'] = self::getIcon('b_export.png', __('Export'));
3442
- $titles['NoExport'] = self::getIcon('bd_export.png', __('Export'));
3443
- $titles['Execute'] = self::getIcon('b_nextpage.png', __('Execute'));
3444
- $titles['NoExecute'] = self::getIcon('bd_nextpage.png', __('Execute'));
3445
- // For Favorite/NoFavorite, we need icon only.
3446
- $titles['Favorite'] = self::getIcon('b_favorite.png', '');
3447
- $titles['NoFavorite']= self::getIcon('b_no_favorite.png', '');
3448
-
3449
- return $titles;
3450
- }
3451
-
3452
- /**
3453
- * This function processes the datatypes supported by the DB,
3454
- * as specified in PMA_Types->getColumns() and either returns an array
3455
- * (useful for quickly checking if a datatype is supported)
3456
- * or an HTML snippet that creates a drop-down list.
3457
- *
3458
- * @param bool $html Whether to generate an html snippet or an array
3459
- * @param string $selected The value to mark as selected in HTML mode
3460
- *
3461
- * @return mixed An HTML snippet or an array of datatypes.
3462
- *
3463
- */
3464
- public static function getSupportedDatatypes($html = false, $selected = '')
3465
- {
3466
- if ($html) {
3467
-
3468
- // NOTE: the SELECT tag in not included in this snippet.
3469
- $retval = '';
3470
-
3471
- foreach ($GLOBALS['PMA_Types']->getColumns() as $key => $value) {
3472
- if (is_array($value)) {
3473
- $retval .= "<optgroup label='" . htmlspecialchars($key) . "'>";
3474
- foreach ($value as $subvalue) {
3475
- if ($subvalue == $selected) {
3476
- $retval .= sprintf(
3477
- '<option selected="selected" title="%s">%s</option>',
3478
- $GLOBALS['PMA_Types']->getTypeDescription($subvalue),
3479
- $subvalue
3480
- );
3481
- } else if ($subvalue === '-') {
3482
- $retval .= '<option disabled="disabled">';
3483
- $retval .= $subvalue;
3484
- $retval .= '</option>';
3485
- } else {
3486
- $retval .= sprintf(
3487
- '<option title="%s">%s</option>',
3488
- $GLOBALS['PMA_Types']->getTypeDescription($subvalue),
3489
- $subvalue
3490
- );
3491
- }
3492
- }
3493
- $retval .= '</optgroup>';
3494
- } else {
3495
- if ($selected == $value) {
3496
- $retval .= sprintf(
3497
- '<option selected="selected" title="%s">%s</option>',
3498
- $GLOBALS['PMA_Types']->getTypeDescription($value),
3499
- $value
3500
- );
3501
- } else {
3502
- $retval .= sprintf(
3503
- '<option title="%s">%s</option>',
3504
- $GLOBALS['PMA_Types']->getTypeDescription($value),
3505
- $value
3506
- );
3507
- }
3508
- }
3509
- }
3510
- } else {
3511
- $retval = array();
3512
- foreach ($GLOBALS['PMA_Types']->getColumns() as $value) {
3513
- if (is_array($value)) {
3514
- foreach ($value as $subvalue) {
3515
- if ($subvalue !== '-') {
3516
- $retval[] = $subvalue;
3517
- }
3518
- }
3519
- } else {
3520
- if ($value !== '-') {
3521
- $retval[] = $value;
3522
- }
3523
- }
3524
- }
3525
- }
3526
-
3527
- return $retval;
3528
- } // end getSupportedDatatypes()
3529
-
3530
- /**
3531
- * Returns a list of datatypes that are not (yet) handled by PMA.
3532
- * Used by: tbl_change.php and libraries/db_routines.inc.php
3533
- *
3534
- * @return array list of datatypes
3535
- */
3536
- public static function unsupportedDatatypes()
3537
- {
3538
- $no_support_types = array();
3539
- return $no_support_types;
3540
- }
3541
-
3542
- /**
3543
- * Return GIS data types
3544
- *
3545
- * @param bool $upper_case whether to return values in upper case
3546
- *
3547
- * @return string[] GIS data types
3548
- */
3549
- public static function getGISDatatypes($upper_case = false)
3550
- {
3551
- $gis_data_types = array(
3552
- 'geometry',
3553
- 'point',
3554
- 'linestring',
3555
- 'polygon',
3556
- 'multipoint',
3557
- 'multilinestring',
3558
- 'multipolygon',
3559
- 'geometrycollection'
3560
- );
3561
- if ($upper_case) {
3562
- for ($i = 0, $nb = count($gis_data_types); $i < $nb; $i++) {
3563
- $gis_data_types[$i]
3564
- = /*overload*/mb_strtoupper($gis_data_types[$i]);
3565
- }
3566
- }
3567
- return $gis_data_types;
3568
- }
3569
-
3570
- /**
3571
- * Generates GIS data based on the string passed.
3572
- *
3573
- * @param string $gis_string GIS string
3574
- *
3575
- * @return string GIS data enclosed in 'GeomFromText' function
3576
- */
3577
- public static function createGISData($gis_string)
3578
- {
3579
- $gis_string = trim($gis_string);
3580
- $geom_types = '(POINT|MULTIPOINT|LINESTRING|MULTILINESTRING|'
3581
- . 'POLYGON|MULTIPOLYGON|GEOMETRYCOLLECTION)';
3582
- if (preg_match("/^'" . $geom_types . "\(.*\)',[0-9]*$/i", $gis_string)) {
3583
- return 'GeomFromText(' . $gis_string . ')';
3584
- } elseif (preg_match("/^" . $geom_types . "\(.*\)$/i", $gis_string)) {
3585
- return "GeomFromText('" . $gis_string . "')";
3586
- } else {
3587
- return $gis_string;
3588
- }
3589
- }
3590
-
3591
- /**
3592
- * Returns the names and details of the functions
3593
- * that can be applied on geometry data types.
3594
- *
3595
- * @param string $geom_type if provided the output is limited to the functions
3596
- * that are applicable to the provided geometry type.
3597
- * @param bool $binary if set to false functions that take two geometries
3598
- * as arguments will not be included.
3599
- * @param bool $display if set to true separators will be added to the
3600
- * output array.
3601
- *
3602
- * @return array names and details of the functions that can be applied on
3603
- * geometry data types.
3604
- */
3605
- public static function getGISFunctions(
3606
- $geom_type = null, $binary = true, $display = false
3607
- ) {
3608
- $funcs = array();
3609
- if ($display) {
3610
- $funcs[] = array('display' => ' ');
3611
- }
3612
-
3613
- // Unary functions common to all geometry types
3614
- $funcs['Dimension'] = array('params' => 1, 'type' => 'int');
3615
- $funcs['Envelope'] = array('params' => 1, 'type' => 'Polygon');
3616
- $funcs['GeometryType'] = array('params' => 1, 'type' => 'text');
3617
- $funcs['SRID'] = array('params' => 1, 'type' => 'int');
3618
- $funcs['IsEmpty'] = array('params' => 1, 'type' => 'int');
3619
- $funcs['IsSimple'] = array('params' => 1, 'type' => 'int');
3620
-
3621
- $geom_type = trim(/*overload*/mb_strtolower($geom_type));
3622
- if ($display && $geom_type != 'geometry' && $geom_type != 'multipoint') {
3623
- $funcs[] = array('display' => '--------');
3624
- }
3625
-
3626
- // Unary functions that are specific to each geometry type
3627
- if ($geom_type == 'point') {
3628
- $funcs['X'] = array('params' => 1, 'type' => 'float');
3629
- $funcs['Y'] = array('params' => 1, 'type' => 'float');
3630
-
3631
- } elseif ($geom_type == 'multipoint') {
3632
- // no functions here
3633
- } elseif ($geom_type == 'linestring') {
3634
- $funcs['EndPoint'] = array('params' => 1, 'type' => 'point');
3635
- $funcs['GLength'] = array('params' => 1, 'type' => 'float');
3636
- $funcs['NumPoints'] = array('params' => 1, 'type' => 'int');
3637
- $funcs['StartPoint'] = array('params' => 1, 'type' => 'point');
3638
- $funcs['IsRing'] = array('params' => 1, 'type' => 'int');
3639
-
3640
- } elseif ($geom_type == 'multilinestring') {
3641
- $funcs['GLength'] = array('params' => 1, 'type' => 'float');
3642
- $funcs['IsClosed'] = array('params' => 1, 'type' => 'int');
3643
-
3644
- } elseif ($geom_type == 'polygon') {
3645
- $funcs['Area'] = array('params' => 1, 'type' => 'float');
3646
- $funcs['ExteriorRing'] = array('params' => 1, 'type' => 'linestring');
3647
- $funcs['NumInteriorRings'] = array('params' => 1, 'type' => 'int');
3648
-
3649
- } elseif ($geom_type == 'multipolygon') {
3650
- $funcs['Area'] = array('params' => 1, 'type' => 'float');
3651
- $funcs['Centroid'] = array('params' => 1, 'type' => 'point');
3652
- // Not yet implemented in MySQL
3653
- //$funcs['PointOnSurface'] = array('params' => 1, 'type' => 'point');
3654
-
3655
- } elseif ($geom_type == 'geometrycollection') {
3656
- $funcs['NumGeometries'] = array('params' => 1, 'type' => 'int');
3657
- }
3658
-
3659
- // If we are asked for binary functions as well
3660
- if ($binary) {
3661
- // section separator
3662
- if ($display) {
3663
- $funcs[] = array('display' => '--------');
3664
- }
3665
-
3666
- if (PMA_MYSQL_INT_VERSION < 50601) {
3667
- $funcs['Crosses'] = array('params' => 2, 'type' => 'int');
3668
- $funcs['Contains'] = array('params' => 2, 'type' => 'int');
3669
- $funcs['Disjoint'] = array('params' => 2, 'type' => 'int');
3670
- $funcs['Equals'] = array('params' => 2, 'type' => 'int');
3671
- $funcs['Intersects'] = array('params' => 2, 'type' => 'int');
3672
- $funcs['Overlaps'] = array('params' => 2, 'type' => 'int');
3673
- $funcs['Touches'] = array('params' => 2, 'type' => 'int');
3674
- $funcs['Within'] = array('params' => 2, 'type' => 'int');
3675
- } else {
3676
- // If MySQl version is greater than or equal 5.6.1,
3677
- // use the ST_ prefix.
3678
- $funcs['ST_Crosses'] = array('params' => 2, 'type' => 'int');
3679
- $funcs['ST_Contains'] = array('params' => 2, 'type' => 'int');
3680
- $funcs['ST_Disjoint'] = array('params' => 2, 'type' => 'int');
3681
- $funcs['ST_Equals'] = array('params' => 2, 'type' => 'int');
3682
- $funcs['ST_Intersects'] = array('params' => 2, 'type' => 'int');
3683
- $funcs['ST_Overlaps'] = array('params' => 2, 'type' => 'int');
3684
- $funcs['ST_Touches'] = array('params' => 2, 'type' => 'int');
3685
- $funcs['ST_Within'] = array('params' => 2, 'type' => 'int');
3686
- }
3687
-
3688
- if ($display) {
3689
- $funcs[] = array('display' => '--------');
3690
- }
3691
- // Minimum bounding rectangle functions
3692
- $funcs['MBRContains'] = array('params' => 2, 'type' => 'int');
3693
- $funcs['MBRDisjoint'] = array('params' => 2, 'type' => 'int');
3694
- $funcs['MBREquals'] = array('params' => 2, 'type' => 'int');
3695
- $funcs['MBRIntersects'] = array('params' => 2, 'type' => 'int');
3696
- $funcs['MBROverlaps'] = array('params' => 2, 'type' => 'int');
3697
- $funcs['MBRTouches'] = array('params' => 2, 'type' => 'int');
3698
- $funcs['MBRWithin'] = array('params' => 2, 'type' => 'int');
3699
- }
3700
- return $funcs;
3701
- }
3702
-
3703
- /**
3704
- * Returns default function for a particular column.
3705
- *
3706
- * @param array $field Data about the column for which
3707
- * to generate the dropdown
3708
- * @param bool $insert_mode Whether the operation is 'insert'
3709
- *
3710
- * @global array $cfg PMA configuration
3711
- * @global array $analyzed_sql Analyzed SQL query
3712
- * @global mixed $data data of currently edited row
3713
- * (used to detect whether to choose defaults)
3714
- *
3715
- * @return string An HTML snippet of a dropdown list with function
3716
- * names appropriate for the requested column.
3717
- */
3718
- public static function getDefaultFunctionForField($field, $insert_mode)
3719
- {
3720
- /*
3721
- * @todo Except for $cfg, no longer use globals but pass as parameters
3722
- * from higher levels
3723
- */
3724
- global $cfg, $analyzed_sql, $data;
3725
-
3726
- $default_function = '';
3727
-
3728
- // Can we get field class based values?
3729
- $current_class = $GLOBALS['PMA_Types']->getTypeClass($field['True_Type']);
3730
- if (! empty($current_class)) {
3731
- if (isset($cfg['DefaultFunctions']['FUNC_' . $current_class])) {
3732
- $default_function
3733
- = $cfg['DefaultFunctions']['FUNC_' . $current_class];
3734
- }
3735
- }
3736
-
3737
- $analyzed_sql_field_array = $analyzed_sql[0]['create_table_fields']
3738
- [$field['Field']];
3739
- // what function defined as default?
3740
- // for the first timestamp we don't set the default function
3741
- // if there is a default value for the timestamp
3742
- // (not including CURRENT_TIMESTAMP)
3743
- // and the column does not have the
3744
- // ON UPDATE DEFAULT TIMESTAMP attribute.
3745
- if (($field['True_Type'] == 'timestamp')
3746
- && $field['first_timestamp']
3747
- && empty($field['Default'])
3748
- && empty($data)
3749
- && ! isset($analyzed_sql_field_array['on_update_current_timestamp'])
3750
- && ! (isset($analyzed_sql_field_array['default_value'])
3751
- && $analyzed_sql_field_array['default_value'] == 'NULL')
3752
- ) {
3753
- $default_function = $cfg['DefaultFunctions']['first_timestamp'];
3754
- }
3755
-
3756
- // For primary keys of type char(36) or varchar(36) UUID if the default
3757
- // function
3758
- // Only applies to insert mode, as it would silently trash data on updates.
3759
- if ($insert_mode
3760
- && $field['Key'] == 'PRI'
3761
- && ($field['Type'] == 'char(36)' || $field['Type'] == 'varchar(36)')
3762
- ) {
3763
- $default_function = $cfg['DefaultFunctions']['FUNC_UUID'];
3764
- }
3765
-
3766
- return $default_function;
3767
- }
3768
-
3769
- /**
3770
- * Creates a dropdown box with MySQL functions for a particular column.
3771
- *
3772
- * @param array $field Data about the column for which
3773
- * to generate the dropdown
3774
- * @param bool $insert_mode Whether the operation is 'insert'
3775
- *
3776
- * @return string An HTML snippet of a dropdown list with function
3777
- * names appropriate for the requested column.
3778
- */
3779
- public static function getFunctionsForField($field, $insert_mode)
3780
- {
3781
- $default_function = self::getDefaultFunctionForField($field, $insert_mode);
3782
- $dropdown_built = array();
3783
-
3784
- // Create the output
3785
- $retval = '<option></option>' . "\n";
3786
- // loop on the dropdown array and print all available options for that
3787
- // field.
3788
- $functions = $GLOBALS['PMA_Types']->getFunctions($field['True_Type']);
3789
- foreach ($functions as $function) {
3790
- $retval .= '<option';
3791
- if ($default_function === $function) {
3792
- $retval .= ' selected="selected"';
3793
- }
3794
- $retval .= '>' . $function . '</option>' . "\n";
3795
- $dropdown_built[$function] = true;
3796
- }
3797
-
3798
- // Create separator before all functions list
3799
- if (count($functions) > 0) {
3800
- $retval .= '<option value="" disabled="disabled">--------</option>'
3801
- . "\n";
3802
- }
3803
-
3804
- // For compatibility's sake, do not let out all other functions. Instead
3805
- // print a separator (blank) and then show ALL functions which weren't
3806
- // shown yet.
3807
- $functions = $GLOBALS['PMA_Types']->getAllFunctions();
3808
- foreach ($functions as $function) {
3809
- // Skip already included functions
3810
- if (isset($dropdown_built[$function])) {
3811
- continue;
3812
- }
3813
- $retval .= '<option';
3814
- if ($default_function === $function) {
3815
- $retval .= ' selected="selected"';
3816
- }
3817
- $retval .= '>' . $function . '</option>' . "\n";
3818
- } // end for
3819
-
3820
- return $retval;
3821
- } // end getFunctionsForField()
3822
-
3823
- /**
3824
- * Checks if the current user has a specific privilege and returns true if the
3825
- * user indeed has that privilege or false if (s)he doesn't. This function must
3826
- * only be used for features that are available since MySQL 5, because it
3827
- * relies on the INFORMATION_SCHEMA database to be present.
3828
- *
3829
- * Example: currentUserHasPrivilege('CREATE ROUTINE', 'mydb');
3830
- * // Checks if the currently logged in user has the global
3831
- * // 'CREATE ROUTINE' privilege or, if not, checks if the
3832
- * // user has this privilege on database 'mydb'.
3833
- *
3834
- * @param string $priv The privilege to check
3835
- * @param mixed $db null, to only check global privileges
3836
- * string, db name where to also check for privileges
3837
- * @param mixed $tbl null, to only check global/db privileges
3838
- * string, table name where to also check for privileges
3839
- *
3840
- * @return bool
3841
- */
3842
- public static function currentUserHasPrivilege($priv, $db = null, $tbl = null)
3843
- {
3844
- // Get the username for the current user in the format
3845
- // required to use in the information schema database.
3846
- $user = $GLOBALS['dbi']->fetchValue("SELECT CURRENT_USER();");
3847
- if ($user === false) {
3848
- return false;
3849
- }
3850
-
3851
- $user = explode('@', $user);
3852
- $username = "''";
3853
- $username .= str_replace("'", "''", $user[0]);
3854
- $username .= "''@''";
3855
- $username .= str_replace("'", "''", $user[1]);
3856
- $username .= "''";
3857
-
3858
- // Prepare the query
3859
- $query = "SELECT `PRIVILEGE_TYPE` FROM `INFORMATION_SCHEMA`.`%s` "
3860
- . "WHERE GRANTEE='%s' AND PRIVILEGE_TYPE='%s'";
3861
-
3862
- // Check global privileges first.
3863
- $user_privileges = $GLOBALS['dbi']->fetchValue(
3864
- sprintf(
3865
- $query,
3866
- 'USER_PRIVILEGES',
3867
- $username,
3868
- $priv
3869
- )
3870
- );
3871
- if ($user_privileges) {
3872
- return true;
3873
- }
3874
- // If a database name was provided and user does not have the
3875
- // required global privilege, try database-wise permissions.
3876
- if ($db !== null) {
3877
- $query .= " AND '%s' LIKE `TABLE_SCHEMA`";
3878
- $schema_privileges = $GLOBALS['dbi']->fetchValue(
3879
- sprintf(
3880
- $query,
3881
- 'SCHEMA_PRIVILEGES',
3882
- $username,
3883
- $priv,
3884
- self::sqlAddSlashes($db)
3885
- )
3886
- );
3887
- if ($schema_privileges) {
3888
- return true;
3889
- }
3890
- } else {
3891
- // There was no database name provided and the user
3892
- // does not have the correct global privilege.
3893
- return false;
3894
- }
3895
- // If a table name was also provided and we still didn't
3896
- // find any valid privileges, try table-wise privileges.
3897
- if ($tbl !== null) {
3898
- // need to escape wildcards in db and table names, see bug #3518484
3899
- $tbl = str_replace(array('%', '_'), array('\%', '\_'), $tbl);
3900
- $query .= " AND TABLE_NAME='%s'";
3901
- $table_privileges = $GLOBALS['dbi']->fetchValue(
3902
- sprintf(
3903
- $query,
3904
- 'TABLE_PRIVILEGES',
3905
- $username,
3906
- $priv,
3907
- self::sqlAddSlashes($db),
3908
- self::sqlAddSlashes($tbl)
3909
- )
3910
- );
3911
- if ($table_privileges) {
3912
- return true;
3913
- }
3914
- }
3915
- // If we reached this point, the user does not
3916
- // have even valid table-wise privileges.
3917
- return false;
3918
- }
3919
-
3920
- /**
3921
- * Returns server type for current connection
3922
- *
3923
- * Known types are: Drizzle, MariaDB and MySQL (default)
3924
- *
3925
- * @return string
3926
- */
3927
- public static function getServerType()
3928
- {
3929
- $server_type = 'MySQL';
3930
- if (PMA_DRIZZLE) {
3931
- $server_type = 'Drizzle';
3932
- return $server_type;
3933
- }
3934
-
3935
- if (/*overload*/mb_stripos(PMA_MYSQL_STR_VERSION, 'mariadb') !== false) {
3936
- $server_type = 'MariaDB';
3937
- return $server_type;
3938
- }
3939
-
3940
- if (/*overload*/mb_stripos(PMA_MYSQL_VERSION_COMMENT, 'percona') !== false) {
3941
- $server_type = 'Percona Server';
3942
- return $server_type;
3943
- }
3944
-
3945
- return $server_type;
3946
- }
3947
-
3948
- /**
3949
- * Analyzes the limit clause and return the start and length attributes of it.
3950
- *
3951
- * @param string $limit_clause limit clause
3952
- *
3953
- * @return array|bool Start and length attributes of the limit clause or false
3954
- * on failure
3955
- */
3956
- public static function analyzeLimitClause($limit_clause)
3957
- {
3958
- $limitParams = trim(str_ireplace('LIMIT', '', $limit_clause));
3959
- if ('' == $limitParams) {
3960
- return false;
3961
- }
3962
-
3963
- $start_and_length = explode(',', $limitParams);
3964
- $size = count($start_and_length);
3965
- if ($size == 1) {
3966
- return array(
3967
- 'start' => '0',
3968
- 'length' => trim($start_and_length[0])
3969
- );
3970
- } elseif ($size == 2) {
3971
- return array(
3972
- 'start' => trim($start_and_length[0]),
3973
- 'length' => trim($start_and_length[1])
3974
- );
3975
- }
3976
-
3977
- return false;
3978
- }
3979
-
3980
- /**
3981
- * Prepare HTML code for display button.
3982
- *
3983
- * @return String
3984
- */
3985
- public static function getButton()
3986
- {
3987
- return '<p class="print_ignore">'
3988
- . '<input type="button" class="button" id="print" value="'
3989
- . __('Print') . '" />'
3990
- . '</p>';
3991
- }
3992
-
3993
- /**
3994
- * Parses ENUM/SET values
3995
- *
3996
- * @param string $definition The definition of the column
3997
- * for which to parse the values
3998
- * @param bool $escapeHtml Whether to escape html entities
3999
- *
4000
- * @return array
4001
- */
4002
- public static function parseEnumSetValues($definition, $escapeHtml = true)
4003
- {
4004
- $values_string = htmlentities($definition, ENT_COMPAT, "UTF-8");
4005
- // There is a JS port of the below parser in functions.js
4006
- // If you are fixing something here,
4007
- // you need to also update the JS port.
4008
- $values = array();
4009
- $in_string = false;
4010
- $buffer = '';
4011
-
4012
- for ($i=0, $length = /*overload*/mb_strlen($values_string);
4013
- $i < $length;
4014
- $i++
4015
- ) {
4016
- $curr = /*overload*/mb_substr($values_string, $i, 1);
4017
- $next = ($i == /*overload*/mb_strlen($values_string)-1)
4018
- ? ''
4019
- : /*overload*/mb_substr($values_string, $i + 1, 1);
4020
-
4021
- if (! $in_string && $curr == "'") {
4022
- $in_string = true;
4023
- } else if (($in_string && $curr == "\\") && $next == "\\") {
4024
- $buffer .= "&#92;";
4025
- $i++;
4026
- } else if (($in_string && $next == "'")
4027
- && ($curr == "'" || $curr == "\\")
4028
- ) {
4029
- $buffer .= "&#39;";
4030
- $i++;
4031
- } else if ($in_string && $curr == "'") {
4032
- $in_string = false;
4033
- $values[] = $buffer;
4034
- $buffer = '';
4035
- } else if ($in_string) {
4036
- $buffer .= $curr;
4037
- }
4038
-
4039
- }
4040
-
4041
- if (/*overload*/mb_strlen($buffer) > 0) {
4042
- // The leftovers in the buffer are the last value (if any)
4043
- $values[] = $buffer;
4044
- }
4045
-
4046
- if (! $escapeHtml) {
4047
- foreach ($values as $key => $value) {
4048
- $values[$key] = html_entity_decode($value, ENT_QUOTES, 'UTF-8');
4049
- }
4050
- }
4051
-
4052
- return $values;
4053
- }
4054
-
4055
- /**
4056
- * fills given tooltip arrays
4057
- *
4058
- * @param array &$tooltip_truename tooltip data
4059
- * @param array &$tooltip_aliasname tooltip data
4060
- * @param array $table tabledata
4061
- *
4062
- * @return void
4063
- */
4064
- public static function fillTooltip(
4065
- &$tooltip_truename, &$tooltip_aliasname, $table
4066
- ) {
4067
- if (/*overload*/mb_strstr($table['Comment'], '; InnoDB free') === false) {
4068
- if (!/*overload*/mb_strstr($table['Comment'], 'InnoDB free') === false) {
4069
- // here we have just InnoDB generated part
4070
- $table['Comment'] = '';
4071
- }
4072
- } else {
4073
- // remove InnoDB comment from end, just the minimal part
4074
- // (*? is non greedy)
4075
- $table['Comment'] = preg_replace(
4076
- '@; InnoDB free:.*?$@', '', $table['Comment']
4077
- );
4078
- }
4079
- // views have VIEW as comment so it's not a real comment put by a user
4080
- if ('VIEW' == $table['Comment']) {
4081
- $table['Comment'] = '';
4082
- }
4083
- if (empty($table['Comment'])) {
4084
- $table['Comment'] = $table['Name'];
4085
- } else {
4086
- // todo: why?
4087
- $table['Comment'] .= ' ';
4088
- }
4089
-
4090
- $tooltip_truename[$table['Name']] = $table['Name'];
4091
- $tooltip_aliasname[$table['Name']] = $table['Comment'];
4092
-
4093
- if (isset($table['Create_time']) && !empty($table['Create_time'])) {
4094
- $tooltip_aliasname[$table['Name']] .= ', ' . __('Creation')
4095
- . ': '
4096
- . PMA_Util::localisedDate(strtotime($table['Create_time']));
4097
- }
4098
-
4099
- if (! empty($table['Update_time'])) {
4100
- $tooltip_aliasname[$table['Name']] .= ', ' . __('Last update')
4101
- . ': '
4102
- . PMA_Util::localisedDate(strtotime($table['Update_time']));
4103
- }
4104
-
4105
- if (! empty($table['Check_time'])) {
4106
- $tooltip_aliasname[$table['Name']] .= ', ' . __('Last check')
4107
- . ': '
4108
- . PMA_Util::localisedDate(strtotime($table['Check_time']));
4109
- }
4110
- }
4111
-
4112
- /**
4113
- * Get regular expression which occur first inside the given sql query.
4114
- *
4115
- * @param Array $regex_array Comparing regular expressions.
4116
- * @param String $query SQL query to be checked.
4117
- *
4118
- * @return String Matching regular expression.
4119
- */
4120
- public static function getFirstOccurringRegularExpression($regex_array, $query)
4121
- {
4122
- $minimum_first_occurence_index = null;
4123
- $regex = null;
4124
-
4125
- foreach ($regex_array as $test_regex) {
4126
- if (preg_match($test_regex, $query, $matches, PREG_OFFSET_CAPTURE)) {
4127
- if (is_null($minimum_first_occurence_index)
4128
- || ($matches[0][1] < $minimum_first_occurence_index)
4129
- ) {
4130
- $regex = $test_regex;
4131
- $minimum_first_occurence_index = $matches[0][1];
4132
- }
4133
- }
4134
- }
4135
- return $regex;
4136
- }
4137
-
4138
- /**
4139
- * Return the list of tabs for the menu with corresponding names
4140
- *
4141
- * @param string $level 'server', 'db' or 'table' level
4142
- *
4143
- * @return array list of tabs for the menu
4144
- */
4145
- public static function getMenuTabList($level = null)
4146
- {
4147
- $tabList = array(
4148
- 'server' => array(
4149
- 'databases' => __('Databases'),
4150
- 'sql' => __('SQL'),
4151
- 'status' => __('Status'),
4152
- 'rights' => __('Users'),
4153
- 'export' => __('Export'),
4154
- 'import' => __('Import'),
4155
- 'settings' => __('Settings'),
4156
- 'binlog' => __('Binary log'),
4157
- 'replication' => __('Replication'),
4158
- 'vars' => __('Variables'),
4159
- 'charset' => __('Charsets'),
4160
- 'plugins' => __('Plugins'),
4161
- 'engine' => __('Engines')
4162
- ),
4163
- 'db' => array(
4164
- 'structure' => __('Structure'),
4165
- 'sql' => __('SQL'),
4166
- 'search' => __('Search'),
4167
- 'qbe' => __('Query'),
4168
- 'export' => __('Export'),
4169
- 'import' => __('Import'),
4170
- 'operation' => __('Operations'),
4171
- 'privileges' => __('Privileges'),
4172
- 'routines' => __('Routines'),
4173
- 'events' => __('Events'),
4174
- 'triggers' => __('Triggers'),
4175
- 'tracking' => __('Tracking'),
4176
- 'designer' => __('Designer'),
4177
- 'central_columns' => __('Central columns')
4178
- ),
4179
- 'table' => array(
4180
- 'browse' => __('Browse'),
4181
- 'structure' => __('Structure'),
4182
- 'sql' => __('SQL'),
4183
- 'search' => __('Search'),
4184
- 'insert' => __('Insert'),
4185
- 'export' => __('Export'),
4186
- 'import' => __('Import'),
4187
- 'privileges' => __('Privileges'),
4188
- 'operation' => __('Operations'),
4189
- 'tracking' => __('Tracking'),
4190
- 'triggers' => __('Triggers'),
4191
- )
4192
- );
4193
-
4194
- if ($level == null) {
4195
- return $tabList;
4196
- } else if (array_key_exists($level, $tabList)) {
4197
- return $tabList[$level];
4198
- } else {
4199
- return null;
4200
- }
4201
- }
4202
-
4203
- /**
4204
- * Returns information with regards to handling the http request
4205
- *
4206
- * @param array $context Data about the context for which
4207
- * to http request is sent
4208
- *
4209
- * @return array of updated context information
4210
- */
4211
- public static function handleContext(array $context)
4212
- {
4213
- if (/*overload*/mb_strlen($GLOBALS['cfg']['ProxyUrl'])) {
4214
- $context['http'] = array(
4215
- 'proxy' => $GLOBALS['cfg']['ProxyUrl'],
4216
- 'request_fulluri' => true
4217
- );
4218
- if (/*overload*/mb_strlen($GLOBALS['cfg']['ProxyUser'])) {
4219
- $auth = base64_encode(
4220
- $GLOBALS['cfg']['ProxyUser'] . ':' . $GLOBALS['cfg']['ProxyPass']
4221
- );
4222
- $context['http']['header'] .= 'Proxy-Authorization: Basic '
4223
- . $auth . "\r\n";
4224
- }
4225
- }
4226
- return $context;
4227
- }
4228
- /**
4229
- * Updates an existing curl as necessary
4230
- *
4231
- * @param resource $curl_handle A curl_handle resource
4232
- * created by curl_init which should
4233
- * have several options set
4234
- *
4235
- * @return resource curl_handle with updated options
4236
- */
4237
- public static function configureCurl(resource $curl_handle)
4238
- {
4239
- if (/*overload*/mb_strlen($GLOBALS['cfg']['ProxyUrl'])) {
4240
- curl_setopt($curl_handle, CURLOPT_PROXY, $GLOBALS['cfg']['ProxyUrl']);
4241
- if (/*overload*/mb_strlen($GLOBALS['cfg']['ProxyUser'])) {
4242
- curl_setopt(
4243
- $curl_handle,
4244
- CURLOPT_PROXYUSERPWD,
4245
- $GLOBALS['cfg']['ProxyUser'] . ':' . $GLOBALS['cfg']['ProxyPass']
4246
- );
4247
- }
4248
- }
4249
- curl_setopt($curl_handle, CURLOPT_USERAGENT, 'phpMyAdmin/' . PMA_VERSION);
4250
- return $curl_handle;
4251
- }
4252
- /**
4253
- * Returns information with latest version from phpmyadmin.net
4254
- *
4255
- * @return object JSON decoded object with the data
4256
- */
4257
- public static function getLatestVersion()
4258
- {
4259
- // wait 3s at most for server response, it's enough to get information
4260
- // from a working server
4261
- $connection_timeout = 3;
4262
-
4263
- $response = '{}';
4264
- // Get response text from phpmyadmin.net or from the session
4265
- // Update cache every 6 hours
4266
- if (isset($_SESSION['cache']['version_check'])
4267
- && time() < $_SESSION['cache']['version_check']['timestamp'] + 3600 * 6
4268
- ) {
4269
- $save = false;
4270
- $response = $_SESSION['cache']['version_check']['response'];
4271
- } else {
4272
- $save = true;
4273
- $file = 'http://www.phpmyadmin.net/home_page/version.json';
4274
- if (ini_get('allow_url_fopen')) {
4275
- $context = array(
4276
- 'http' => array(
4277
- 'request_fulluri' => true,
4278
- 'timeout' => $connection_timeout,
4279
- )
4280
- );
4281
- $context = PMA_Util::handleContext($context);
4282
- if (! defined('TESTSUITE')) {
4283
- session_write_close();
4284
- }
4285
- $response = file_get_contents(
4286
- $file,
4287
- false,
4288
- stream_context_create($context)
4289
- );
4290
- } else if (function_exists('curl_init')) {
4291
- $curl_handle = curl_init($file);
4292
- if ($curl_handle === false) {
4293
- return null;
4294
- }
4295
- $curl_handle = PMA_Util::configureCurl($curl_handle);
4296
- curl_setopt(
4297
- $curl_handle,
4298
- CURLOPT_HEADER,
4299
- false
4300
- );
4301
- curl_setopt(
4302
- $curl_handle,
4303
- CURLOPT_RETURNTRANSFER,
4304
- true
4305
- );
4306
- curl_setopt(
4307
- $curl_handle,
4308
- CURLOPT_TIMEOUT,
4309
- $connection_timeout
4310
- );
4311
- if (! defined('TESTSUITE')) {
4312
- session_write_close();
4313
- }
4314
- $response = curl_exec($curl_handle);
4315
- }
4316
- }
4317
-
4318
- $data = json_decode($response);
4319
- if (is_object($data)
4320
- && ! empty($data->version)
4321
- && ! empty($data->date)
4322
- && $save
4323
- ) {
4324
- if (! isset($_SESSION) && ! defined('TESTSUITE')) {
4325
- ini_set('session.use_only_cookies', 'false');
4326
- ini_set('session.use_cookies', 'false');
4327
- ini_set('session.use_trans_sid', 'false');
4328
- ini_set('session.cache_limiter', 'nocache');
4329
- session_start();
4330
- }
4331
- $_SESSION['cache']['version_check'] = array(
4332
- 'response' => $response,
4333
- 'timestamp' => time()
4334
- );
4335
- }
4336
- return $data;
4337
- }
4338
-
4339
- /**
4340
- * Calculates numerical equivalent of phpMyAdmin version string
4341
- *
4342
- * @param string $version version
4343
- *
4344
- * @return mixed false on failure, integer on success
4345
- */
4346
- public static function versionToInt($version)
4347
- {
4348
- $parts = explode('-', $version);
4349
- if (count($parts) > 1) {
4350
- $suffix = $parts[1];
4351
- } else {
4352
- $suffix = '';
4353
- }
4354
- $parts = explode('.', $parts[0]);
4355
-
4356
- $result = 0;
4357
-
4358
- if (count($parts) >= 1 && is_numeric($parts[0])) {
4359
- $result += 1000000 * $parts[0];
4360
- }
4361
-
4362
- if (count($parts) >= 2 && is_numeric($parts[1])) {
4363
- $result += 10000 * $parts[1];
4364
- }
4365
-
4366
- if (count($parts) >= 3 && is_numeric($parts[2])) {
4367
- $result += 100 * $parts[2];
4368
- }
4369
-
4370
- if (count($parts) >= 4 && is_numeric($parts[3])) {
4371
- $result += 1 * $parts[3];
4372
- }
4373
-
4374
- if (!empty($suffix)) {
4375
- $matches = array();
4376
- if (preg_match('/^(\D+)(\d+)$/', $suffix, $matches)) {
4377
- $suffix = $matches[1];
4378
- $result += intval($matches[2]);
4379
- }
4380
- switch ($suffix) {
4381
- case 'pl':
4382
- $result += 60;
4383
- break;
4384
- case 'rc':
4385
- $result += 30;
4386
- break;
4387
- case 'beta':
4388
- $result += 20;
4389
- break;
4390
- case 'alpha':
4391
- $result += 10;
4392
- break;
4393
- case 'dev':
4394
- $result += 0;
4395
- break;
4396
- }
4397
- } else {
4398
- $result += 50; // for final
4399
- }
4400
-
4401
- return $result;
4402
- }
4403
-
4404
- /**
4405
- * Add fractional seconds to time, datetime and timestamp strings.
4406
- * If the string contains fractional seconds,
4407
- * pads it with 0s up to 6 decimal places.
4408
- *
4409
- * @param string $value time, datetime or timestamp strings
4410
- *
4411
- * @return string time, datetime or timestamp strings with fractional seconds
4412
- */
4413
- public static function addMicroseconds($value)
4414
- {
4415
- if (empty($value) || $value == 'CURRENT_TIMESTAMP') {
4416
- return $value;
4417
- }
4418
-
4419
- if (/*overload*/mb_strpos($value, '.') === false) {
4420
- return $value . '.000000';
4421
- }
4422
-
4423
- $value .= '000000';
4424
- return /*overload*/mb_substr(
4425
- $value,
4426
- 0,
4427
- /*overload*/mb_strpos($value, '.') + 7
4428
- );
4429
- }
4430
-
4431
- /**
4432
- * Reads the file, detects the compression MIME type, closes the file
4433
- * and returns the MIME type
4434
- *
4435
- * @param resource $file the file handle
4436
- *
4437
- * @return string the MIME type for compression, or 'none'
4438
- */
4439
- public static function getCompressionMimeType($file)
4440
- {
4441
- $test = fread($file, 4);
4442
- $len = strlen($test);
4443
- fclose($file);
4444
- if ($len >= 2 && $test[0] == chr(31) && $test[1] == chr(139)) {
4445
- return 'application/gzip';
4446
- }
4447
- if ($len >= 3 && substr($test, 0, 3) == 'BZh') {
4448
- return 'application/bzip2';
4449
- }
4450
- if ($len >= 4 && $test == "PK\003\004") {
4451
- return 'application/zip';
4452
- }
4453
- return 'none';
4454
- }
4455
-
4456
- /**
4457
- * Renders a single link for the top of the navigation panel
4458
- *
4459
- * @param string $link The url for the link
4460
- * @param bool $showText Whether to show the text or to
4461
- * only use it for title attributes
4462
- * @param string $text The text to display and use for title attributes
4463
- * @param bool $showIcon Whether to show the icon
4464
- * @param string $icon The filename of the icon to show
4465
- * @param string $linkId Value to use for the ID attribute
4466
- * @param boolean $disableAjax Whether to disable ajax page loading for this link
4467
- * @param string $linkTarget The name of the target frame for the link
4468
- *
4469
- * @return string HTML code for one link
4470
- */
4471
- public static function getNavigationLink(
4472
- $link,
4473
- $showText,
4474
- $text,
4475
- $showIcon,
4476
- $icon,
4477
- $linkId = '',
4478
- $disableAjax = false,
4479
- $linkTarget = ''
4480
- ) {
4481
- $retval = '<a href="' . $link . '"';
4482
- if (! empty($linkId)) {
4483
- $retval .= ' id="' . $linkId . '"';
4484
- }
4485
- if (! empty($linkTarget)) {
4486
- $retval .= ' target="' . $linkTarget . '"';
4487
- }
4488
- if ($disableAjax) {
4489
- $retval .= ' class="disableAjax"';
4490
- }
4491
- $retval .= ' title="' . $text . '">';
4492
- if ($showIcon) {
4493
- $retval .= PMA_Util::getImage(
4494
- $icon,
4495
- $text
4496
- );
4497
- }
4498
- if ($showText) {
4499
- $retval .= $text;
4500
- }
4501
- $retval .= '</a>';
4502
- if ($showText) {
4503
- $retval .= '<br />';
4504
- }
4505
- return $retval;
4506
- }
4507
-
4508
- /**
4509
- * Provide COLLATE clause, if required, to perform case sensitive comparisons
4510
- * for queries on information_schema.
4511
- *
4512
- * @return string COLLATE clause if needed or empty string.
4513
- */
4514
- public static function getCollateForIS()
4515
- {
4516
- $lowerCaseTableNames = $GLOBALS['dbi']->fetchValue(
4517
- "SHOW VARIABLES LIKE 'lower_case_table_names'", 0, 1
4518
- );
4519
-
4520
- if ($lowerCaseTableNames === '0') {
4521
- return "COLLATE utf8_bin";
4522
- }
4523
- return "";
4524
- }
4525
-
4526
- /**
4527
- * Process the index data.
4528
- *
4529
- * @param array $indexes index data
4530
- *
4531
- * @return array processes index data
4532
- */
4533
- public static function processIndexData($indexes)
4534
- {
4535
- $lastIndex = '';
4536
-
4537
- $primary = '';
4538
- $pk_array = array(); // will be use to emphasis prim. keys in the table
4539
- $indexes_info = array();
4540
- $indexes_data = array();
4541
-
4542
- // view
4543
- foreach ($indexes as $row) {
4544
- // Backups the list of primary keys
4545
- if ($row['Key_name'] == 'PRIMARY') {
4546
- $primary .= $row['Column_name'] . ', ';
4547
- $pk_array[$row['Column_name']] = 1;
4548
- }
4549
- // Retains keys informations
4550
- if ($row['Key_name'] != $lastIndex) {
4551
- $indexes[] = $row['Key_name'];
4552
- $lastIndex = $row['Key_name'];
4553
- }
4554
- $indexes_info[$row['Key_name']]['Sequences'][] = $row['Seq_in_index'];
4555
- $indexes_info[$row['Key_name']]['Non_unique'] = $row['Non_unique'];
4556
- if (isset($row['Cardinality'])) {
4557
- $indexes_info[$row['Key_name']]['Cardinality'] = $row['Cardinality'];
4558
- }
4559
- // I don't know what does following column mean....
4560
- // $indexes_info[$row['Key_name']]['Packed'] = $row['Packed'];
4561
-
4562
- $indexes_info[$row['Key_name']]['Comment'] = $row['Comment'];
4563
-
4564
- $indexes_data[$row['Key_name']][$row['Seq_in_index']]['Column_name']
4565
- = $row['Column_name'];
4566
- if (isset($row['Sub_part'])) {
4567
- $indexes_data[$row['Key_name']][$row['Seq_in_index']]['Sub_part']
4568
- = $row['Sub_part'];
4569
- }
4570
-
4571
- } // end while
4572
-
4573
- return array($primary, $pk_array, $indexes_info, $indexes_data);
4574
- }
4575
-
4576
- /**
4577
- * Returns the HTML for check all check box and with selected text
4578
- * for multi submits
4579
- *
4580
- * @param string $pmaThemeImage path to theme's image folder
4581
- * @param string $text_dir text direction
4582
- * @param string $formName name of the enclosing form
4583
- *
4584
- * @return string HTML
4585
- */
4586
- public static function getWithSelected($pmaThemeImage, $text_dir, $formName)
4587
- {
4588
- $html = '<img class="selectallarrow" '
4589
- . 'src="' . $pmaThemeImage . 'arrow_' . $text_dir . '.png" '
4590
- . 'width="38" height="22" alt="' . __('With selected:') . '" />';
4591
- $html .= '<input type="checkbox" id="' . $formName . '_checkall" '
4592
- . 'class="checkall_box" title="' . __('Check All') . '" />'
4593
- . '<label for="' . $formName . '_checkall">' . __('Check All')
4594
- . '</label>';
4595
- $html .= '<i style="margin-left: 2em">'
4596
- . __('With selected:') . '</i>';
4597
-
4598
- return $html;
4599
- }
4600
- }
4601
-
4602
- ?>