simpletool 0.0.1 → 0.0.2

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 (1707) hide show
  1. checksums.yaml +4 -4
  2. data/lib/simpletool.rb +46 -11
  3. data/lib/support/ftp/vsftpd.conf +152 -0
  4. data/lib/support/phpmyadmin/nginx.phpmyadmin.default +112 -0
  5. data/lib/support/phpmyadmin/phpmyadmin/CONTRIBUTING.md +25 -0
  6. data/lib/support/phpmyadmin/phpmyadmin/ChangeLog +312 -0
  7. data/lib/support/phpmyadmin/phpmyadmin/DCO +44 -0
  8. data/lib/support/phpmyadmin/phpmyadmin/LICENSE +340 -0
  9. data/lib/support/phpmyadmin/phpmyadmin/README +52 -0
  10. data/lib/support/phpmyadmin/phpmyadmin/RELEASE-DATE-4.4.8 +1 -0
  11. data/lib/support/phpmyadmin/phpmyadmin/browse_foreigners.php +61 -0
  12. data/lib/support/phpmyadmin/phpmyadmin/changelog.php +153 -0
  13. data/lib/support/phpmyadmin/phpmyadmin/chk_rel.php +27 -0
  14. data/lib/support/phpmyadmin/phpmyadmin/composer.json +30 -0
  15. data/lib/support/phpmyadmin/phpmyadmin/config.sample.inc.php +152 -0
  16. data/lib/support/phpmyadmin/phpmyadmin/db_central_columns.php +134 -0
  17. data/lib/support/phpmyadmin/phpmyadmin/db_create.php +141 -0
  18. data/lib/support/phpmyadmin/phpmyadmin/db_datadict.php +208 -0
  19. data/lib/support/phpmyadmin/phpmyadmin/db_designer.php +173 -0
  20. data/lib/support/phpmyadmin/phpmyadmin/db_events.php +26 -0
  21. data/lib/support/phpmyadmin/phpmyadmin/db_export.php +94 -0
  22. data/lib/support/phpmyadmin/phpmyadmin/db_import.php +25 -0
  23. data/lib/support/phpmyadmin/phpmyadmin/db_operations.php +291 -0
  24. data/lib/support/phpmyadmin/phpmyadmin/db_printview.php +175 -0
  25. data/lib/support/phpmyadmin/phpmyadmin/db_qbe.php +131 -0
  26. data/lib/support/phpmyadmin/phpmyadmin/db_routines.php +27 -0
  27. data/lib/support/phpmyadmin/phpmyadmin/db_search.php +63 -0
  28. data/lib/support/phpmyadmin/phpmyadmin/db_sql.php +45 -0
  29. data/lib/support/phpmyadmin/phpmyadmin/db_sql_autocomplete.php +24 -0
  30. data/lib/support/phpmyadmin/phpmyadmin/db_sql_format.php +18 -0
  31. data/lib/support/phpmyadmin/phpmyadmin/db_structure.php +345 -0
  32. data/lib/support/phpmyadmin/phpmyadmin/db_tracking.php +350 -0
  33. data/lib/support/phpmyadmin/phpmyadmin/db_triggers.php +25 -0
  34. data/lib/support/phpmyadmin/phpmyadmin/doc/Makefile +197 -0
  35. data/lib/support/phpmyadmin/phpmyadmin/doc/_ext/configext.py +188 -0
  36. data/lib/support/phpmyadmin/phpmyadmin/doc/conf.py +304 -0
  37. data/lib/support/phpmyadmin/phpmyadmin/doc/config.rst +2794 -0
  38. data/lib/support/phpmyadmin/phpmyadmin/doc/copyright.rst +50 -0
  39. data/lib/support/phpmyadmin/phpmyadmin/doc/credits.rst +657 -0
  40. data/lib/support/phpmyadmin/phpmyadmin/doc/developers.rst +12 -0
  41. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/config.doctree +0 -0
  42. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/copyright.doctree +0 -0
  43. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/credits.doctree +0 -0
  44. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/developers.doctree +0 -0
  45. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/environment.pickle +0 -0
  46. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/faq.doctree +0 -0
  47. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/glossary.doctree +0 -0
  48. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/import_export.doctree +0 -0
  49. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/index.doctree +0 -0
  50. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/intro.doctree +0 -0
  51. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/other.doctree +0 -0
  52. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/privileges.doctree +0 -0
  53. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/require.doctree +0 -0
  54. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/setup.doctree +0 -0
  55. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/transformations.doctree +0 -0
  56. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/user.doctree +0 -0
  57. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/vendors.doctree +0 -0
  58. data/lib/support/phpmyadmin/phpmyadmin/doc/faq.rst +2112 -0
  59. data/lib/support/phpmyadmin/phpmyadmin/doc/glossary.rst +399 -0
  60. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/config.txt +2794 -0
  61. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/copyright.txt +50 -0
  62. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/credits.txt +657 -0
  63. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/developers.txt +12 -0
  64. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/faq.txt +2112 -0
  65. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/glossary.txt +399 -0
  66. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/import_export.txt +27 -0
  67. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/index.txt +32 -0
  68. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/intro.txt +68 -0
  69. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/other.txt +18 -0
  70. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/privileges.txt +50 -0
  71. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/require.txt +54 -0
  72. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/setup.txt +543 -0
  73. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/transformations.txt +138 -0
  74. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/user.txt +10 -0
  75. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/vendors.txt +35 -0
  76. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/ajax-loader.gif +0 -0
  77. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/basic.css +540 -0
  78. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment-bright.png +0 -0
  79. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment-close.png +0 -0
  80. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment.png +0 -0
  81. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/default.css +256 -0
  82. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/doctools.js +247 -0
  83. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/down-pressed.png +0 -0
  84. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/down.png +0 -0
  85. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/file.png +0 -0
  86. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/jquery.js +154 -0
  87. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/minus.png +0 -0
  88. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/plus.png +0 -0
  89. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/pygments.css +62 -0
  90. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/searchtools.js +560 -0
  91. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/sidebar.js +151 -0
  92. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/underscore.js +23 -0
  93. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/up-pressed.png +0 -0
  94. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/up.png +0 -0
  95. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/websupport.js +808 -0
  96. data/lib/support/phpmyadmin/phpmyadmin/doc/html/config.html +5000 -0
  97. data/lib/support/phpmyadmin/phpmyadmin/doc/html/copyright.html +157 -0
  98. data/lib/support/phpmyadmin/phpmyadmin/doc/html/credits.html +714 -0
  99. data/lib/support/phpmyadmin/phpmyadmin/doc/html/developers.html +118 -0
  100. data/lib/support/phpmyadmin/phpmyadmin/doc/html/faq.html +1871 -0
  101. data/lib/support/phpmyadmin/phpmyadmin/doc/html/genindex.html +3807 -0
  102. data/lib/support/phpmyadmin/phpmyadmin/doc/html/glossary.html +618 -0
  103. data/lib/support/phpmyadmin/phpmyadmin/doc/html/import_export.html +148 -0
  104. data/lib/support/phpmyadmin/phpmyadmin/doc/html/index.html +210 -0
  105. data/lib/support/phpmyadmin/phpmyadmin/doc/html/intro.html +182 -0
  106. data/lib/support/phpmyadmin/phpmyadmin/doc/html/objects.inv +0 -0
  107. data/lib/support/phpmyadmin/phpmyadmin/doc/html/other.html +135 -0
  108. data/lib/support/phpmyadmin/phpmyadmin/doc/html/privileges.html +169 -0
  109. data/lib/support/phpmyadmin/phpmyadmin/doc/html/require.html +168 -0
  110. data/lib/support/phpmyadmin/phpmyadmin/doc/html/search.html +100 -0
  111. data/lib/support/phpmyadmin/phpmyadmin/doc/html/searchindex.js +1 -0
  112. data/lib/support/phpmyadmin/phpmyadmin/doc/html/setup.html +909 -0
  113. data/lib/support/phpmyadmin/phpmyadmin/doc/html/transformations.html +240 -0
  114. data/lib/support/phpmyadmin/phpmyadmin/doc/html/user.html +139 -0
  115. data/lib/support/phpmyadmin/phpmyadmin/doc/html/vendors.html +149 -0
  116. data/lib/support/phpmyadmin/phpmyadmin/doc/import_export.rst +27 -0
  117. data/lib/support/phpmyadmin/phpmyadmin/doc/index.rst +32 -0
  118. data/lib/support/phpmyadmin/phpmyadmin/doc/intro.rst +68 -0
  119. data/lib/support/phpmyadmin/phpmyadmin/doc/make.bat +242 -0
  120. data/lib/support/phpmyadmin/phpmyadmin/doc/other.rst +18 -0
  121. data/lib/support/phpmyadmin/phpmyadmin/doc/privileges.rst +50 -0
  122. data/lib/support/phpmyadmin/phpmyadmin/doc/require.rst +54 -0
  123. data/lib/support/phpmyadmin/phpmyadmin/doc/setup.rst +543 -0
  124. data/lib/support/phpmyadmin/phpmyadmin/doc/transformations.rst +138 -0
  125. data/lib/support/phpmyadmin/phpmyadmin/doc/user.rst +10 -0
  126. data/lib/support/phpmyadmin/phpmyadmin/doc/vendors.rst +35 -0
  127. data/lib/support/phpmyadmin/phpmyadmin/error_report.php +130 -0
  128. data/lib/support/phpmyadmin/phpmyadmin/examples/config.manyhosts.inc.php +51 -0
  129. data/lib/support/phpmyadmin/phpmyadmin/examples/openid.php +160 -0
  130. data/lib/support/phpmyadmin/phpmyadmin/examples/signon-script.php +37 -0
  131. data/lib/support/phpmyadmin/phpmyadmin/examples/signon.php +71 -0
  132. data/lib/support/phpmyadmin/phpmyadmin/examples/swekey.sample.conf +44 -0
  133. data/lib/support/phpmyadmin/phpmyadmin/export.php +480 -0
  134. data/lib/support/phpmyadmin/phpmyadmin/favicon.ico +0 -0
  135. data/lib/support/phpmyadmin/phpmyadmin/file_echo.php +81 -0
  136. data/lib/support/phpmyadmin/phpmyadmin/gis_data_editor.php +429 -0
  137. data/lib/support/phpmyadmin/phpmyadmin/import.php +770 -0
  138. data/lib/support/phpmyadmin/phpmyadmin/import_status.php +118 -0
  139. data/lib/support/phpmyadmin/phpmyadmin/index.php +701 -0
  140. data/lib/support/phpmyadmin/phpmyadmin/js/OpenStreetMap.js +126 -0
  141. data/lib/support/phpmyadmin/phpmyadmin/js/ajax.js +1031 -0
  142. data/lib/support/phpmyadmin/phpmyadmin/js/big_ints.js +67 -0
  143. data/lib/support/phpmyadmin/phpmyadmin/js/canvg/MIT-LICENSE.txt +22 -0
  144. data/lib/support/phpmyadmin/phpmyadmin/js/canvg/canvg.js +2509 -0
  145. data/lib/support/phpmyadmin/phpmyadmin/js/chart.js +664 -0
  146. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/LICENSE +19 -0
  147. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/hint/show-hint.js +394 -0
  148. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/hint/sql-hint.js +248 -0
  149. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/runmode/runmode.js +72 -0
  150. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/lib/codemirror.js +8645 -0
  151. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/javascript/javascript.js +692 -0
  152. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/sql/sql.js +391 -0
  153. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/xml/xml.js +384 -0
  154. data/lib/support/phpmyadmin/phpmyadmin/js/common.js +515 -0
  155. data/lib/support/phpmyadmin/phpmyadmin/js/config.js +798 -0
  156. data/lib/support/phpmyadmin/phpmyadmin/js/console.js +1032 -0
  157. data/lib/support/phpmyadmin/phpmyadmin/js/cross_framing_protection.js +10 -0
  158. data/lib/support/phpmyadmin/phpmyadmin/js/db_central_columns.js +200 -0
  159. data/lib/support/phpmyadmin/phpmyadmin/js/db_operations.js +157 -0
  160. data/lib/support/phpmyadmin/phpmyadmin/js/db_qbe.js +64 -0
  161. data/lib/support/phpmyadmin/phpmyadmin/js/db_search.js +239 -0
  162. data/lib/support/phpmyadmin/phpmyadmin/js/db_structure.js +391 -0
  163. data/lib/support/phpmyadmin/phpmyadmin/js/db_tracking.js +85 -0
  164. data/lib/support/phpmyadmin/phpmyadmin/js/doclinks.js +365 -0
  165. data/lib/support/phpmyadmin/phpmyadmin/js/error_report.js +340 -0
  166. data/lib/support/phpmyadmin/phpmyadmin/js/export.js +401 -0
  167. data/lib/support/phpmyadmin/phpmyadmin/js/functions.js +4579 -0
  168. data/lib/support/phpmyadmin/phpmyadmin/js/get_image.js.php +148 -0
  169. data/lib/support/phpmyadmin/phpmyadmin/js/get_scripts.js.php +62 -0
  170. data/lib/support/phpmyadmin/phpmyadmin/js/gis_data_editor.js +396 -0
  171. data/lib/support/phpmyadmin/phpmyadmin/js/import.js +167 -0
  172. data/lib/support/phpmyadmin/phpmyadmin/js/indexes.js +697 -0
  173. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/excanvas.js +1438 -0
  174. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/jquery.jqplot.js +11411 -0
  175. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.barRenderer.js +801 -0
  176. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.byteFormatter.js +46 -0
  177. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.canvasAxisLabelRenderer.js +203 -0
  178. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.canvasTextRenderer.js +449 -0
  179. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.categoryAxisRenderer.js +679 -0
  180. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.cursor.js +1108 -0
  181. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.dateAxisRenderer.js +741 -0
  182. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.highlighter.js +465 -0
  183. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.pieRenderer.js +904 -0
  184. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.pointLabels.js +377 -0
  185. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/MIT-LICENSE.txt +21 -0
  186. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-1.11.1.min.js +4 -0
  187. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-ui-1.11.2.min.js +13 -0
  188. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-ui-timepicker-addon.js +2223 -0
  189. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.ba-hashchange-1.3.js +390 -0
  190. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.cookie.js +91 -0
  191. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.debounce-1.0.5.js +71 -0
  192. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.event.drag-2.2.js +402 -0
  193. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.fullscreen.js +60 -0
  194. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.mousewheel.js +221 -0
  195. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.sortableTable.js +272 -0
  196. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.svg.js +1352 -0
  197. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.tablesorter.js +1033 -0
  198. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.uitablefilter.js +117 -0
  199. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/README +9 -0
  200. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/jsonp.js +89 -0
  201. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/load.js +75 -0
  202. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/parseJSON.js +51 -0
  203. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/parseXML.js +31 -0
  204. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/script.js +93 -0
  205. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/var/nonce.js +5 -0
  206. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/var/rquery.js +3 -0
  207. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/xhr.js +196 -0
  208. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax.js +807 -0
  209. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/attr.js +271 -0
  210. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/classes.js +157 -0
  211. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/prop.js +134 -0
  212. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/support.js +62 -0
  213. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/val.js +178 -0
  214. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes.js +11 -0
  215. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/callbacks.js +205 -0
  216. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/access.js +60 -0
  217. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/init.js +132 -0
  218. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/parseHTML.js +39 -0
  219. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/ready.js +152 -0
  220. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/var/rsingleTag.js +4 -0
  221. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core.js +534 -0
  222. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/addGetHookIf.js +32 -0
  223. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/curCSS.js +117 -0
  224. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/defaultDisplay.js +69 -0
  225. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/hiddenVisibleSelectors.js +20 -0
  226. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/support.js +149 -0
  227. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/swap.js +28 -0
  228. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/cssExpand.js +3 -0
  229. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/isHidden.js +13 -0
  230. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/rmargin.js +3 -0
  231. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/rnumnonpx.js +5 -0
  232. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css.js +504 -0
  233. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data/accepts.js +21 -0
  234. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data/support.js +25 -0
  235. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data.js +335 -0
  236. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/deferred.js +150 -0
  237. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/deprecated.js +13 -0
  238. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/dimensions.js +50 -0
  239. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/Tween.js +114 -0
  240. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/animatedSelector.js +13 -0
  241. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/support.js +55 -0
  242. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects.js +656 -0
  243. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event/alias.js +39 -0
  244. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event/support.js +26 -0
  245. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event.js +1037 -0
  246. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/exports/amd.js +24 -0
  247. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/exports/global.js +32 -0
  248. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/intro.js +44 -0
  249. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/jquery.js +37 -0
  250. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/_evalUrl.js +18 -0
  251. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/support.js +76 -0
  252. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/var/rcheckableType.js +3 -0
  253. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation.js +744 -0
  254. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/offset.js +211 -0
  255. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/outro.js +1 -0
  256. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/queue/delay.js +22 -0
  257. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/queue.js +142 -0
  258. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/selector-sizzle.js +14 -0
  259. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/selector.js +1 -0
  260. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/serialize.js +110 -0
  261. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.js +2044 -0
  262. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.min.js +3 -0
  263. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.min.map +1 -0
  264. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/empty.js +0 -0
  265. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/mixed_sort.html +22 -0
  266. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/testinit.js +136 -0
  267. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/index.html +242 -0
  268. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/jquery.js +9597 -0
  269. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/extending.js +95 -0
  270. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/selector.js +1149 -0
  271. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/utilities.js +169 -0
  272. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/support.js +58 -0
  273. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing/findFilter.js +100 -0
  274. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing/var/rneedsContext.js +6 -0
  275. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing.js +200 -0
  276. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/class2type.js +4 -0
  277. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/concat.js +5 -0
  278. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/deletedIds.js +3 -0
  279. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/hasOwn.js +5 -0
  280. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/indexOf.js +5 -0
  281. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/pnum.js +3 -0
  282. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/push.js +5 -0
  283. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/rnotwhite.js +3 -0
  284. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/slice.js +5 -0
  285. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/strundefined.js +3 -0
  286. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/support.js +4 -0
  287. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/toString.js +5 -0
  288. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/wrap.js +75 -0
  289. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/accordion.js +584 -0
  290. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/autocomplete.js +628 -0
  291. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/button.js +411 -0
  292. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/core.js +304 -0
  293. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/datepicker.js +2080 -0
  294. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/dialog.js +875 -0
  295. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/draggable.js +1128 -0
  296. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/droppable.js +413 -0
  297. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-blind.js +90 -0
  298. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-bounce.js +123 -0
  299. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-clip.js +77 -0
  300. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-drop.js +75 -0
  301. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-explode.js +107 -0
  302. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-fade.js +40 -0
  303. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-fold.js +86 -0
  304. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-highlight.js +60 -0
  305. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-puff.js +60 -0
  306. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-pulsate.js +73 -0
  307. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-scale.js +89 -0
  308. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-shake.js +84 -0
  309. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-size.js +233 -0
  310. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-slide.js +74 -0
  311. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-transfer.js +57 -0
  312. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect.js +1301 -0
  313. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/menu.js +646 -0
  314. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/mouse.js +199 -0
  315. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/position.js +517 -0
  316. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/progressbar.js +159 -0
  317. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/resizable.js +1179 -0
  318. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/selectable.js +287 -0
  319. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/selectmenu.js +616 -0
  320. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/slider.js +699 -0
  321. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/sortable.js +1304 -0
  322. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/spinner.js +514 -0
  323. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/tabs.js +880 -0
  324. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/tooltip.js +461 -0
  325. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/widget.js +557 -0
  326. data/lib/support/phpmyadmin/phpmyadmin/js/keyhandler.js +145 -0
  327. data/lib/support/phpmyadmin/phpmyadmin/js/line_counts.php +523 -0
  328. data/lib/support/phpmyadmin/phpmyadmin/js/makegrid.js +1973 -0
  329. data/lib/support/phpmyadmin/phpmyadmin/js/menu-resizer.js +182 -0
  330. data/lib/support/phpmyadmin/phpmyadmin/js/messages.php +718 -0
  331. data/lib/support/phpmyadmin/phpmyadmin/js/multi_column_sort.js +81 -0
  332. data/lib/support/phpmyadmin/phpmyadmin/js/navigation.js +1505 -0
  333. data/lib/support/phpmyadmin/phpmyadmin/js/normalization.js +707 -0
  334. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/OpenLayers.js +2681 -0
  335. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/blank.gif +0 -0
  336. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/cloud-popup-relative.png +0 -0
  337. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/drag-rectangle-off.png +0 -0
  338. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/drag-rectangle-on.png +0 -0
  339. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/east-mini.png +0 -0
  340. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/layer-switcher-maximize.png +0 -0
  341. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/layer-switcher-minimize.png +0 -0
  342. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-blue.png +0 -0
  343. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-gold.png +0 -0
  344. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-green.png +0 -0
  345. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker.png +0 -0
  346. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/measuring-stick-off.png +0 -0
  347. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/measuring-stick-on.png +0 -0
  348. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/north-mini.png +0 -0
  349. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/panning-hand-off.png +0 -0
  350. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/panning-hand-on.png +0 -0
  351. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/slider.png +0 -0
  352. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/south-mini.png +0 -0
  353. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/west-mini.png +0 -0
  354. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-minus-mini.png +0 -0
  355. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-plus-mini.png +0 -0
  356. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-world-mini.png +0 -0
  357. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoombar.png +0 -0
  358. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/README +12 -0
  359. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/errorIcon.png +0 -0
  360. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.css +209 -0
  361. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.html +23 -0
  362. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.js +674 -0
  363. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebugx.js +9 -0
  364. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/infoIcon.png +0 -0
  365. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/license.txt +30 -0
  366. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/readme.txt +13 -0
  367. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/warningIcon.png +0 -0
  368. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Gears/gears_init.js +88 -0
  369. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Ajax.js +678 -0
  370. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Bounds.js +681 -0
  371. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Class.js +116 -0
  372. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Element.js +251 -0
  373. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/LonLat.js +190 -0
  374. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Pixel.js +125 -0
  375. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Size.js +85 -0
  376. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes.js +682 -0
  377. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Console.js +246 -0
  378. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ArgParser.js +166 -0
  379. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Attribution.js +97 -0
  380. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Button.js +44 -0
  381. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DragFeature.js +303 -0
  382. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DragPan.js +94 -0
  383. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DrawFeature.js +126 -0
  384. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/EditingToolbar.js +63 -0
  385. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/GetFeature.js +595 -0
  386. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Graticule.js +373 -0
  387. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/KeyboardDefaults.js +127 -0
  388. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/LayerSwitcher.js +620 -0
  389. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Measure.js +321 -0
  390. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ModifyFeature.js +777 -0
  391. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MouseDefaults.js +368 -0
  392. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MousePosition.js +213 -0
  393. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MouseToolbar.js +406 -0
  394. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/NavToolbar.js +55 -0
  395. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Navigation.js +303 -0
  396. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/NavigationHistory.js +423 -0
  397. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/OverviewMap.js +720 -0
  398. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Pan.js +86 -0
  399. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanPanel.js +63 -0
  400. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanZoom.js +246 -0
  401. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanZoomBar.js +396 -0
  402. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Panel.js +371 -0
  403. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Permalink.js +220 -0
  404. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/SLDSelect.js +570 -0
  405. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Scale.js +99 -0
  406. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ScaleLine.js +223 -0
  407. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/SelectFeature.js +613 -0
  408. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Snapping.js +547 -0
  409. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Split.js +498 -0
  410. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/TransformFeature.js +579 -0
  411. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/WMSGetFeatureInfo.js +524 -0
  412. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/WMTSGetFeatureInfo.js +442 -0
  413. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomBox.js +95 -0
  414. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomIn.js +35 -0
  415. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomOut.js +35 -0
  416. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomPanel.js +54 -0
  417. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomToMaxExtent.js +40 -0
  418. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control.js +368 -0
  419. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Events.js +855 -0
  420. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature/Vector.js +454 -0
  421. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature/WFS.js +80 -0
  422. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature.js +227 -0
  423. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Comparison.js +258 -0
  424. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/FeatureId.js +81 -0
  425. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Logical.js +119 -0
  426. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Spatial.js +128 -0
  427. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter.js +68 -0
  428. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML/Features.js +49 -0
  429. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML.js +1028 -0
  430. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Atom.js +727 -0
  431. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js +243 -0
  432. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain.js +34 -0
  433. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js +440 -0
  434. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords.js +34 -0
  435. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Context.js +334 -0
  436. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1.js +426 -0
  437. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_0_0.js +169 -0
  438. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_1_0.js +182 -0
  439. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter.js +115 -0
  440. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/Base.js +578 -0
  441. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/v2.js +193 -0
  442. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/v3.js +462 -0
  443. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML.js +924 -0
  444. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GPX.js +184 -0
  445. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GeoJSON.js +716 -0
  446. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GeoRSS.js +420 -0
  447. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/JSON.js +389 -0
  448. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/KML.js +1429 -0
  449. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OSM.js +457 -0
  450. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1.js +256 -0
  451. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_0_0.js +50 -0
  452. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_1_0.js +64 -0
  453. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext/v0_3_1.js +589 -0
  454. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext.js +81 -0
  455. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1.js +1100 -0
  456. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1_0_0.js +51 -0
  457. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD.js +131 -0
  458. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js +158 -0
  459. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities.js +83 -0
  460. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js +193 -0
  461. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetObservation.js +262 -0
  462. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Text.js +152 -0
  463. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFS.js +220 -0
  464. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1.js +126 -0
  465. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js +157 -0
  466. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js +36 -0
  467. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities.js +80 -0
  468. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSDescribeFeatureType.js +198 -0
  469. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1.js +368 -0
  470. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_0_0.js +150 -0
  471. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_1_0.js +161 -0
  472. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST.js +34 -0
  473. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WKT.js +358 -0
  474. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1.js +835 -0
  475. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_0_0.js +76 -0
  476. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_1_0.js +127 -0
  477. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC.js +152 -0
  478. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1.js +418 -0
  479. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1.js +118 -0
  480. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js +62 -0
  481. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js +58 -0
  482. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3.js +128 -0
  483. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js +30 -0
  484. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities.js +82 -0
  485. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js +100 -0
  486. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer.js +91 -0
  487. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSGetFeatureInfo.js +284 -0
  488. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js +221 -0
  489. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js +162 -0
  490. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/XML.js +881 -0
  491. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format.js +123 -0
  492. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Collection.js +546 -0
  493. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Curve.js +93 -0
  494. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/LineString.js +552 -0
  495. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/LinearRing.js +417 -0
  496. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiLineString.js +262 -0
  497. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPoint.js +70 -0
  498. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPolygon.js +46 -0
  499. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Point.js +283 -0
  500. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Polygon.js +259 -0
  501. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Rectangle.js +99 -0
  502. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Surface.js +17 -0
  503. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry.js +456 -0
  504. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Box.js +221 -0
  505. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Click.js +325 -0
  506. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Drag.js +420 -0
  507. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Feature.js +388 -0
  508. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Hover.js +183 -0
  509. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Keyboard.js +109 -0
  510. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/MouseWheel.js +283 -0
  511. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Path.js +302 -0
  512. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Point.js +373 -0
  513. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Polygon.js +144 -0
  514. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/RegularPolygon.js +421 -0
  515. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler.js +287 -0
  516. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Icon.js +227 -0
  517. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ar.js +38 -0
  518. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/be-tarask.js +80 -0
  519. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/bg.js +29 -0
  520. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/br.js +79 -0
  521. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ca.js +128 -0
  522. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/cs-CZ.js +69 -0
  523. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/da-DK.js +119 -0
  524. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/de.js +81 -0
  525. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/el.js +19 -0
  526. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/en-CA.js +21 -0
  527. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/en.js +128 -0
  528. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/es.js +129 -0
  529. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fi.js +34 -0
  530. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fr.js +80 -0
  531. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fur.js +35 -0
  532. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/gl.js +79 -0
  533. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/gsw.js +79 -0
  534. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hr.js +61 -0
  535. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hsb.js +79 -0
  536. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hu.js +80 -0
  537. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ia.js +79 -0
  538. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/id.js +80 -0
  539. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/io.js +19 -0
  540. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/is.js +37 -0
  541. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/it.js +116 -0
  542. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ja.js +80 -0
  543. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/km.js +25 -0
  544. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ksh.js +79 -0
  545. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nb.js +118 -0
  546. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nds.js +61 -0
  547. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nl.js +79 -0
  548. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nn.js +27 -0
  549. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/oc.js +79 -0
  550. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/pt-BR.js +80 -0
  551. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/pt.js +81 -0
  552. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ru.js +82 -0
  553. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/sk.js +71 -0
  554. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/sv-SE.js +71 -0
  555. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/te.js +27 -0
  556. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/vi.js +79 -0
  557. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/zh-CN.js +116 -0
  558. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/zh-TW.js +117 -0
  559. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang.js +133 -0
  560. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/ArcGIS93Rest.js +253 -0
  561. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/ArcIMS.js +466 -0
  562. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Boxes.js +76 -0
  563. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/EventPane.js +418 -0
  564. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/FixedZoomLevels.js +315 -0
  565. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/GML.js +174 -0
  566. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/GeoRSS.js +266 -0
  567. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Google/v3.js +419 -0
  568. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Google.js +795 -0
  569. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Grid.js +755 -0
  570. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/HTTPRequest.js +230 -0
  571. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Image.js +254 -0
  572. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/KaMap.js +206 -0
  573. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/KaMapCache.js +148 -0
  574. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapGuide.js +489 -0
  575. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer/Untiled.js +72 -0
  576. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer.js +199 -0
  577. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Markers.js +187 -0
  578. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MultiMap.js +284 -0
  579. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/PointTrack.js +103 -0
  580. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/SphericalMercator.js +196 -0
  581. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/TMS.js +167 -0
  582. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Text.js +264 -0
  583. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/TileCache.js +165 -0
  584. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Vector/RootContainer.js +157 -0
  585. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Vector.js +947 -0
  586. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/VirtualEarth.js +368 -0
  587. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WFS.js +609 -0
  588. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Post.js +99 -0
  589. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Untiled.js +72 -0
  590. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS.js +268 -0
  591. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMTS.js +476 -0
  592. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WorldWind.js +120 -0
  593. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/XYZ.js +196 -0
  594. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Yahoo.js +430 -0
  595. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Zoomify.js +308 -0
  596. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer.js +1304 -0
  597. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Map.js +2417 -0
  598. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Marker/Box.js +120 -0
  599. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Marker.js +242 -0
  600. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/Anchored.js +198 -0
  601. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/AnchoredBubble.js +190 -0
  602. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/Framed.js +343 -0
  603. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/FramedCloud.js +231 -0
  604. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup.js +1052 -0
  605. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Projection.js +178 -0
  606. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/HTTP.js +655 -0
  607. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS/v1_0_0.js +132 -0
  608. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS.js +33 -0
  609. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL/Gears.js +561 -0
  610. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL.js +88 -0
  611. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1.js +342 -0
  612. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_0_0.js +44 -0
  613. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_1_0.js +48 -0
  614. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS.js +71 -0
  615. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol.js +272 -0
  616. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/Canvas.js +494 -0
  617. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/Elements.js +1010 -0
  618. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/SVG.js +995 -0
  619. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/VML.js +999 -0
  620. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer.js +362 -0
  621. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Request/XMLHttpRequest.js +384 -0
  622. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Request.js +358 -0
  623. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Rule.js +240 -0
  624. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/SingleFile.js +10 -0
  625. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/BBOX.js +278 -0
  626. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Cluster.js +280 -0
  627. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Filter.js +164 -0
  628. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Fixed.js +138 -0
  629. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Paging.js +236 -0
  630. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Refresh.js +140 -0
  631. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Save.js +229 -0
  632. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy.js +117 -0
  633. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Style.js +443 -0
  634. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Style2.js +111 -0
  635. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/StyleMap.js +160 -0
  636. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Line.js +69 -0
  637. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Point.js +141 -0
  638. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Polygon.js +81 -0
  639. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Raster.js +34 -0
  640. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Text.js +65 -0
  641. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer.js +51 -0
  642. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/Image/IFrame.js +262 -0
  643. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/Image.js +578 -0
  644. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/WFS.js +192 -0
  645. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile.js +281 -0
  646. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tween.js +318 -0
  647. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Util.js +1797 -0
  648. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers.js +348 -0
  649. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Rico/Color.js +244 -0
  650. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Rico/Corner.js +330 -0
  651. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/framedCloud.css +0 -0
  652. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/google.css +10 -0
  653. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/ie6-style.css +7 -0
  654. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/add_point_off.png +0 -0
  655. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/add_point_on.png +0 -0
  656. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/blank.gif +0 -0
  657. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/close.gif +0 -0
  658. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/drag-rectangle-off.png +0 -0
  659. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/drag-rectangle-on.png +0 -0
  660. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_line_off.png +0 -0
  661. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_line_on.png +0 -0
  662. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_point_off.png +0 -0
  663. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_point_on.png +0 -0
  664. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_polygon_off.png +0 -0
  665. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_polygon_on.png +0 -0
  666. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/editing_tool_bar.png +0 -0
  667. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/move_feature_off.png +0 -0
  668. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/move_feature_on.png +0 -0
  669. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/navigation_history.png +0 -0
  670. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/overview_replacement.gif +0 -0
  671. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan-panel-NOALPHA.png +0 -0
  672. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan-panel.png +0 -0
  673. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan_off.png +0 -0
  674. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan_on.png +0 -0
  675. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/panning-hand-off.png +0 -0
  676. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/panning-hand-on.png +0 -0
  677. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/remove_point_off.png +0 -0
  678. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/remove_point_on.png +0 -0
  679. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/ruler.png +0 -0
  680. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/save_features_off.png +0 -0
  681. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/save_features_on.png +0 -0
  682. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_next_off.png +0 -0
  683. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_next_on.png +0 -0
  684. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_previous_off.png +0 -0
  685. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_previous_on.png +0 -0
  686. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/zoom-panel-NOALPHA.png +0 -0
  687. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/zoom-panel.png +0 -0
  688. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/style.css +397 -0
  689. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_db.js +136 -0
  690. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_objects.js +17 -0
  691. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_page.js +164 -0
  692. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/history.js +812 -0
  693. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/iecanvas.js +147 -0
  694. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/init.js +40 -0
  695. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/move.js +1993 -0
  696. data/lib/support/phpmyadmin/phpmyadmin/js/replication.js +72 -0
  697. data/lib/support/phpmyadmin/phpmyadmin/js/rte.js +944 -0
  698. data/lib/support/phpmyadmin/phpmyadmin/js/server_databases.js +137 -0
  699. data/lib/support/phpmyadmin/phpmyadmin/js/server_plugins.js +30 -0
  700. data/lib/support/phpmyadmin/phpmyadmin/js/server_privileges.js +451 -0
  701. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_advisor.js +93 -0
  702. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_monitor.js +2172 -0
  703. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_processes.js +189 -0
  704. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_queries.js +34 -0
  705. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_sorter.js +89 -0
  706. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_variables.js +103 -0
  707. data/lib/support/phpmyadmin/phpmyadmin/js/server_user_groups.js +42 -0
  708. data/lib/support/phpmyadmin/phpmyadmin/js/server_variables.js +147 -0
  709. data/lib/support/phpmyadmin/phpmyadmin/js/sprintf.js +211 -0
  710. data/lib/support/phpmyadmin/phpmyadmin/js/sql.js +842 -0
  711. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_change.js +754 -0
  712. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_chart.js +437 -0
  713. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_find_replace.js +47 -0
  714. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_gis_visualization.js +353 -0
  715. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_operations.js +240 -0
  716. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_relation.js +233 -0
  717. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_select.js +395 -0
  718. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_structure.js +397 -0
  719. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_tracking.js +96 -0
  720. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_zoom_plot_jqplot.js +638 -0
  721. data/lib/support/phpmyadmin/phpmyadmin/js/tracekit/tracekit.js +1114 -0
  722. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/image_upload.js +28 -0
  723. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/json.js +18 -0
  724. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/json_editor.js +17 -0
  725. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/sql_editor.js +30 -0
  726. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/xml.js +18 -0
  727. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/xml_editor.js +16 -0
  728. data/lib/support/phpmyadmin/phpmyadmin/js/whitelist.php +38 -0
  729. data/lib/support/phpmyadmin/phpmyadmin/libraries/Advisor.class.php +526 -0
  730. data/lib/support/phpmyadmin/phpmyadmin/libraries/Config.class.php +1926 -0
  731. data/lib/support/phpmyadmin/phpmyadmin/libraries/Console.class.php +320 -0
  732. data/lib/support/phpmyadmin/phpmyadmin/libraries/DBQbe.class.php +1593 -0
  733. data/lib/support/phpmyadmin/phpmyadmin/libraries/DatabaseInterface.class.php +2864 -0
  734. data/lib/support/phpmyadmin/phpmyadmin/libraries/DbSearch.class.php +502 -0
  735. data/lib/support/phpmyadmin/phpmyadmin/libraries/DisplayResults.class.php +5685 -0
  736. data/lib/support/phpmyadmin/phpmyadmin/libraries/Error.class.php +470 -0
  737. data/lib/support/phpmyadmin/phpmyadmin/libraries/Error_Handler.class.php +561 -0
  738. data/lib/support/phpmyadmin/phpmyadmin/libraries/File.class.php +732 -0
  739. data/lib/support/phpmyadmin/phpmyadmin/libraries/Font.class.php +145 -0
  740. data/lib/support/phpmyadmin/phpmyadmin/libraries/Footer.class.php +351 -0
  741. data/lib/support/phpmyadmin/phpmyadmin/libraries/Header.class.php +752 -0
  742. data/lib/support/phpmyadmin/phpmyadmin/libraries/Index.class.php +1011 -0
  743. data/lib/support/phpmyadmin/phpmyadmin/libraries/List.class.php +122 -0
  744. data/lib/support/phpmyadmin/phpmyadmin/libraries/List_Database.class.php +193 -0
  745. data/lib/support/phpmyadmin/phpmyadmin/libraries/Menu.class.php +631 -0
  746. data/lib/support/phpmyadmin/phpmyadmin/libraries/Message.class.php +759 -0
  747. data/lib/support/phpmyadmin/phpmyadmin/libraries/OutputBuffering.class.php +139 -0
  748. data/lib/support/phpmyadmin/phpmyadmin/libraries/PDF.class.php +149 -0
  749. data/lib/support/phpmyadmin/phpmyadmin/libraries/PMA.php +109 -0
  750. data/lib/support/phpmyadmin/phpmyadmin/libraries/Partition.class.php +77 -0
  751. data/lib/support/phpmyadmin/phpmyadmin/libraries/RecentFavoriteTable.class.php +393 -0
  752. data/lib/support/phpmyadmin/phpmyadmin/libraries/Response.class.php +397 -0
  753. data/lib/support/phpmyadmin/phpmyadmin/libraries/SavedSearches.class.php +447 -0
  754. data/lib/support/phpmyadmin/phpmyadmin/libraries/Scripts.class.php +284 -0
  755. data/lib/support/phpmyadmin/phpmyadmin/libraries/ServerStatusData.class.php +448 -0
  756. data/lib/support/phpmyadmin/phpmyadmin/libraries/StorageEngine.class.php +451 -0
  757. data/lib/support/phpmyadmin/phpmyadmin/libraries/String.class.php +188 -0
  758. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringAbstractType.class.php +35 -0
  759. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringByte.int.php +173 -0
  760. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringCType.class.php +110 -0
  761. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringNativeType.class.php +138 -0
  762. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringType.int.php +84 -0
  763. data/lib/support/phpmyadmin/phpmyadmin/libraries/Table.class.php +1806 -0
  764. data/lib/support/phpmyadmin/phpmyadmin/libraries/TableSearch.class.php +1587 -0
  765. data/lib/support/phpmyadmin/phpmyadmin/libraries/Theme.class.php +485 -0
  766. data/lib/support/phpmyadmin/phpmyadmin/libraries/Theme_Manager.class.php +460 -0
  767. data/lib/support/phpmyadmin/phpmyadmin/libraries/Tracker.class.php +1030 -0
  768. data/lib/support/phpmyadmin/phpmyadmin/libraries/Types.class.php +1071 -0
  769. data/lib/support/phpmyadmin/phpmyadmin/libraries/Util.class.php +4602 -0
  770. data/lib/support/phpmyadmin/phpmyadmin/libraries/advisory_rules.txt +470 -0
  771. data/lib/support/phpmyadmin/phpmyadmin/libraries/bfShapeFiles/ShapeFile.lib.php +682 -0
  772. data/lib/support/phpmyadmin/phpmyadmin/libraries/bookmark.lib.php +273 -0
  773. data/lib/support/phpmyadmin/phpmyadmin/libraries/browse_foreigners.lib.php +316 -0
  774. data/lib/support/phpmyadmin/phpmyadmin/libraries/build_html_for_db.lib.php +184 -0
  775. data/lib/support/phpmyadmin/phpmyadmin/libraries/central_columns.lib.php +1003 -0
  776. data/lib/support/phpmyadmin/phpmyadmin/libraries/charset_conversion.lib.php +120 -0
  777. data/lib/support/phpmyadmin/phpmyadmin/libraries/check_user_privileges.lib.php +195 -0
  778. data/lib/support/phpmyadmin/phpmyadmin/libraries/cleanup.lib.php +50 -0
  779. data/lib/support/phpmyadmin/phpmyadmin/libraries/common.inc.php +1203 -0
  780. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/ConfigFile.class.php +543 -0
  781. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/Form.class.php +231 -0
  782. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/FormDisplay.class.php +837 -0
  783. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/FormDisplay.tpl.php +491 -0
  784. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/ServerConfigChecks.class.php +577 -0
  785. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/Validator.class.php +624 -0
  786. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/config_functions.lib.php +54 -0
  787. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/messages.inc.php +818 -0
  788. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/setup.forms.php +384 -0
  789. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/user_preferences.forms.php +281 -0
  790. data/lib/support/phpmyadmin/phpmyadmin/libraries/config.default.php +3011 -0
  791. data/lib/support/phpmyadmin/phpmyadmin/libraries/config.values.php +270 -0
  792. data/lib/support/phpmyadmin/phpmyadmin/libraries/core.lib.php +1013 -0
  793. data/lib/support/phpmyadmin/phpmyadmin/libraries/create_addfield.lib.php +376 -0
  794. data/lib/support/phpmyadmin/phpmyadmin/libraries/data_dictionary_relations.lib.php +167 -0
  795. data/lib/support/phpmyadmin/phpmyadmin/libraries/database_interface.inc.php +74 -0
  796. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_common.inc.php +105 -0
  797. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_designer.lib.php +1397 -0
  798. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_info.inc.php +248 -0
  799. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_printview.lib.php +30 -0
  800. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_table_exists.lib.php +106 -0
  801. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIDrizzle.class.php +583 -0
  802. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIDummy.class.php +906 -0
  803. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIExtension.int.php +262 -0
  804. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIMysql.class.php +469 -0
  805. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIMysqli.class.php +620 -0
  806. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/drizzle-wrappers.lib.php +427 -0
  807. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_change_password.lib.php +113 -0
  808. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_create_database.lib.php +62 -0
  809. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_create_table.lib.php +82 -0
  810. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_export.inc.php +72 -0
  811. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_export.lib.php +872 -0
  812. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_git_revision.lib.php +83 -0
  813. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import.inc.php +64 -0
  814. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import.lib.php +602 -0
  815. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import_ajax.lib.php +129 -0
  816. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_select_lang.lib.php +98 -0
  817. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_structure.inc.php +272 -0
  818. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/bdb.lib.php +87 -0
  819. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/berkeleydb.lib.php +26 -0
  820. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/binlog.lib.php +31 -0
  821. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/innobase.lib.php +25 -0
  822. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/innodb.lib.php +392 -0
  823. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/memory.lib.php +34 -0
  824. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/merge.lib.php +21 -0
  825. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/mrg_myisam.lib.php +36 -0
  826. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/myisam.lib.php +69 -0
  827. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/ndbcluster.lib.php +55 -0
  828. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/pbxt.lib.php +149 -0
  829. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/performance_schema.lib.php +31 -0
  830. data/lib/support/phpmyadmin/phpmyadmin/libraries/error.inc.php +58 -0
  831. data/lib/support/phpmyadmin/phpmyadmin/libraries/error_report.lib.php +432 -0
  832. data/lib/support/phpmyadmin/phpmyadmin/libraries/export.lib.php +858 -0
  833. data/lib/support/phpmyadmin/phpmyadmin/libraries/file_listing.lib.php +99 -0
  834. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Factory.class.php +66 -0
  835. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Geometry.class.php +376 -0
  836. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Geometrycollection.class.php +364 -0
  837. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Linestring.class.php +323 -0
  838. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multilinestring.class.php +394 -0
  839. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multipoint.class.php +367 -0
  840. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multipolygon.class.php +564 -0
  841. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Point.class.php +314 -0
  842. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Polygon.class.php +581 -0
  843. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Visualization.class.php +504 -0
  844. data/lib/support/phpmyadmin/phpmyadmin/libraries/iconv_wrapper.lib.php +128 -0
  845. data/lib/support/phpmyadmin/phpmyadmin/libraries/import.lib.php +1954 -0
  846. data/lib/support/phpmyadmin/phpmyadmin/libraries/index.lib.php +48 -0
  847. data/lib/support/phpmyadmin/phpmyadmin/libraries/information_schema_relations.lib.php +327 -0
  848. data/lib/support/phpmyadmin/phpmyadmin/libraries/insert_edit.lib.php +2931 -0
  849. data/lib/support/phpmyadmin/phpmyadmin/libraries/ip_allow_deny.lib.php +341 -0
  850. data/lib/support/phpmyadmin/phpmyadmin/libraries/js_escape.lib.php +135 -0
  851. data/lib/support/phpmyadmin/phpmyadmin/libraries/kanji-encoding.lib.php +168 -0
  852. data/lib/support/phpmyadmin/phpmyadmin/libraries/language_stats.inc.php +87 -0
  853. data/lib/support/phpmyadmin/phpmyadmin/libraries/logging.lib.php +30 -0
  854. data/lib/support/phpmyadmin/phpmyadmin/libraries/mime.lib.php +34 -0
  855. data/lib/support/phpmyadmin/phpmyadmin/libraries/mult_submits.inc.php +307 -0
  856. data/lib/support/phpmyadmin/phpmyadmin/libraries/mult_submits.lib.php +647 -0
  857. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_charsets.inc.php +129 -0
  858. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_charsets.lib.php +379 -0
  859. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_relations.lib.php +169 -0
  860. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Navigation.class.php +228 -0
  861. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NavigationHeader.class.php +223 -0
  862. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NavigationTree.class.php +1452 -0
  863. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NodeFactory.class.php +97 -0
  864. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node.class.php +813 -0
  865. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Column.class.php +47 -0
  866. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Column_Container.class.php +57 -0
  867. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Database.class.php +663 -0
  868. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_DatabaseChild.class.php +52 -0
  869. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Database_Container.class.php +51 -0
  870. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Event.class.php +57 -0
  871. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Event_Container.class.php +54 -0
  872. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Function.class.php +57 -0
  873. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Function_Container.class.php +53 -0
  874. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Index.class.php +45 -0
  875. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Index_Container.class.php +57 -0
  876. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Procedure.class.php +57 -0
  877. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Procedure_Container.class.php +55 -0
  878. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Table.class.php +294 -0
  879. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Table_Container.class.php +60 -0
  880. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Trigger.class.php +45 -0
  881. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Trigger_Container.class.php +57 -0
  882. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_View.class.php +57 -0
  883. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_View_Container.class.php +60 -0
  884. data/lib/support/phpmyadmin/phpmyadmin/libraries/normalization.lib.php +945 -0
  885. data/lib/support/phpmyadmin/phpmyadmin/libraries/opendocument.lib.php +171 -0
  886. data/lib/support/phpmyadmin/phpmyadmin/libraries/operations.lib.php +1649 -0
  887. data/lib/support/phpmyadmin/phpmyadmin/libraries/parse_analyze.inc.php +144 -0
  888. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/gettext.inc +536 -0
  889. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/gettext.php +432 -0
  890. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/streams.php +167 -0
  891. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/AES.php +184 -0
  892. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Base.php +1984 -0
  893. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Random.php +251 -0
  894. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Rijndael.php +1370 -0
  895. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugin_interface.lib.php +557 -0
  896. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/AuthenticationPlugin.class.php +100 -0
  897. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/ExportPlugin.class.php +326 -0
  898. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/IOTransformationsPlugin.class.php +91 -0
  899. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/ImportPlugin.class.php +77 -0
  900. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/SchemaPlugin.class.php +76 -0
  901. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/TransformationsInterface.int.php +49 -0
  902. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/TransformationsPlugin.class.php +69 -0
  903. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/UploadInterface.int.php +36 -0
  904. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationConfig.class.php +183 -0
  905. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationCookie.class.php +871 -0
  906. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationHttp.class.php +289 -0
  907. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationSignon.class.php +267 -0
  908. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/recaptcha/LICENSE +29 -0
  909. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/recaptcha/recaptchalib.php +140 -0
  910. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/authentication.inc.php +176 -0
  911. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/musbe-ca.crt +25 -0
  912. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/swekey.auth.lib.php +318 -0
  913. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/swekey.php +536 -0
  914. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportCodegen.class.php +434 -0
  915. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportCsv.class.php +323 -0
  916. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportExcel.class.php +92 -0
  917. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportHtmlword.class.php +644 -0
  918. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportJson.class.php +215 -0
  919. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportLatex.class.php +656 -0
  920. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportMediawiki.class.php +379 -0
  921. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportOds.class.php +334 -0
  922. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportOdt.class.php +765 -0
  923. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportPdf.class.php +276 -0
  924. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportPhparray.class.php +233 -0
  925. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportSql.class.php +2601 -0
  926. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportTexytext.class.php +575 -0
  927. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportXml.class.php +584 -0
  928. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportYaml.class.php +212 -0
  929. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/PMA_ExportPdf.class.php +434 -0
  930. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/README +267 -0
  931. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/TableProperty.class.php +286 -0
  932. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/AbstractImportCsv.class.php +90 -0
  933. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportCsv.class.php +687 -0
  934. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportLdi.class.php +161 -0
  935. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportMediawiki.class.php +598 -0
  936. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportOds.class.php +414 -0
  937. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportShp.class.php +327 -0
  938. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportSql.class.php +620 -0
  939. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportXml.class.php +366 -0
  940. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/README +159 -0
  941. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ShapeFile.class.php +102 -0
  942. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ShapeRecord.class.php +161 -0
  943. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadApc.class.php +84 -0
  944. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadNoplugin.class.php +64 -0
  945. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadProgress.class.php +94 -0
  946. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadSession.class.php +96 -0
  947. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/Export_Relation_Schema.class.php +299 -0
  948. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/RelationStats.class.php +108 -0
  949. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaDia.class.php +117 -0
  950. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaEps.class.php +102 -0
  951. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaPdf.class.php +132 -0
  952. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaSvg.class.php +90 -0
  953. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/TableStats.class.php +179 -0
  954. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/Dia_Relation_Schema.class.php +378 -0
  955. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/RelationStatsDia.class.php +216 -0
  956. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/TableStatsDia.class.php +227 -0
  957. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/Eps_Relation_Schema.class.php +508 -0
  958. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/RelationStatsEps.class.php +135 -0
  959. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/TableStatsEps.class.php +157 -0
  960. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/Pdf_Relation_Schema.class.php +1070 -0
  961. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/RelationStatsPdf.class.php +135 -0
  962. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/TableStatsPdf.class.php +222 -0
  963. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/RelationStatsSvg.class.php +119 -0
  964. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/Svg_Relation_Schema.class.php +501 -0
  965. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/TableStatsSvg.class.php +180 -0
  966. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/README +4 -0
  967. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/TEMPLATE +46 -0
  968. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/TEMPLATE_ABSTRACT +73 -0
  969. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Link.class.php +44 -0
  970. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Longtoipv4.class.php +44 -0
  971. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Preappend.class.php +45 -0
  972. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Substring.class.php +44 -0
  973. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/Bool2TextTransformationsPlugin.class.php +69 -0
  974. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/CodeMirrorEditorTransformationPlugin.class.php +64 -0
  975. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/DateFormatTransformationsPlugin.class.php +164 -0
  976. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/DownloadTransformationsPlugin.class.php +95 -0
  977. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ExternalTransformationsPlugin.class.php +155 -0
  978. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/FormattedTransformationsPlugin.class.php +65 -0
  979. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/HexTransformationsPlugin.class.php +72 -0
  980. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ImageLinkTransformationsPlugin.class.php +74 -0
  981. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ImageUploadTransformationsPlugin.class.php +110 -0
  982. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/InlineTransformationsPlugin.class.php +86 -0
  983. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/LongToIPv4TransformationsPlugin.class.php +68 -0
  984. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/PreApPendTransformationsPlugin.class.php +71 -0
  985. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/RegexValidationTransformationsPlugin.class.php +74 -0
  986. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/SQLTransformationsPlugin.class.php +67 -0
  987. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/SubstringTransformationsPlugin.class.php +92 -0
  988. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextFileUploadTransformationsPlugin.class.php +93 -0
  989. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextImageLinkTransformationsPlugin.class.php +81 -0
  990. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextLinkTransformationsPlugin.class.php +82 -0
  991. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/generator_main_class.sh +16 -0
  992. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/generator_plugin.sh +64 -0
  993. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Image_JPEG_Upload.class.php +46 -0
  994. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_Fileupload.class.php +45 -0
  995. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_JsonEditor.class.php +86 -0
  996. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_Regexvalidation.class.php +46 -0
  997. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_SqlEditor.class.php +86 -0
  998. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_XmlEditor.class.php +86 -0
  999. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Application_Octetstream_Download.class.php +44 -0
  1000. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Application_Octetstream_Hex.class.php +45 -0
  1001. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_JPEG_Inline.class.php +45 -0
  1002. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_JPEG_Link.class.php +45 -0
  1003. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_PNG_Inline.class.php +45 -0
  1004. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Octetstream_Sql.class.php +45 -0
  1005. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Bool2text.class.php +47 -0
  1006. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Dateformat.class.php +45 -0
  1007. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_External.class.php +45 -0
  1008. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Formatted.class.php +45 -0
  1009. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Imagelink.class.php +45 -0
  1010. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Json.class.php +96 -0
  1011. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Sql.class.php +57 -0
  1012. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Xml.class.php +96 -0
  1013. data/lib/support/phpmyadmin/phpmyadmin/libraries/pmd_common.php +657 -0
  1014. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/PropertyItem.class.php +49 -0
  1015. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyGroup.class.php +99 -0
  1016. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyItem.class.php +127 -0
  1017. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyOneItem.class.php +172 -0
  1018. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertyMainGroup.class.php +35 -0
  1019. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertyRootGroup.class.php +35 -0
  1020. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertySubgroup.class.php +68 -0
  1021. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/BoolPropertyItem.class.php +35 -0
  1022. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/DocPropertyItem.class.php +35 -0
  1023. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/HiddenPropertyItem.class.php +35 -0
  1024. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/MessageOnlyPropertyItem.class.php +35 -0
  1025. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/NumberPropertyItem.class.php +35 -0
  1026. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/RadioPropertyItem.class.php +35 -0
  1027. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/SelectPropertyItem.class.php +35 -0
  1028. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/TextPropertyItem.class.php +35 -0
  1029. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/ExportPluginProperties.class.php +68 -0
  1030. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/ImportPluginProperties.class.php +34 -0
  1031. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/PluginPropertyItem.class.php +183 -0
  1032. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/SchemaPluginProperties.class.php +47 -0
  1033. data/lib/support/phpmyadmin/phpmyadmin/libraries/relation.lib.php +2024 -0
  1034. data/lib/support/phpmyadmin/phpmyadmin/libraries/relation_cleanup.lib.php +216 -0
  1035. data/lib/support/phpmyadmin/phpmyadmin/libraries/replication.inc.php +321 -0
  1036. data/lib/support/phpmyadmin/phpmyadmin/libraries/replication_gui.lib.php +1088 -0
  1037. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_events.lib.php +618 -0
  1038. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_export.lib.php +121 -0
  1039. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_footer.lib.php +130 -0
  1040. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_general.lib.php +88 -0
  1041. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_list.lib.php +387 -0
  1042. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_main.inc.php +94 -0
  1043. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_routines.lib.php +1733 -0
  1044. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_triggers.lib.php +463 -0
  1045. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_words.lib.php +75 -0
  1046. data/lib/support/phpmyadmin/phpmyadmin/libraries/sanitizing.lib.php +191 -0
  1047. data/lib/support/phpmyadmin/phpmyadmin/libraries/select_lang.lib.php +621 -0
  1048. data/lib/support/phpmyadmin/phpmyadmin/libraries/select_server.lib.php +111 -0
  1049. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_bin_log.lib.php +244 -0
  1050. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_collations.lib.php +100 -0
  1051. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_common.inc.php +53 -0
  1052. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_common.lib.php +67 -0
  1053. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_databases.lib.php +498 -0
  1054. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_engines.lib.php +145 -0
  1055. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_plugins.lib.php +207 -0
  1056. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_privileges.lib.php +4692 -0
  1057. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status.lib.php +317 -0
  1058. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_advisor.lib.php +68 -0
  1059. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_monitor.lib.php +825 -0
  1060. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_processes.lib.php +320 -0
  1061. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_queries.lib.php +154 -0
  1062. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_variables.lib.php +765 -0
  1063. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_user_groups.lib.php +360 -0
  1064. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_users.lib.php +58 -0
  1065. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_variables.lib.php +1683 -0
  1066. data/lib/support/phpmyadmin/phpmyadmin/libraries/session.inc.php +130 -0
  1067. data/lib/support/phpmyadmin/phpmyadmin/libraries/special_schema_links.lib.php +461 -0
  1068. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/LICENSE.txt +21 -0
  1069. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/README.md +185 -0
  1070. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/lib/SqlFormatter.php +1085 -0
  1071. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql.lib.php +2293 -0
  1072. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql_query_form.lib.php +477 -0
  1073. data/lib/support/phpmyadmin/phpmyadmin/libraries/sqlparser.data.php +999 -0
  1074. data/lib/support/phpmyadmin/phpmyadmin/libraries/sqlparser.lib.php +2997 -0
  1075. data/lib/support/phpmyadmin/phpmyadmin/libraries/string.lib.php +33 -0
  1076. data/lib/support/phpmyadmin/phpmyadmin/libraries/stringMb.lib.php +78 -0
  1077. data/lib/support/phpmyadmin/phpmyadmin/libraries/stringNative.lib.php +245 -0
  1078. data/lib/support/phpmyadmin/phpmyadmin/libraries/structure.lib.php +3294 -0
  1079. data/lib/support/phpmyadmin/phpmyadmin/libraries/sysinfo.lib.php +369 -0
  1080. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_chart.lib.php +383 -0
  1081. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_columns_definition_form.inc.php +195 -0
  1082. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_columns_definition_form.lib.php +1458 -0
  1083. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_common.inc.php +48 -0
  1084. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_gis_visualization.lib.php +281 -0
  1085. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_indexes.lib.php +480 -0
  1086. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_info.inc.php +108 -0
  1087. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_printview.lib.php +602 -0
  1088. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_relation.lib.php +1222 -0
  1089. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_views.lib.php +161 -0
  1090. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/LICENSE.TXT +858 -0
  1091. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/README.TXT +115 -0
  1092. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/config/tcpdf_config.php +227 -0
  1093. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE +99 -0
  1094. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.ctg.z +0 -0
  1095. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.php +16 -0
  1096. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.z +0 -0
  1097. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.ctg.z +0 -0
  1098. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.php +16 -0
  1099. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.z +0 -0
  1100. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/helvetica.php +13 -0
  1101. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/sRGB.icc +0 -0
  1102. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_colors.php +462 -0
  1103. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_font_data.php +18447 -0
  1104. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_fonts.php +2591 -0
  1105. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_images.php +355 -0
  1106. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_static.php +2528 -0
  1107. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/tcpdf.php +24478 -0
  1108. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/tcpdf_autoconfig.php +241 -0
  1109. data/lib/support/phpmyadmin/phpmyadmin/libraries/tracking.lib.php +1439 -0
  1110. data/lib/support/phpmyadmin/phpmyadmin/libraries/transformations.lib.php +461 -0
  1111. data/lib/support/phpmyadmin/phpmyadmin/libraries/url_generating.lib.php +256 -0
  1112. data/lib/support/phpmyadmin/phpmyadmin/libraries/user_preferences.inc.php +71 -0
  1113. data/lib/support/phpmyadmin/phpmyadmin/libraries/user_preferences.lib.php +301 -0
  1114. data/lib/support/phpmyadmin/phpmyadmin/libraries/vendor_config.php +93 -0
  1115. data/lib/support/phpmyadmin/phpmyadmin/libraries/zip.lib.php +211 -0
  1116. data/lib/support/phpmyadmin/phpmyadmin/libraries/zip_extension.lib.php +195 -0
  1117. data/lib/support/phpmyadmin/phpmyadmin/license.php +31 -0
  1118. data/lib/support/phpmyadmin/phpmyadmin/locale/az/LC_MESSAGES/phpmyadmin.mo +0 -0
  1119. data/lib/support/phpmyadmin/phpmyadmin/locale/bg/LC_MESSAGES/phpmyadmin.mo +0 -0
  1120. data/lib/support/phpmyadmin/phpmyadmin/locale/bn/LC_MESSAGES/phpmyadmin.mo +0 -0
  1121. data/lib/support/phpmyadmin/phpmyadmin/locale/ca/LC_MESSAGES/phpmyadmin.mo +0 -0
  1122. data/lib/support/phpmyadmin/phpmyadmin/locale/cs/LC_MESSAGES/phpmyadmin.mo +0 -0
  1123. data/lib/support/phpmyadmin/phpmyadmin/locale/da/LC_MESSAGES/phpmyadmin.mo +0 -0
  1124. data/lib/support/phpmyadmin/phpmyadmin/locale/de/LC_MESSAGES/phpmyadmin.mo +0 -0
  1125. data/lib/support/phpmyadmin/phpmyadmin/locale/el/LC_MESSAGES/phpmyadmin.mo +0 -0
  1126. data/lib/support/phpmyadmin/phpmyadmin/locale/en_GB/LC_MESSAGES/phpmyadmin.mo +0 -0
  1127. data/lib/support/phpmyadmin/phpmyadmin/locale/es/LC_MESSAGES/phpmyadmin.mo +0 -0
  1128. data/lib/support/phpmyadmin/phpmyadmin/locale/et/LC_MESSAGES/phpmyadmin.mo +0 -0
  1129. data/lib/support/phpmyadmin/phpmyadmin/locale/fi/LC_MESSAGES/phpmyadmin.mo +0 -0
  1130. data/lib/support/phpmyadmin/phpmyadmin/locale/fr/LC_MESSAGES/phpmyadmin.mo +0 -0
  1131. data/lib/support/phpmyadmin/phpmyadmin/locale/gl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1132. data/lib/support/phpmyadmin/phpmyadmin/locale/hi/LC_MESSAGES/phpmyadmin.mo +0 -0
  1133. data/lib/support/phpmyadmin/phpmyadmin/locale/hu/LC_MESSAGES/phpmyadmin.mo +0 -0
  1134. data/lib/support/phpmyadmin/phpmyadmin/locale/ia/LC_MESSAGES/phpmyadmin.mo +0 -0
  1135. data/lib/support/phpmyadmin/phpmyadmin/locale/id/LC_MESSAGES/phpmyadmin.mo +0 -0
  1136. data/lib/support/phpmyadmin/phpmyadmin/locale/it/LC_MESSAGES/phpmyadmin.mo +0 -0
  1137. data/lib/support/phpmyadmin/phpmyadmin/locale/ja/LC_MESSAGES/phpmyadmin.mo +0 -0
  1138. data/lib/support/phpmyadmin/phpmyadmin/locale/ko/LC_MESSAGES/phpmyadmin.mo +0 -0
  1139. data/lib/support/phpmyadmin/phpmyadmin/locale/lt/LC_MESSAGES/phpmyadmin.mo +0 -0
  1140. data/lib/support/phpmyadmin/phpmyadmin/locale/nb/LC_MESSAGES/phpmyadmin.mo +0 -0
  1141. data/lib/support/phpmyadmin/phpmyadmin/locale/nl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1142. data/lib/support/phpmyadmin/phpmyadmin/locale/pl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1143. data/lib/support/phpmyadmin/phpmyadmin/locale/pt/LC_MESSAGES/phpmyadmin.mo +0 -0
  1144. data/lib/support/phpmyadmin/phpmyadmin/locale/pt_BR/LC_MESSAGES/phpmyadmin.mo +0 -0
  1145. data/lib/support/phpmyadmin/phpmyadmin/locale/ro/LC_MESSAGES/phpmyadmin.mo +0 -0
  1146. data/lib/support/phpmyadmin/phpmyadmin/locale/ru/LC_MESSAGES/phpmyadmin.mo +0 -0
  1147. data/lib/support/phpmyadmin/phpmyadmin/locale/si/LC_MESSAGES/phpmyadmin.mo +0 -0
  1148. data/lib/support/phpmyadmin/phpmyadmin/locale/sk/LC_MESSAGES/phpmyadmin.mo +0 -0
  1149. data/lib/support/phpmyadmin/phpmyadmin/locale/sl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1150. data/lib/support/phpmyadmin/phpmyadmin/locale/sq/LC_MESSAGES/phpmyadmin.mo +0 -0
  1151. data/lib/support/phpmyadmin/phpmyadmin/locale/sr@latin/LC_MESSAGES/phpmyadmin.mo +0 -0
  1152. data/lib/support/phpmyadmin/phpmyadmin/locale/sv/LC_MESSAGES/phpmyadmin.mo +0 -0
  1153. data/lib/support/phpmyadmin/phpmyadmin/locale/tr/LC_MESSAGES/phpmyadmin.mo +0 -0
  1154. data/lib/support/phpmyadmin/phpmyadmin/locale/uk/LC_MESSAGES/phpmyadmin.mo +0 -0
  1155. data/lib/support/phpmyadmin/phpmyadmin/locale/zh_CN/LC_MESSAGES/phpmyadmin.mo +0 -0
  1156. data/lib/support/phpmyadmin/phpmyadmin/locale/zh_TW/LC_MESSAGES/phpmyadmin.mo +0 -0
  1157. data/lib/support/phpmyadmin/phpmyadmin/navigation.php +71 -0
  1158. data/lib/support/phpmyadmin/phpmyadmin/normalization.php +122 -0
  1159. data/lib/support/phpmyadmin/phpmyadmin/phpinfo.php +21 -0
  1160. data/lib/support/phpmyadmin/phpmyadmin/phpmyadmin.css.php +39 -0
  1161. data/lib/support/phpmyadmin/phpmyadmin/phpunit.xml.hhvm +30 -0
  1162. data/lib/support/phpmyadmin/phpmyadmin/phpunit.xml.nocoverage +40 -0
  1163. data/lib/support/phpmyadmin/phpmyadmin/prefs_forms.php +92 -0
  1164. data/lib/support/phpmyadmin/phpmyadmin/prefs_manage.php +375 -0
  1165. data/lib/support/phpmyadmin/phpmyadmin/print.css +92 -0
  1166. data/lib/support/phpmyadmin/phpmyadmin/robots.txt +2 -0
  1167. data/lib/support/phpmyadmin/phpmyadmin/schema_export.php +77 -0
  1168. data/lib/support/phpmyadmin/phpmyadmin/server_binlog.php +54 -0
  1169. data/lib/support/phpmyadmin/phpmyadmin/server_collations.php +39 -0
  1170. data/lib/support/phpmyadmin/phpmyadmin/server_databases.php +118 -0
  1171. data/lib/support/phpmyadmin/phpmyadmin/server_engines.php +34 -0
  1172. data/lib/support/phpmyadmin/phpmyadmin/server_export.php +29 -0
  1173. data/lib/support/phpmyadmin/phpmyadmin/server_import.php +27 -0
  1174. data/lib/support/phpmyadmin/phpmyadmin/server_plugins.php +59 -0
  1175. data/lib/support/phpmyadmin/phpmyadmin/server_privileges.php +410 -0
  1176. data/lib/support/phpmyadmin/phpmyadmin/server_replication.php +83 -0
  1177. data/lib/support/phpmyadmin/phpmyadmin/server_sql.php +32 -0
  1178. data/lib/support/phpmyadmin/phpmyadmin/server_status.php +38 -0
  1179. data/lib/support/phpmyadmin/phpmyadmin/server_status_advisor.php +39 -0
  1180. data/lib/support/phpmyadmin/phpmyadmin/server_status_monitor.php +113 -0
  1181. data/lib/support/phpmyadmin/phpmyadmin/server_status_processes.php +64 -0
  1182. data/lib/support/phpmyadmin/phpmyadmin/server_status_queries.php +54 -0
  1183. data/lib/support/phpmyadmin/phpmyadmin/server_status_variables.php +57 -0
  1184. data/lib/support/phpmyadmin/phpmyadmin/server_user_groups.php +72 -0
  1185. data/lib/support/phpmyadmin/phpmyadmin/server_variables.php +60 -0
  1186. data/lib/support/phpmyadmin/phpmyadmin/setup/ajax.js +11 -0
  1187. data/lib/support/phpmyadmin/phpmyadmin/setup/config.php +81 -0
  1188. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/config.inc.php +52 -0
  1189. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/form.inc.php +36 -0
  1190. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/index.inc.php +313 -0
  1191. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/menu.inc.php +37 -0
  1192. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/servers.inc.php +50 -0
  1193. data/lib/support/phpmyadmin/phpmyadmin/setup/index.php +61 -0
  1194. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/ConfigGenerator.class.php +161 -0
  1195. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/common.inc.php +56 -0
  1196. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/form_processing.lib.php +81 -0
  1197. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/index.lib.php +204 -0
  1198. data/lib/support/phpmyadmin/phpmyadmin/setup/scripts.js +216 -0
  1199. data/lib/support/phpmyadmin/phpmyadmin/setup/styles.css +619 -0
  1200. data/lib/support/phpmyadmin/phpmyadmin/setup/validate.php +32 -0
  1201. data/lib/support/phpmyadmin/phpmyadmin/show_config_errors.php +40 -0
  1202. data/lib/support/phpmyadmin/phpmyadmin/sql/create_tables.sql +323 -0
  1203. data/lib/support/phpmyadmin/phpmyadmin/sql/create_tables_drizzle.sql +275 -0
  1204. data/lib/support/phpmyadmin/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql +47 -0
  1205. data/lib/support/phpmyadmin/phpmyadmin/sql/upgrade_tables_mysql_4_1_2+.sql +144 -0
  1206. data/lib/support/phpmyadmin/phpmyadmin/sql.php +203 -0
  1207. data/lib/support/phpmyadmin/phpmyadmin/tbl_addfield.php +124 -0
  1208. data/lib/support/phpmyadmin/phpmyadmin/tbl_change.php +232 -0
  1209. data/lib/support/phpmyadmin/phpmyadmin/tbl_chart.php +142 -0
  1210. data/lib/support/phpmyadmin/phpmyadmin/tbl_create.php +108 -0
  1211. data/lib/support/phpmyadmin/phpmyadmin/tbl_export.php +107 -0
  1212. data/lib/support/phpmyadmin/phpmyadmin/tbl_find_replace.php +66 -0
  1213. data/lib/support/phpmyadmin/phpmyadmin/tbl_get_field.php +55 -0
  1214. data/lib/support/phpmyadmin/phpmyadmin/tbl_gis_visualization.php +115 -0
  1215. data/lib/support/phpmyadmin/phpmyadmin/tbl_import.php +30 -0
  1216. data/lib/support/phpmyadmin/phpmyadmin/tbl_indexes.php +60 -0
  1217. data/lib/support/phpmyadmin/phpmyadmin/tbl_operations.php +423 -0
  1218. data/lib/support/phpmyadmin/phpmyadmin/tbl_printview.php +74 -0
  1219. data/lib/support/phpmyadmin/phpmyadmin/tbl_recent_favorite.php +19 -0
  1220. data/lib/support/phpmyadmin/phpmyadmin/tbl_relation.php +156 -0
  1221. data/lib/support/phpmyadmin/phpmyadmin/tbl_replace.php +468 -0
  1222. data/lib/support/phpmyadmin/phpmyadmin/tbl_row_action.php +146 -0
  1223. data/lib/support/phpmyadmin/phpmyadmin/tbl_select.php +81 -0
  1224. data/lib/support/phpmyadmin/phpmyadmin/tbl_sql.php +52 -0
  1225. data/lib/support/phpmyadmin/phpmyadmin/tbl_structure.php +210 -0
  1226. data/lib/support/phpmyadmin/phpmyadmin/tbl_tracking.php +209 -0
  1227. data/lib/support/phpmyadmin/phpmyadmin/tbl_triggers.php +10 -0
  1228. data/lib/support/phpmyadmin/phpmyadmin/tbl_zoom_select.php +165 -0
  1229. data/lib/support/phpmyadmin/phpmyadmin/themes/dot.gif +0 -0
  1230. data/lib/support/phpmyadmin/phpmyadmin/themes/original/css/common.css.php +3078 -0
  1231. data/lib/support/phpmyadmin/phpmyadmin/themes/original/css/navigation.css.php +424 -0
  1232. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/ajax_clock_small.gif +0 -0
  1233. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/arrow_ltr.png +0 -0
  1234. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/arrow_rtl.png +0 -0
  1235. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_bookmark.png +0 -0
  1236. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_browse.png +0 -0
  1237. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_calendar.png +0 -0
  1238. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_chart.png +0 -0
  1239. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_close.png +0 -0
  1240. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_column_add.png +0 -0
  1241. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_comment.png +0 -0
  1242. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_dbstatistics.png +0 -0
  1243. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_deltbl.png +0 -0
  1244. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_docs.png +0 -0
  1245. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_drop.png +0 -0
  1246. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_edit.png +0 -0
  1247. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_empty.png +0 -0
  1248. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_engine.png +0 -0
  1249. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_event_add.png +0 -0
  1250. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_events.png +0 -0
  1251. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_export.png +0 -0
  1252. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_favorite.png +0 -0
  1253. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_find_replace.png +0 -0
  1254. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_ftext.png +0 -0
  1255. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_globe.gif +0 -0
  1256. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_group.png +0 -0
  1257. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_help.png +0 -0
  1258. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_home.png +0 -0
  1259. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_import.png +0 -0
  1260. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_index.png +0 -0
  1261. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_index_add.png +0 -0
  1262. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_info.png +0 -0
  1263. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_inline_edit.png +0 -0
  1264. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_insrow.png +0 -0
  1265. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_minus.png +0 -0
  1266. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_more.png +0 -0
  1267. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_move.png +0 -0
  1268. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_newdb.png +0 -0
  1269. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_newtbl.png +0 -0
  1270. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_nextpage.png +0 -0
  1271. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_no_favorite.png +0 -0
  1272. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_plus.png +0 -0
  1273. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_primary.png +0 -0
  1274. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_print.png +0 -0
  1275. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_props.png +0 -0
  1276. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_relations.png +0 -0
  1277. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_report.png +0 -0
  1278. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_routine_add.png +0 -0
  1279. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_routines.png +0 -0
  1280. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_save.png +0 -0
  1281. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_saveimage.png +0 -0
  1282. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sbrowse.png +0 -0
  1283. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_search.png +0 -0
  1284. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_selboard.png +0 -0
  1285. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_select.png +0 -0
  1286. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_snewtbl.png +0 -0
  1287. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_spatial.png +0 -0
  1288. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sql.png +0 -0
  1289. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sqlhelp.png +0 -0
  1290. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_table_add.png +0 -0
  1291. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblanalyse.png +0 -0
  1292. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblexport.png +0 -0
  1293. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblimport.png +0 -0
  1294. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblops.png +0 -0
  1295. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tbloptimize.png +0 -0
  1296. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tipp.png +0 -0
  1297. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_trigger_add.png +0 -0
  1298. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_triggers.png +0 -0
  1299. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_undo.png +0 -0
  1300. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_unique.png +0 -0
  1301. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usradd.png +0 -0
  1302. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrcheck.png +0 -0
  1303. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrdrop.png +0 -0
  1304. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usredit.png +0 -0
  1305. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrlist.png +0 -0
  1306. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_versions.png +0 -0
  1307. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_view.png +0 -0
  1308. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_view_add.png +0 -0
  1309. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_views.png +0 -0
  1310. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_browse.png +0 -0
  1311. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_deltbl.png +0 -0
  1312. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_drop.png +0 -0
  1313. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_edit.png +0 -0
  1314. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_empty.png +0 -0
  1315. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_export.png +0 -0
  1316. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_ftext.png +0 -0
  1317. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_index.png +0 -0
  1318. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_insrow.png +0 -0
  1319. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_nextpage.png +0 -0
  1320. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_primary.png +0 -0
  1321. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_routine_add.png +0 -0
  1322. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_sbrowse.png +0 -0
  1323. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_select.png +0 -0
  1324. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_spatial.png +0 -0
  1325. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_unique.png +0 -0
  1326. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns.png +0 -0
  1327. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns_add.png +0 -0
  1328. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns_delete.png +0 -0
  1329. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/cleardot.gif +0 -0
  1330. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_drop.png +0 -0
  1331. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_pointer.png +0 -0
  1332. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_pointer_ver.png +0 -0
  1333. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/console.png +0 -0
  1334. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/east-mini.png +0 -0
  1335. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/error.ico +0 -0
  1336. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/eye.png +0 -0
  1337. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/eye_grey.png +0 -0
  1338. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/lightbulb.png +0 -0
  1339. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/lightbulb_off.png +0 -0
  1340. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/logo_left.png +0 -0
  1341. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/logo_right.png +0 -0
  1342. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/more.png +0 -0
  1343. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data.png +0 -0
  1344. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_hovered.png +0 -0
  1345. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_selected.png +0 -0
  1346. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_selected_hovered.png +0 -0
  1347. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct.png +0 -0
  1348. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_hovered.png +0 -0
  1349. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_selected.png +0 -0
  1350. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_selected_hovered.png +0 -0
  1351. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/normalize.png +0 -0
  1352. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/north-mini.png +0 -0
  1353. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/pause.png +0 -0
  1354. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/play.png +0 -0
  1355. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_asc.png +0 -0
  1356. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_asci.png +0 -0
  1357. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_attention.png +0 -0
  1358. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_cancel.png +0 -0
  1359. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_cog.png +0 -0
  1360. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_collapseall.png +0 -0
  1361. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_db.png +0 -0
  1362. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_desc.png +0 -0
  1363. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_error.png +0 -0
  1364. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_error2.png +0 -0
  1365. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_fulltext.png +0 -0
  1366. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_host.png +0 -0
  1367. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_info.png +0 -0
  1368. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_lang.png +0 -0
  1369. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_link.png +0 -0
  1370. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_lock.png +0 -0
  1371. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_loggoff.png +0 -0
  1372. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_notice.png +0 -0
  1373. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_partialtext.png +0 -0
  1374. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_passwd.png +0 -0
  1375. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_really.png +0 -0
  1376. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_reload.png +0 -0
  1377. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_replication.png +0 -0
  1378. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_rights.png +0 -0
  1379. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_sortable.png +0 -0
  1380. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_status.png +0 -0
  1381. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_success.png +0 -0
  1382. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_sync.png +0 -0
  1383. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_tbl.png +0 -0
  1384. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_theme.png +0 -0
  1385. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_top.png +0 -0
  1386. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_unlink.png +0 -0
  1387. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_vars.png +0 -0
  1388. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_views.png +0 -0
  1389. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/south-mini.png +0 -0
  1390. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/spacer.png +0 -0
  1391. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/sprites.png +0 -0
  1392. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/toggle-ltr.png +0 -0
  1393. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/toggle-rtl.png +0 -0
  1394. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/vertical_line.png +0 -0
  1395. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/west-mini.png +0 -0
  1396. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/window-new.png +0 -0
  1397. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-minus-mini.png +0 -0
  1398. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-plus-mini.png +0 -0
  1399. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-world-mini.png +0 -0
  1400. data/lib/support/phpmyadmin/phpmyadmin/themes/original/info.inc.php +15 -0
  1401. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1402. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1403. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1404. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1405. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1406. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1407. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1408. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1409. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_222222_256x240.png +0 -0
  1410. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  1411. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_454545_256x240.png +0 -0
  1412. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_888888_256x240.png +0 -0
  1413. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  1414. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/jquery-ui-1.11.2.css +1225 -0
  1415. data/lib/support/phpmyadmin/phpmyadmin/themes/original/layout.inc.php +102 -0
  1416. data/lib/support/phpmyadmin/phpmyadmin/themes/original/screen.png +0 -0
  1417. data/lib/support/phpmyadmin/phpmyadmin/themes/original/sprites.lib.php +720 -0
  1418. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/codemirror.css.php +350 -0
  1419. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/common.css.php +3401 -0
  1420. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/enum_editor.css.php +80 -0
  1421. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/gis.css.php +52 -0
  1422. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/jqplot.css.php +277 -0
  1423. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/navigation.css.php +429 -0
  1424. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/pmd.css.php +605 -0
  1425. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/resizable-menu.css.php +57 -0
  1426. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/rte.css.php +43 -0
  1427. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/ajax_clock_small.gif +0 -0
  1428. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/arrow_ltr.png +0 -0
  1429. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/arrow_rtl.png +0 -0
  1430. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/asc_order.png +0 -0
  1431. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_bookmark.png +0 -0
  1432. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_browse.png +0 -0
  1433. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_calendar.png +0 -0
  1434. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_chart.png +0 -0
  1435. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_close.png +0 -0
  1436. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_column_add.png +0 -0
  1437. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_comment.png +0 -0
  1438. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_dbstatistics.png +0 -0
  1439. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_deltbl.png +0 -0
  1440. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_docs.png +0 -0
  1441. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_docsql.png +0 -0
  1442. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_drop.png +0 -0
  1443. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_edit.png +0 -0
  1444. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_empty.png +0 -0
  1445. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_engine.png +0 -0
  1446. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_event_add.png +0 -0
  1447. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_events.png +0 -0
  1448. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_export.png +0 -0
  1449. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_favorite.png +0 -0
  1450. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_find_replace.png +0 -0
  1451. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_firstpage.png +0 -0
  1452. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_ftext.png +0 -0
  1453. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_globe.gif +0 -0
  1454. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_group.png +0 -0
  1455. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_help.png +0 -0
  1456. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_home.png +0 -0
  1457. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_import.png +0 -0
  1458. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_index.png +0 -0
  1459. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_index_add.png +0 -0
  1460. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_info.png +0 -0
  1461. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_inline_edit.png +0 -0
  1462. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_insrow.png +0 -0
  1463. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_lastpage.png +0 -0
  1464. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_minus.png +0 -0
  1465. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_more.png +0 -0
  1466. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_move.png +0 -0
  1467. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_newdb.png +0 -0
  1468. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_newtbl.png +0 -0
  1469. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_nextpage.png +0 -0
  1470. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_no_favorite.png +0 -0
  1471. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_pdfdoc.png +0 -0
  1472. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_plus.png +0 -0
  1473. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_prevpage.png +0 -0
  1474. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_primary.png +0 -0
  1475. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_print.png +0 -0
  1476. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_props.png +0 -0
  1477. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_relations.png +0 -0
  1478. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_report.png +0 -0
  1479. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_routine_add.png +0 -0
  1480. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_routines.png +0 -0
  1481. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_save.png +0 -0
  1482. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_saveimage.png +0 -0
  1483. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sbrowse.png +0 -0
  1484. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sdb.png +0 -0
  1485. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_search.png +0 -0
  1486. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_selboard.png +0 -0
  1487. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_select.png +0 -0
  1488. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_snewtbl.png +0 -0
  1489. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_spatial.png +0 -0
  1490. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sql.png +0 -0
  1491. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sqldoc.png +0 -0
  1492. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sqlhelp.png +0 -0
  1493. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_table_add.png +0 -0
  1494. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblanalyse.png +0 -0
  1495. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblexport.png +0 -0
  1496. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblimport.png +0 -0
  1497. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblops.png +0 -0
  1498. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tbloptimize.png +0 -0
  1499. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tipp.png +0 -0
  1500. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_trigger_add.png +0 -0
  1501. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_triggers.png +0 -0
  1502. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_undo.png +0 -0
  1503. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_unique.png +0 -0
  1504. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usradd.png +0 -0
  1505. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrcheck.png +0 -0
  1506. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrdrop.png +0 -0
  1507. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usredit.png +0 -0
  1508. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrlist.png +0 -0
  1509. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_versions.png +0 -0
  1510. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_view.png +0 -0
  1511. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_view_add.png +0 -0
  1512. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_views.png +0 -0
  1513. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_browse.png +0 -0
  1514. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_deltbl.png +0 -0
  1515. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_drop.png +0 -0
  1516. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_edit.png +0 -0
  1517. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_empty.png +0 -0
  1518. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_export.png +0 -0
  1519. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_firstpage.png +0 -0
  1520. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_ftext.png +0 -0
  1521. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_index.png +0 -0
  1522. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_insrow.png +0 -0
  1523. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_lastpage.png +0 -0
  1524. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_nextpage.png +0 -0
  1525. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_prevpage.png +0 -0
  1526. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_primary.png +0 -0
  1527. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_routine_add.png +0 -0
  1528. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_sbrowse.png +0 -0
  1529. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_select.png +0 -0
  1530. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_spatial.png +0 -0
  1531. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_unique.png +0 -0
  1532. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns.png +0 -0
  1533. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns_add.png +0 -0
  1534. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns_delete.png +0 -0
  1535. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_drop.png +0 -0
  1536. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_pointer.png +0 -0
  1537. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_pointer_ver.png +0 -0
  1538. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/console.png +0 -0
  1539. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/database.png +0 -0
  1540. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/east-mini.png +0 -0
  1541. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/error.ico +0 -0
  1542. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/eye.png +0 -0
  1543. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/eye_grey.png +0 -0
  1544. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/item.png +0 -0
  1545. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/left_nav_bg.png +0 -0
  1546. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/lightbulb.png +0 -0
  1547. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/lightbulb_off.png +0 -0
  1548. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/logo_left.png +0 -0
  1549. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/logo_right.png +0 -0
  1550. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/more.png +0 -0
  1551. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data.png +0 -0
  1552. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_hovered.png +0 -0
  1553. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_selected.png +0 -0
  1554. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_selected_hovered.png +0 -0
  1555. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct.png +0 -0
  1556. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_hovered.png +0 -0
  1557. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_selected.png +0 -0
  1558. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_selected_hovered.png +0 -0
  1559. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/normalize.png +0 -0
  1560. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/north-mini.png +0 -0
  1561. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pause.png +0 -0
  1562. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/php_sym.png +0 -0
  1563. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/play.png +0 -0
  1564. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pma_logo2.png +0 -0
  1565. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/1.png +0 -0
  1566. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2.png +0 -0
  1567. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2leftarrow.png +0 -0
  1568. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2leftarrow_m.png +0 -0
  1569. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2rightarrow.png +0 -0
  1570. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2rightarrow_m.png +0 -0
  1571. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/3.png +0 -0
  1572. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/4.png +0 -0
  1573. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/5.png +0 -0
  1574. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/6.png +0 -0
  1575. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/7.png +0 -0
  1576. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/8.png +0 -0
  1577. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/FieldKey_small.png +0 -0
  1578. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small.png +0 -0
  1579. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_char.png +0 -0
  1580. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_date.png +0 -0
  1581. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_int.png +0 -0
  1582. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Header.png +0 -0
  1583. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Header_Linked.png +0 -0
  1584. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/anchor.png +0 -0
  1585. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/and_icon.png +0 -0
  1586. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/ang_direct.png +0 -0
  1587. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/bord.png +0 -0
  1588. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/bottom.png +0 -0
  1589. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/def.png +0 -0
  1590. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/display_field.png +0 -0
  1591. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow1.png +0 -0
  1592. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow2.png +0 -0
  1593. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow2_m.png +0 -0
  1594. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exec.png +0 -0
  1595. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exec_small.png +0 -0
  1596. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exitFullscreen.png +0 -0
  1597. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/export.png +0 -0
  1598. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/favicon.ico +0 -0
  1599. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/grid.png +0 -0
  1600. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/help.png +0 -0
  1601. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/help_relation.png +0 -0
  1602. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/left_panel_butt.png +0 -0
  1603. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/left_panel_tab.png +0 -0
  1604. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/minus.png +0 -0
  1605. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/or_icon.png +0 -0
  1606. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_add.png +0 -0
  1607. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_delete.png +0 -0
  1608. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_edit.png +0 -0
  1609. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/pdf.png +0 -0
  1610. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/plus.png +0 -0
  1611. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/query_builder.png +0 -0
  1612. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/relation.png +0 -0
  1613. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/reload.png +0 -0
  1614. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/resize.png +0 -0
  1615. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/resizeright.png +0 -0
  1616. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/rightarrow1.png +0 -0
  1617. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/rightarrow2.png +0 -0
  1618. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/save.png +0 -0
  1619. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/save_as.png +0 -0
  1620. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/small_tab.png +0 -0
  1621. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/table.png +0 -0
  1622. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/toggle_lines.png +0 -0
  1623. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/top_panel.png +0 -0
  1624. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/uparrow2_m.png +0 -0
  1625. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/viewInFullscreen.png +0 -0
  1626. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_asc.png +0 -0
  1627. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_asci.png +0 -0
  1628. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_attention.png +0 -0
  1629. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cancel.png +0 -0
  1630. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cancel2.png +0 -0
  1631. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cog.png +0 -0
  1632. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_collapseall.png +0 -0
  1633. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_db.png +0 -0
  1634. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_desc.png +0 -0
  1635. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_error.png +0 -0
  1636. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_error2.png +0 -0
  1637. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_fulltext.png +0 -0
  1638. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_host.png +0 -0
  1639. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_info.png +0 -0
  1640. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_lang.png +0 -0
  1641. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_link.png +0 -0
  1642. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_lock.png +0 -0
  1643. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_loggoff.png +0 -0
  1644. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_notice.png +0 -0
  1645. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_okay.png +0 -0
  1646. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_partialtext.png +0 -0
  1647. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_passwd.png +0 -0
  1648. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_process.png +0 -0
  1649. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_really.png +0 -0
  1650. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_reload.png +0 -0
  1651. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_replication.png +0 -0
  1652. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_rights.png +0 -0
  1653. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_sortable.png +0 -0
  1654. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_status.png +0 -0
  1655. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_success.png +0 -0
  1656. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_sync.png +0 -0
  1657. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_tbl.png +0 -0
  1658. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_theme.png +0 -0
  1659. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_top.png +0 -0
  1660. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_unlink.png +0 -0
  1661. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_vars.png +0 -0
  1662. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_views.png +0 -0
  1663. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/select_bg.png +0 -0
  1664. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/south-mini.png +0 -0
  1665. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/spacer.png +0 -0
  1666. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/sprites.png +0 -0
  1667. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/toggle-ltr.png +0 -0
  1668. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/toggle-rtl.png +0 -0
  1669. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/vertical_line.png +0 -0
  1670. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/west-mini.png +0 -0
  1671. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/window-new.png +0 -0
  1672. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-minus-mini.png +0 -0
  1673. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-plus-mini.png +0 -0
  1674. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-world-mini.png +0 -0
  1675. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/info.inc.php +21 -0
  1676. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1677. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1678. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1679. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1680. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1681. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1682. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1683. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1684. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_222222_256x240.png +0 -0
  1685. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  1686. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_454545_256x240.png +0 -0
  1687. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_888888_256x240.png +0 -0
  1688. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  1689. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/jquery-ui-1.11.2.css +1225 -0
  1690. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/layout.inc.php +104 -0
  1691. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/screen.png +0 -0
  1692. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/sprites.lib.php +805 -0
  1693. data/lib/support/phpmyadmin/phpmyadmin/themes/sprites.css.php +60 -0
  1694. data/lib/support/phpmyadmin/phpmyadmin/themes/svg_gradient.php +53 -0
  1695. data/lib/support/phpmyadmin/phpmyadmin/themes.php +32 -0
  1696. data/lib/support/phpmyadmin/phpmyadmin/transformation_overview.php +74 -0
  1697. data/lib/support/phpmyadmin/phpmyadmin/transformation_wrapper.php +148 -0
  1698. data/lib/support/phpmyadmin/phpmyadmin/url.php +38 -0
  1699. data/lib/support/phpmyadmin/phpmyadmin/user_password.php +200 -0
  1700. data/lib/support/phpmyadmin/phpmyadmin/version_check.php +30 -0
  1701. data/lib/support/phpmyadmin/phpmyadmin/view_create.php +291 -0
  1702. data/lib/support/phpmyadmin/phpmyadmin/view_operations.php +139 -0
  1703. data/lib/support/phpmyadmin/phpmyadmin/webapp.php +55 -0
  1704. data/lib/support/pptp_vpn/ubuntu/pptpd-options +122 -0
  1705. data/lib/support/pptp_vpn/ubuntu/rc.local +17 -0
  1706. data/lib/support/pptp_vpn/ubuntu/sysctl.conf +102 -0
  1707. metadata +1705 -1
@@ -0,0 +1,2864 @@
1
+ <?php
2
+ /* vim: set expandtab sw=4 ts=4 sts=4: */
3
+ /**
4
+ * Main interface for database interactions
5
+ *
6
+ * @package PhpMyAdmin-DBI
7
+ */
8
+ if (! defined('PHPMYADMIN')) {
9
+ exit;
10
+ }
11
+
12
+ require_once './libraries/logging.lib.php';
13
+ require_once './libraries/Index.class.php';
14
+
15
+ /**
16
+ * Main interface for database interactions
17
+ *
18
+ * @package PhpMyAdmin-DBI
19
+ */
20
+ class PMA_DatabaseInterface
21
+ {
22
+ /**
23
+ * Force STORE_RESULT method, ignored by classic MySQL.
24
+ */
25
+ const QUERY_STORE = 1;
26
+ /**
27
+ * Do not read whole query.
28
+ */
29
+ const QUERY_UNBUFFERED = 2;
30
+ /**
31
+ * Get session variable.
32
+ */
33
+ const GETVAR_SESSION = 1;
34
+ /**
35
+ * Get global variable.
36
+ */
37
+ const GETVAR_GLOBAL = 2;
38
+
39
+ /**
40
+ * @var PMA_DBI_Extension
41
+ */
42
+ private $_extension;
43
+
44
+ /**
45
+ * Constructor
46
+ *
47
+ * @param PMA_DBI_Extension $ext Object to be used for database queries
48
+ */
49
+ public function __construct(PMA_DBI_Extension $ext)
50
+ {
51
+ $this->_extension = $ext;
52
+ }
53
+
54
+ /**
55
+ * Checks whether database extension is loaded
56
+ *
57
+ * @param string $extension mysql extension to check
58
+ *
59
+ * @return bool
60
+ */
61
+ public static function checkDbExtension($extension = 'mysql')
62
+ {
63
+ if ($extension == 'drizzle' && function_exists('drizzle_create')) {
64
+ return true;
65
+ } else if (function_exists($extension . '_connect')) {
66
+ return true;
67
+ }
68
+ return false;
69
+ }
70
+
71
+ /**
72
+ * runs a query
73
+ *
74
+ * @param string $query SQL query to execute
75
+ * @param mixed $link optional database link to use
76
+ * @param int $options optional query options
77
+ * @param bool $cache_affected_rows whether to cache affected rows
78
+ *
79
+ * @return mixed
80
+ */
81
+ public function query($query, $link = null, $options = 0,
82
+ $cache_affected_rows = true
83
+ ) {
84
+ $res = $this->tryQuery($query, $link, $options, $cache_affected_rows)
85
+ or PMA_Util::mysqlDie($this->getError($link), $query);
86
+ return $res;
87
+ }
88
+
89
+
90
+ /**
91
+ * Caches table data so PMA_Table does not require to issue
92
+ * SHOW TABLE STATUS again
93
+ *
94
+ * @param array $tables information for tables of some databases
95
+ * @param string $table table name
96
+ *
97
+ * @return void
98
+ */
99
+ private function _cacheTableData($tables, $table)
100
+ {
101
+ // Note: I don't see why we would need array_merge_recursive() here,
102
+ // as it creates double entries for the same table (for example a double
103
+ // entry for Comment when changing the storage engine in Operations)
104
+ // Note 2: Instead of array_merge(), simply use the + operator because
105
+ // array_merge() renumbers numeric keys starting with 0, therefore
106
+ // we would lose a db name that consists only of numbers
107
+
108
+ foreach ($tables as $one_database => $its_tables) {
109
+ if (isset(PMA_Table::$cache[$one_database])) {
110
+ // the + operator does not do the intended effect
111
+ // when the cache for one table already exists
112
+ if ($table
113
+ && isset(PMA_Table::$cache[$one_database][$table])
114
+ ) {
115
+ unset(PMA_Table::$cache[$one_database][$table]);
116
+ }
117
+ PMA_Table::$cache[$one_database]
118
+ = PMA_Table::$cache[$one_database] + $tables[$one_database];
119
+ } else {
120
+ PMA_Table::$cache[$one_database] = $tables[$one_database];
121
+ }
122
+ }
123
+ }
124
+
125
+ /**
126
+ * Stores query data into session data for debugging purposes
127
+ *
128
+ * @param string $query Query text
129
+ * @param object $link database link
130
+ * @param object $result Query result
131
+ * @param integer $time Time to execute query
132
+ *
133
+ * @return void
134
+ */
135
+ private function _dbgQuery($query, $link, $result, $time)
136
+ {
137
+ $hash = md5($query);
138
+
139
+ if (isset($_SESSION['debug']['queries'][$hash])) {
140
+ $_SESSION['debug']['queries'][$hash]['count']++;
141
+ } else {
142
+ $_SESSION['debug']['queries'][$hash] = array();
143
+ $error_message = $this->getError($link);
144
+ if ($result == false && is_string($error_message)) {
145
+ $_SESSION['debug']['queries'][$hash]['error']
146
+ = '<b style="color:red">'
147
+ . htmlspecialchars($error_message) . '</b>';
148
+ }
149
+ $_SESSION['debug']['queries'][$hash]['count'] = 1;
150
+ $_SESSION['debug']['queries'][$hash]['query'] = htmlspecialchars($query);
151
+ $_SESSION['debug']['queries'][$hash]['time'] = $time;
152
+ }
153
+
154
+ $_SESSION['debug']['queries'][$hash]['trace'][] = PMA_Error::formatBacktrace(
155
+ debug_backtrace(),
156
+ " ",
157
+ "\n"
158
+ );
159
+ }
160
+
161
+ /**
162
+ * runs a query and returns the result
163
+ *
164
+ * @param string $query query to run
165
+ * @param object $link mysql link resource
166
+ * @param integer $options query options
167
+ * @param bool $cache_affected_rows whether to cache affected row
168
+ *
169
+ * @return mixed
170
+ */
171
+ public function tryQuery($query, $link = null, $options = 0,
172
+ $cache_affected_rows = true
173
+ ) {
174
+ $link = $this->getLink($link);
175
+ if ($link === false) {
176
+ return false;
177
+ }
178
+
179
+ if ($GLOBALS['cfg']['DBG']['sql']) {
180
+ $time = microtime(true);
181
+ }
182
+
183
+ $result = $this->_extension->realQuery($query, $link, $options);
184
+
185
+ if ($cache_affected_rows) {
186
+ $GLOBALS['cached_affected_rows'] = $this->affectedRows($link, false);
187
+ }
188
+
189
+ if ($GLOBALS['cfg']['DBG']['sql']) {
190
+ $time = microtime(true) - $time;
191
+ $this->_dbgQuery($query, $link, $result, $time);
192
+ }
193
+ if ($result != false && PMA_Tracker::isActive() == true ) {
194
+ PMA_Tracker::handleQuery($query);
195
+ }
196
+
197
+ return $result;
198
+ }
199
+
200
+ /**
201
+ * Run multi query statement and return results
202
+ *
203
+ * @param string $multi_query multi query statement to execute
204
+ * @param mysqli $link mysqli object
205
+ *
206
+ * @return mysqli_result collection | boolean(false)
207
+ */
208
+ public function tryMultiQuery($multi_query = '', $link = null)
209
+ {
210
+ $link = $this->getLink($link);
211
+ if ($link === false) {
212
+ return false;
213
+ }
214
+
215
+ return $this->_extension->realMultiQuery($link, $multi_query);
216
+ }
217
+
218
+ /**
219
+ * converts charset of a mysql message, usually coming from mysql_error(),
220
+ * into PMA charset, usually UTF-8
221
+ * uses language to charset mapping from mysql/share/errmsg.txt
222
+ * and charset names to ISO charset from information_schema.CHARACTER_SETS
223
+ *
224
+ * @param string $message the message
225
+ *
226
+ * @return string $message
227
+ */
228
+ public function convertMessage($message)
229
+ {
230
+ // latin always last!
231
+ $encodings = array(
232
+ 'japanese' => 'EUC-JP', //'ujis',
233
+ 'japanese-sjis' => 'Shift-JIS', //'sjis',
234
+ 'korean' => 'EUC-KR', //'euckr',
235
+ 'russian' => 'KOI8-R', //'koi8r',
236
+ 'ukrainian' => 'KOI8-U', //'koi8u',
237
+ 'greek' => 'ISO-8859-7', //'greek',
238
+ 'serbian' => 'CP1250', //'cp1250',
239
+ 'estonian' => 'ISO-8859-13', //'latin7',
240
+ 'slovak' => 'ISO-8859-2', //'latin2',
241
+ 'czech' => 'ISO-8859-2', //'latin2',
242
+ 'hungarian' => 'ISO-8859-2', //'latin2',
243
+ 'polish' => 'ISO-8859-2', //'latin2',
244
+ 'romanian' => 'ISO-8859-2', //'latin2',
245
+ 'spanish' => 'CP1252', //'latin1',
246
+ 'swedish' => 'CP1252', //'latin1',
247
+ 'italian' => 'CP1252', //'latin1',
248
+ 'norwegian-ny' => 'CP1252', //'latin1',
249
+ 'norwegian' => 'CP1252', //'latin1',
250
+ 'portuguese' => 'CP1252', //'latin1',
251
+ 'danish' => 'CP1252', //'latin1',
252
+ 'dutch' => 'CP1252', //'latin1',
253
+ 'english' => 'CP1252', //'latin1',
254
+ 'french' => 'CP1252', //'latin1',
255
+ 'german' => 'CP1252', //'latin1',
256
+ );
257
+
258
+ $server_language = $this->fetchValue(
259
+ 'SHOW VARIABLES LIKE \'language\';',
260
+ 0,
261
+ 1
262
+ );
263
+ if ($server_language) {
264
+ $found = array();
265
+ $match = preg_match(
266
+ '&(?:\\\|\\/)([^\\\\\/]*)(?:\\\|\\/)$&i',
267
+ $server_language,
268
+ $found
269
+ );
270
+ if ($match) {
271
+ $server_language = $found[1];
272
+ }
273
+ }
274
+
275
+ if (! empty($server_language) && isset($encodings[$server_language])) {
276
+ $encoding = $encodings[$server_language];
277
+ } else {
278
+ /* Fallback to CP1252 if we can not detect */
279
+ $encoding = 'CP1252';
280
+ }
281
+
282
+ return PMA_convertString($encoding, 'utf-8', $message);
283
+ }
284
+
285
+ /**
286
+ * returns array with table names for given db
287
+ *
288
+ * @param string $database name of database
289
+ * @param mixed $link mysql link resource|object
290
+ *
291
+ * @return array tables names
292
+ */
293
+ public function getTables($database, $link = null)
294
+ {
295
+ return $this->fetchResult(
296
+ 'SHOW TABLES FROM ' . PMA_Util::backquote($database) . ';',
297
+ null,
298
+ 0,
299
+ $link,
300
+ self::QUERY_STORE
301
+ );
302
+ }
303
+
304
+ /**
305
+ * returns a segment of the SQL WHERE clause regarding table name and type
306
+ *
307
+ * @param string $table table
308
+ * @param boolean $tbl_is_group $table is a table group
309
+ * @param string $table_type whether table or view
310
+ *
311
+ * @return string a segment of the WHERE clause
312
+ */
313
+ private function _getTableCondition($table, $tbl_is_group, $table_type)
314
+ {
315
+ // get table information from information_schema
316
+ if ($table) {
317
+ if (true === $tbl_is_group) {
318
+ $sql_where_table = 'AND t.`TABLE_NAME` LIKE \''
319
+ . PMA_Util::escapeMysqlWildcards(
320
+ PMA_Util::sqlAddSlashes($table)
321
+ )
322
+ . '%\'';
323
+ } else {
324
+ $sql_where_table = 'AND t.`TABLE_NAME` = \''
325
+ . PMA_Util::sqlAddSlashes($table) . '\'';
326
+ }
327
+ } else {
328
+ $sql_where_table = '';
329
+ }
330
+
331
+ if ($table_type) {
332
+ if ($table_type == 'view') {
333
+ if (PMA_DRIZZLE) {
334
+ $sql_where_table .= " AND t.`TABLE_TYPE` != 'BASE'";
335
+ } else {
336
+ $sql_where_table .= " AND t.`TABLE_TYPE` != 'BASE TABLE'";
337
+ }
338
+ } else if ($table_type == 'table') {
339
+ if (PMA_DRIZZLE) {
340
+ $sql_where_table .= " AND t.`TABLE_TYPE` = 'BASE'";
341
+ } else {
342
+ $sql_where_table .= " AND t.`TABLE_TYPE` = 'BASE TABLE'";
343
+ }
344
+ }
345
+ }
346
+ return $sql_where_table;
347
+ }
348
+
349
+ /**
350
+ * returns the beginning of the SQL statement to fetch the list of tables
351
+ *
352
+ * @param string[] $this_databases databases to list
353
+ * @param string $sql_where_table additional condition
354
+ *
355
+ * @return string the SQL statement
356
+ */
357
+ private function _getSqlForTablesFull($this_databases, $sql_where_table)
358
+ {
359
+ if (PMA_DRIZZLE) {
360
+ $stats_join = $this->_getDrizzeStatsJoin();
361
+
362
+ // data_dictionary.table_cache may not contain any data
363
+ // for some tables, it's just a table cache
364
+ // auto_increment == 0 is cast to NULL because currently
365
+ // (2011.03.13 GA)
366
+ // Drizzle doesn't provide correct value
367
+ $sql = "
368
+ SELECT t.*,
369
+ t.TABLE_SCHEMA AS `Db`,
370
+ t.TABLE_NAME AS `Name`,
371
+ t.TABLE_TYPE AS `TABLE_TYPE`,
372
+ t.ENGINE AS `Engine`,
373
+ t.ENGINE AS `Type`,
374
+ t.TABLE_VERSION AS `Version`,-- VERSION
375
+ t.ROW_FORMAT AS `Row_format`,
376
+ coalesce(tc.ROWS, stat.NUM_ROWS)
377
+ AS `Rows`,-- TABLE_ROWS,
378
+ coalesce(tc.ROWS, stat.NUM_ROWS)
379
+ AS `TABLE_ROWS`,
380
+ tc.AVG_ROW_LENGTH AS `Avg_row_length`, -- AVG_ROW_LENGTH
381
+ tc.TABLE_SIZE AS `Data_length`, -- DATA_LENGTH
382
+ NULL AS `Max_data_length`, -- MAX_DATA_LENGTH
383
+ NULL AS `Index_length`, -- INDEX_LENGTH
384
+ NULL AS `Data_free`, -- DATA_FREE
385
+ nullif(t.AUTO_INCREMENT, 0)
386
+ AS `Auto_increment`,
387
+ t.TABLE_CREATION_TIME AS `Create_time`, -- CREATE_TIME
388
+ t.TABLE_UPDATE_TIME AS `Update_time`, -- UPDATE_TIME
389
+ NULL AS `Check_time`, -- CHECK_TIME
390
+ t.TABLE_COLLATION AS `Collation`,
391
+ NULL AS `Checksum`, -- CHECKSUM
392
+ NULL AS `Create_options`, -- CREATE_OPTIONS
393
+ t.TABLE_COMMENT AS `Comment`
394
+ FROM data_dictionary.TABLES t
395
+ LEFT JOIN data_dictionary.TABLE_CACHE tc
396
+ ON tc.TABLE_SCHEMA = t.TABLE_SCHEMA AND tc.TABLE_NAME
397
+ = t.TABLE_NAME
398
+ $stats_join
399
+ WHERE t.TABLE_SCHEMA IN ('" . implode("', '", $this_databases) . "')
400
+ " . $sql_where_table;
401
+ } else {
402
+ $sql = '
403
+ SELECT *,
404
+ `TABLE_SCHEMA` AS `Db`,
405
+ `TABLE_NAME` AS `Name`,
406
+ `TABLE_TYPE` AS `TABLE_TYPE`,
407
+ `ENGINE` AS `Engine`,
408
+ `ENGINE` AS `Type`,
409
+ `VERSION` AS `Version`,
410
+ `ROW_FORMAT` AS `Row_format`,
411
+ `TABLE_ROWS` AS `Rows`,
412
+ `AVG_ROW_LENGTH` AS `Avg_row_length`,
413
+ `DATA_LENGTH` AS `Data_length`,
414
+ `MAX_DATA_LENGTH` AS `Max_data_length`,
415
+ `INDEX_LENGTH` AS `Index_length`,
416
+ `DATA_FREE` AS `Data_free`,
417
+ `AUTO_INCREMENT` AS `Auto_increment`,
418
+ `CREATE_TIME` AS `Create_time`,
419
+ `UPDATE_TIME` AS `Update_time`,
420
+ `CHECK_TIME` AS `Check_time`,
421
+ `TABLE_COLLATION` AS `Collation`,
422
+ `CHECKSUM` AS `Checksum`,
423
+ `CREATE_OPTIONS` AS `Create_options`,
424
+ `TABLE_COMMENT` AS `Comment`
425
+ FROM `information_schema`.`TABLES` t
426
+ WHERE ' . (PMA_IS_WINDOWS ? '' : 'BINARY') . ' `TABLE_SCHEMA`
427
+ IN (\'' . implode("', '", $this_databases) . '\')
428
+ ' . $sql_where_table;
429
+ }
430
+ return $sql;
431
+ }
432
+
433
+ /**
434
+ * returns array of all tables in given db or dbs
435
+ * this function expects unquoted names:
436
+ * RIGHT: my_database
437
+ * WRONG: `my_database`
438
+ * WRONG: my\_database
439
+ * if $tbl_is_group is true, $table is used as filter for table names
440
+ *
441
+ * <code>
442
+ * $GLOBALS['dbi']->getTablesFull('my_database');
443
+ * $GLOBALS['dbi']->getTablesFull('my_database', 'my_table'));
444
+ * $GLOBALS['dbi']->getTablesFull('my_database', 'my_tables_', true));
445
+ * </code>
446
+ *
447
+ * @param string $database database
448
+ * @param string $table table name
449
+ * @param boolean $tbl_is_group $table is a table group
450
+ * @param mixed $link mysql link
451
+ * @param integer $limit_offset zero-based offset for the count
452
+ * @param boolean|integer $limit_count number of tables to return
453
+ * @param string $sort_by table attribute to sort by
454
+ * @param string $sort_order direction to sort (ASC or DESC)
455
+ * @param string $table_type whether table or view
456
+ *
457
+ * @todo move into PMA_Table
458
+ *
459
+ * @return array list of tables in given db(s)
460
+ */
461
+ public function getTablesFull($database, $table = '',
462
+ $tbl_is_group = false, $link = null, $limit_offset = 0,
463
+ $limit_count = false, $sort_by = 'Name', $sort_order = 'ASC',
464
+ $table_type = null
465
+ ) {
466
+ if (true === $limit_count) {
467
+ $limit_count = $GLOBALS['cfg']['MaxTableList'];
468
+ }
469
+ // prepare and check parameters
470
+ if (! is_array($database)) {
471
+ $databases = array($database);
472
+ } else {
473
+ $databases = $database;
474
+ }
475
+
476
+ $tables = array();
477
+
478
+ if (! $GLOBALS['cfg']['Server']['DisableIS']) {
479
+ $sql_where_table = $this->_getTableCondition(
480
+ $table, $tbl_is_group, $table_type
481
+ );
482
+
483
+ // for PMA bc:
484
+ // `SCHEMA_FIELD_NAME` AS `SHOW_TABLE_STATUS_FIELD_NAME`
485
+ //
486
+ // on non-Windows servers,
487
+ // added BINARY in the WHERE clause to force a case sensitive
488
+ // comparison (if we are looking for the db Aa we don't want
489
+ // to find the db aa)
490
+ $this_databases = array_map('PMA_Util::sqlAddSlashes', $databases);
491
+
492
+ $sql = $this->_getSqlForTablesFull($this_databases, $sql_where_table);
493
+
494
+ // Sort the tables
495
+ $sql .= " ORDER BY $sort_by $sort_order";
496
+
497
+ if ($limit_count) {
498
+ $sql .= ' LIMIT ' . $limit_count . ' OFFSET ' . $limit_offset;
499
+ }
500
+
501
+ $tables = $this->fetchResult(
502
+ $sql, array('TABLE_SCHEMA', 'TABLE_NAME'), null, $link
503
+ );
504
+
505
+ if (PMA_DRIZZLE) {
506
+ // correct I_S and D_D names returned by D_D.TABLES -
507
+ // Drizzle generally uses lower case for them,
508
+ // but TABLES returns uppercase
509
+ foreach ((array)$database as $db) {
510
+ $db_upper = /*overload*/mb_strtoupper($db);
511
+ if (!isset($tables[$db]) && isset($tables[$db_upper])) {
512
+ $tables[$db] = $tables[$db_upper];
513
+ unset($tables[$db_upper]);
514
+ }
515
+ }
516
+ }
517
+
518
+ if ($sort_by == 'Name' && $GLOBALS['cfg']['NaturalOrder']) {
519
+ // here, the array's first key is by schema name
520
+ foreach ($tables as $one_database_name => $one_database_tables) {
521
+ uksort($one_database_tables, 'strnatcasecmp');
522
+
523
+ if ($sort_order == 'DESC') {
524
+ $one_database_tables = array_reverse($one_database_tables);
525
+ }
526
+ $tables[$one_database_name] = $one_database_tables;
527
+ }
528
+ } else if ($sort_by == 'Data_length') { // Size = Data_length + Index_length
529
+ foreach ($tables as $one_database_name => $one_database_tables) {
530
+ uasort(
531
+ $one_database_tables,
532
+ function ($a, $b) {
533
+ $aLength = $a['Data_length'] + $a['Index_length'];
534
+ $bLength = $b['Data_length'] + $b['Index_length'];
535
+ return ($aLength == $bLength)
536
+ ? 0
537
+ : ($aLength < $bLength) ? -1 : 1;
538
+ }
539
+ );
540
+
541
+ if ($sort_order == 'DESC') {
542
+ $one_database_tables = array_reverse($one_database_tables);
543
+ }
544
+ $tables[$one_database_name] = $one_database_tables;
545
+ }
546
+ }
547
+ } // end (get information from table schema)
548
+
549
+ // If permissions are wrong on even one database directory,
550
+ // information_schema does not return any table info for any database
551
+ // this is why we fall back to SHOW TABLE STATUS even for MySQL >= 50002
552
+ if (empty($tables) && !PMA_DRIZZLE) {
553
+ foreach ($databases as $each_database) {
554
+ if ($table || (true === $tbl_is_group) || $table_type) {
555
+ $sql = 'SHOW TABLE STATUS FROM '
556
+ . PMA_Util::backquote($each_database)
557
+ . ' WHERE';
558
+ $needAnd = false;
559
+ if ($table || (true === $tbl_is_group)) {
560
+ $sql .= " `Name` LIKE '"
561
+ . PMA_Util::escapeMysqlWildcards(
562
+ PMA_Util::sqlAddSlashes($table, true)
563
+ )
564
+ . "%'";
565
+ $needAnd = true;
566
+ }
567
+ if ($table_type) {
568
+ if ($needAnd) {
569
+ $sql .= " AND";
570
+ }
571
+ if ($table_type == 'view') {
572
+ $sql .= " `Comment` = 'VIEW'";
573
+ } else if ($table_type == 'table') {
574
+ $sql .= " `Comment` != 'VIEW'";
575
+ }
576
+ }
577
+ } else {
578
+ $sql = 'SHOW TABLE STATUS FROM '
579
+ . PMA_Util::backquote($each_database);
580
+ }
581
+
582
+ $useStatusCache = false;
583
+
584
+ if (extension_loaded('apc')
585
+ && isset($GLOBALS['cfg']['Server']['StatusCacheDatabases'])
586
+ && ! empty($GLOBALS['cfg']['Server']['StatusCacheLifetime'])
587
+ ) {
588
+ $statusCacheDatabases
589
+ = (array) $GLOBALS['cfg']['Server']['StatusCacheDatabases'];
590
+ if (in_array($each_database, $statusCacheDatabases)) {
591
+ $useStatusCache = true;
592
+ }
593
+ }
594
+
595
+ $each_tables = null;
596
+
597
+ if ($useStatusCache) {
598
+ $cacheKey = 'phpMyAdmin_tableStatus_'
599
+ . sha1($GLOBALS['cfg']['Server']['host'] . '_' . $sql);
600
+
601
+ $each_tables = apc_fetch($cacheKey);
602
+ }
603
+
604
+ if (! $each_tables) {
605
+ $each_tables = $this->fetchResult($sql, 'Name', null, $link);
606
+ }
607
+
608
+ if ($useStatusCache) {
609
+ apc_store(
610
+ $cacheKey, $each_tables,
611
+ $GLOBALS['cfg']['Server']['StatusCacheLifetime']
612
+ );
613
+ }
614
+
615
+ // Sort naturally if the config allows it and we're sorting
616
+ // the Name column.
617
+ if ($sort_by == 'Name' && $GLOBALS['cfg']['NaturalOrder']) {
618
+ uksort($each_tables, 'strnatcasecmp');
619
+
620
+ if ($sort_order == 'DESC') {
621
+ $each_tables = array_reverse($each_tables);
622
+ }
623
+ } else {
624
+ // Prepare to sort by creating array of the selected sort
625
+ // value to pass to array_multisort
626
+
627
+ // Size = Data_length + Index_length
628
+ if ($sort_by == 'Data_length') {
629
+ foreach ($each_tables as $table_name => $table_data) {
630
+ ${$sort_by}[$table_name] = strtolower(
631
+ $table_data['Data_length'] + $table_data['Index_length']
632
+ );
633
+ }
634
+ } else {
635
+ foreach ($each_tables as $table_name => $table_data) {
636
+ ${$sort_by}[$table_name]
637
+ = strtolower($table_data[$sort_by]);
638
+ }
639
+ }
640
+
641
+ if (! empty($$sort_by)) {
642
+ if ($sort_order == 'DESC') {
643
+ array_multisort($$sort_by, SORT_DESC, $each_tables);
644
+ } else {
645
+ array_multisort($$sort_by, SORT_ASC, $each_tables);
646
+ }
647
+ }
648
+
649
+ // cleanup the temporary sort array
650
+ unset($$sort_by);
651
+ }
652
+
653
+ if ($limit_count) {
654
+ $each_tables = array_slice(
655
+ $each_tables, $limit_offset, $limit_count
656
+ );
657
+ }
658
+
659
+ foreach ($each_tables as $table_name => $each_table) {
660
+ if (! isset($each_tables[$table_name]['Type'])
661
+ && isset($each_tables[$table_name]['Engine'])
662
+ ) {
663
+ // pma BC, same parts of PMA still uses 'Type'
664
+ $each_tables[$table_name]['Type']
665
+ =& $each_tables[$table_name]['Engine'];
666
+ } elseif (! isset($each_tables[$table_name]['Engine'])
667
+ && isset($each_tables[$table_name]['Type'])
668
+ ) {
669
+ // old MySQL reports Type, newer MySQL reports Engine
670
+ $each_tables[$table_name]['Engine']
671
+ =& $each_tables[$table_name]['Type'];
672
+ }
673
+
674
+ // MySQL forward compatibility
675
+ // so pma could use this array as if every server
676
+ // is of version >5.0
677
+ // todo : remove and check usage in the rest of the code,
678
+ // MySQL 5.0 is required by current PMA version
679
+ $each_tables[$table_name]['TABLE_SCHEMA']
680
+ = $each_database;
681
+ $each_tables[$table_name]['TABLE_NAME']
682
+ =& $each_tables[$table_name]['Name'];
683
+ $each_tables[$table_name]['ENGINE']
684
+ =& $each_tables[$table_name]['Engine'];
685
+ $each_tables[$table_name]['VERSION']
686
+ =& $each_tables[$table_name]['Version'];
687
+ $each_tables[$table_name]['ROW_FORMAT']
688
+ =& $each_tables[$table_name]['Row_format'];
689
+ $each_tables[$table_name]['TABLE_ROWS']
690
+ =& $each_tables[$table_name]['Rows'];
691
+ $each_tables[$table_name]['AVG_ROW_LENGTH']
692
+ =& $each_tables[$table_name]['Avg_row_length'];
693
+ $each_tables[$table_name]['DATA_LENGTH']
694
+ =& $each_tables[$table_name]['Data_length'];
695
+ $each_tables[$table_name]['MAX_DATA_LENGTH']
696
+ =& $each_tables[$table_name]['Max_data_length'];
697
+ $each_tables[$table_name]['INDEX_LENGTH']
698
+ =& $each_tables[$table_name]['Index_length'];
699
+ $each_tables[$table_name]['DATA_FREE']
700
+ =& $each_tables[$table_name]['Data_free'];
701
+ $each_tables[$table_name]['AUTO_INCREMENT']
702
+ =& $each_tables[$table_name]['Auto_increment'];
703
+ $each_tables[$table_name]['CREATE_TIME']
704
+ =& $each_tables[$table_name]['Create_time'];
705
+ $each_tables[$table_name]['UPDATE_TIME']
706
+ =& $each_tables[$table_name]['Update_time'];
707
+ $each_tables[$table_name]['CHECK_TIME']
708
+ =& $each_tables[$table_name]['Check_time'];
709
+ $each_tables[$table_name]['TABLE_COLLATION']
710
+ =& $each_tables[$table_name]['Collation'];
711
+ $each_tables[$table_name]['CHECKSUM']
712
+ =& $each_tables[$table_name]['Checksum'];
713
+ $each_tables[$table_name]['CREATE_OPTIONS']
714
+ =& $each_tables[$table_name]['Create_options'];
715
+ $each_tables[$table_name]['TABLE_COMMENT']
716
+ =& $each_tables[$table_name]['Comment'];
717
+
718
+ if (strtoupper($each_tables[$table_name]['Comment']) === 'VIEW'
719
+ && $each_tables[$table_name]['Engine'] == null
720
+ ) {
721
+ $each_tables[$table_name]['TABLE_TYPE'] = 'VIEW';
722
+ } elseif ($each_database == 'information_schema') {
723
+ $each_tables[$table_name]['TABLE_TYPE'] = 'SYSTEM VIEW';
724
+ } else {
725
+ /**
726
+ * @todo difference between 'TEMPORARY' and 'BASE TABLE'
727
+ * but how to detect?
728
+ */
729
+ $each_tables[$table_name]['TABLE_TYPE'] = 'BASE TABLE';
730
+ }
731
+ }
732
+
733
+ $tables[$each_database] = $each_tables;
734
+ }
735
+ }
736
+
737
+ // cache table data
738
+ // so PMA_Table does not require to issue SHOW TABLE STATUS again
739
+ $this->_cacheTableData($tables, $table);
740
+
741
+ if (is_array($database)) {
742
+ return $tables;
743
+ }
744
+
745
+ if (isset($tables[$database])) {
746
+ return $tables[$database];
747
+ }
748
+
749
+ if (isset($tables[/*overload*/mb_strtolower($database)])) {
750
+ // on windows with lower_case_table_names = 1
751
+ // MySQL returns
752
+ // with SHOW DATABASES or information_schema.SCHEMATA: `Test`
753
+ // but information_schema.TABLES gives `test`
754
+ // bug #2036
755
+ // https://sourceforge.net/p/phpmyadmin/bugs/2036/
756
+ return $tables[/*overload*/mb_strtolower($database)];
757
+ }
758
+
759
+ // one database but inexact letter case match
760
+ // as Drizzle is always case insensitive,
761
+ // we can safely return the only result
762
+ if (!PMA_DRIZZLE || !count($tables) == 1) {
763
+ return $tables;
764
+ }
765
+
766
+ $keys = array_keys($tables);
767
+ if (/*overload*/mb_strlen(array_pop($keys)) == /*overload*/mb_strlen($database)) {
768
+ return array_pop($tables);
769
+ }
770
+ return $tables;
771
+ }
772
+
773
+ /**
774
+ * Copies the table properties to the set of property names used by PMA.
775
+ *
776
+ * @param array $tables array of table properties
777
+ * @param string $database database name
778
+ *
779
+ * @return array array with added properties
780
+ */
781
+ public function copyTableProperties($tables, $database)
782
+ {
783
+ foreach ($tables as $table_name => $each_table) {
784
+ if (! isset($tables[$table_name]['Type'])
785
+ && isset($tables[$table_name]['Engine'])
786
+ ) {
787
+ // pma BC, same parts of PMA still uses 'Type'
788
+ $tables[$table_name]['Type']
789
+ =& $tables[$table_name]['Engine'];
790
+ } elseif (! isset($tables[$table_name]['Engine'])
791
+ && isset($tables[$table_name]['Type'])
792
+ ) {
793
+ // old MySQL reports Type, newer MySQL reports Engine
794
+ $tables[$table_name]['Engine']
795
+ =& $tables[$table_name]['Type'];
796
+ }
797
+
798
+ // MySQL forward compatibility
799
+ // so pma could use this array as if every server
800
+ // is of version >5.0
801
+ // todo : remove and check usage in the rest of the code,
802
+ // MySQL 5.0 is required by current PMA version
803
+ $tables[$table_name]['TABLE_SCHEMA']
804
+ = $database;
805
+ $tables[$table_name]['TABLE_NAME']
806
+ =& $tables[$table_name]['Name'];
807
+ $tables[$table_name]['ENGINE']
808
+ =& $tables[$table_name]['Engine'];
809
+ $tables[$table_name]['VERSION']
810
+ =& $tables[$table_name]['Version'];
811
+ $tables[$table_name]['ROW_FORMAT']
812
+ =& $tables[$table_name]['Row_format'];
813
+ $tables[$table_name]['TABLE_ROWS']
814
+ =& $tables[$table_name]['Rows'];
815
+ $tables[$table_name]['AVG_ROW_LENGTH']
816
+ =& $tables[$table_name]['Avg_row_length'];
817
+ $tables[$table_name]['DATA_LENGTH']
818
+ =& $tables[$table_name]['Data_length'];
819
+ $tables[$table_name]['MAX_DATA_LENGTH']
820
+ =& $tables[$table_name]['Max_data_length'];
821
+ $tables[$table_name]['INDEX_LENGTH']
822
+ =& $tables[$table_name]['Index_length'];
823
+ $tables[$table_name]['DATA_FREE']
824
+ =& $tables[$table_name]['Data_free'];
825
+ $tables[$table_name]['AUTO_INCREMENT']
826
+ =& $tables[$table_name]['Auto_increment'];
827
+ $tables[$table_name]['CREATE_TIME']
828
+ =& $tables[$table_name]['Create_time'];
829
+ $tables[$table_name]['UPDATE_TIME']
830
+ =& $tables[$table_name]['Update_time'];
831
+ $tables[$table_name]['CHECK_TIME']
832
+ =& $tables[$table_name]['Check_time'];
833
+ $tables[$table_name]['TABLE_COLLATION']
834
+ =& $tables[$table_name]['Collation'];
835
+ $tables[$table_name]['CHECKSUM']
836
+ =& $tables[$table_name]['Checksum'];
837
+ $tables[$table_name]['CREATE_OPTIONS']
838
+ =& $tables[$table_name]['Create_options'];
839
+ $tables[$table_name]['TABLE_COMMENT']
840
+ =& $tables[$table_name]['Comment'];
841
+
842
+ $commentUpper = /*overload*/mb_strtoupper(
843
+ $tables[$table_name]['Comment']
844
+ );
845
+ if ($commentUpper === 'VIEW'
846
+ && $tables[$table_name]['Engine'] == null
847
+ ) {
848
+ $tables[$table_name]['TABLE_TYPE'] = 'VIEW';
849
+ } else {
850
+ /**
851
+ * @todo difference between 'TEMPORARY' and 'BASE TABLE'
852
+ * but how to detect?
853
+ */
854
+ $tables[$table_name]['TABLE_TYPE'] = 'BASE TABLE';
855
+ }
856
+ }
857
+ return $tables;
858
+ }
859
+
860
+ /**
861
+ * Get VIEWs in a particular database
862
+ *
863
+ * @param string $db Database name to look in
864
+ *
865
+ * @return array $views Set of VIEWs inside the database
866
+ */
867
+ public function getVirtualTables($db)
868
+ {
869
+
870
+ $tables_full = $this->getTablesFull($db);
871
+ $views = array();
872
+
873
+ foreach ($tables_full as $table=>$tmp) {
874
+
875
+ if (PMA_Table::isView($db, $table)) {
876
+ $views[] = $table;
877
+ }
878
+
879
+ }
880
+
881
+ return $views;
882
+
883
+ }
884
+
885
+
886
+ /**
887
+ * returns array with databases containing extended infos about them
888
+ *
889
+ * @param string $database database
890
+ * @param boolean $force_stats retrieve stats also for MySQL < 5
891
+ * @param object $link mysql link
892
+ * @param string $sort_by column to order by
893
+ * @param string $sort_order ASC or DESC
894
+ * @param integer $limit_offset starting offset for LIMIT
895
+ * @param bool|int $limit_count row count for LIMIT or true
896
+ * for $GLOBALS['cfg']['MaxDbList']
897
+ *
898
+ * @todo move into PMA_List_Database?
899
+ *
900
+ * @return array $databases
901
+ */
902
+ public function getDatabasesFull($database = null, $force_stats = false,
903
+ $link = null, $sort_by = 'SCHEMA_NAME', $sort_order = 'ASC',
904
+ $limit_offset = 0, $limit_count = false
905
+ ) {
906
+ $sort_order = strtoupper($sort_order);
907
+
908
+ if (true === $limit_count) {
909
+ $limit_count = $GLOBALS['cfg']['MaxDbList'];
910
+ }
911
+
912
+ $apply_limit_and_order_manual = true;
913
+
914
+ if (! $GLOBALS['cfg']['Server']['DisableIS']) {
915
+ /**
916
+ * if $GLOBALS['cfg']['NaturalOrder'] is enabled, we cannot use LIMIT
917
+ * cause MySQL does not support natural ordering,
918
+ * we have to do it afterward
919
+ */
920
+ $limit = '';
921
+ if (! $GLOBALS['cfg']['NaturalOrder']) {
922
+ if ($limit_count) {
923
+ $limit = ' LIMIT ' . $limit_count . ' OFFSET ' . $limit_offset;
924
+ }
925
+
926
+ $apply_limit_and_order_manual = false;
927
+ }
928
+
929
+ // get table information from information_schema
930
+ if ($database) {
931
+ $sql_where_schema = 'WHERE `SCHEMA_NAME` LIKE \''
932
+ . PMA_Util::sqlAddSlashes($database) . '\'';
933
+ } else {
934
+ $sql_where_schema = '';
935
+ }
936
+
937
+ if (PMA_DRIZZLE) {
938
+ // data_dictionary.table_cache may not contain any data for some
939
+ // tables, it's just a table cache
940
+ $sql = 'SELECT
941
+ s.SCHEMA_NAME,
942
+ s.DEFAULT_COLLATION_NAME';
943
+ if ($force_stats) {
944
+ // no TABLE_CACHE data, stable results are better than
945
+ // constantly changing
946
+ $sql .= ',
947
+ COUNT(t.TABLE_SCHEMA) AS SCHEMA_TABLES,
948
+ SUM(stat.NUM_ROWS) AS SCHEMA_TABLE_ROWS';
949
+ }
950
+ $sql .= '
951
+ FROM data_dictionary.SCHEMAS s';
952
+ if ($force_stats) {
953
+ $stats_join = $this->_getDrizzeStatsJoin();
954
+
955
+ $sql .= "
956
+ LEFT JOIN data_dictionary.TABLES t
957
+ ON t.TABLE_SCHEMA = s.SCHEMA_NAME
958
+ $stats_join";
959
+ }
960
+ $sql .= $sql_where_schema . '
961
+ GROUP BY s.SCHEMA_NAME, s.DEFAULT_COLLATION_NAME
962
+ ORDER BY ' . PMA_Util::backquote($sort_by) . ' ' . $sort_order
963
+ . $limit;
964
+ } else {
965
+ $sql = 'SELECT *,
966
+ CAST(BIN_NAME AS CHAR CHARACTER SET utf8) AS SCHEMA_NAME
967
+ FROM (';
968
+ $sql .= 'SELECT
969
+ BINARY s.SCHEMA_NAME AS BIN_NAME,
970
+ s.DEFAULT_COLLATION_NAME';
971
+ if ($force_stats) {
972
+ $sql .= ',
973
+ COUNT(t.TABLE_SCHEMA) AS SCHEMA_TABLES,
974
+ SUM(t.TABLE_ROWS) AS SCHEMA_TABLE_ROWS,
975
+ SUM(t.DATA_LENGTH) AS SCHEMA_DATA_LENGTH,
976
+ SUM(t.MAX_DATA_LENGTH) AS SCHEMA_MAX_DATA_LENGTH,
977
+ SUM(t.INDEX_LENGTH) AS SCHEMA_INDEX_LENGTH,
978
+ SUM(t.DATA_LENGTH + t.INDEX_LENGTH)
979
+ AS SCHEMA_LENGTH,
980
+ SUM(t.DATA_FREE) AS SCHEMA_DATA_FREE';
981
+ }
982
+ $sql .= '
983
+ FROM `information_schema`.SCHEMATA s';
984
+ if ($force_stats) {
985
+ $sql .= '
986
+ LEFT JOIN `information_schema`.TABLES t
987
+ ON BINARY t.TABLE_SCHEMA = BINARY s.SCHEMA_NAME';
988
+ }
989
+ $sql .= $sql_where_schema . '
990
+ GROUP BY BINARY s.SCHEMA_NAME, s.DEFAULT_COLLATION_NAME
991
+ ORDER BY ';
992
+ if ($sort_by == 'SCHEMA_NAME'
993
+ || $sort_by == 'DEFAULT_COLLATION_NAME'
994
+ ) {
995
+ $sql .= 'BINARY ';
996
+ }
997
+ $sql .= PMA_Util::backquote($sort_by)
998
+ . ' ' . $sort_order
999
+ . $limit;
1000
+ $sql .= ') a';
1001
+ }
1002
+
1003
+ $databases = $this->fetchResult($sql, 'SCHEMA_NAME', null, $link);
1004
+
1005
+ $mysql_error = $this->getError($link);
1006
+ if (! count($databases) && $GLOBALS['errno']) {
1007
+ PMA_Util::mysqlDie($mysql_error, $sql);
1008
+ }
1009
+
1010
+ // display only databases also in official database list
1011
+ // f.e. to apply hide_db and only_db
1012
+ $drops = array_diff(
1013
+ array_keys($databases), (array) $GLOBALS['pma']->databases
1014
+ );
1015
+ foreach ($drops as $drop) {
1016
+ unset($databases[$drop]);
1017
+ }
1018
+ } else {
1019
+ $databases = array();
1020
+ foreach ($GLOBALS['pma']->databases as $database_name) {
1021
+ // MySQL forward compatibility
1022
+ // so pma could use this array as if every server is of version >5.0
1023
+ // todo : remove and check the rest of the code for usage,
1024
+ // MySQL 5.0 or higher is required for current PMA version
1025
+ $databases[$database_name]['SCHEMA_NAME'] = $database_name;
1026
+
1027
+ include_once './libraries/mysql_charsets.inc.php';
1028
+ $databases[$database_name]['DEFAULT_COLLATION_NAME']
1029
+ = PMA_getDbCollation($database_name);
1030
+
1031
+ if ($force_stats) {
1032
+
1033
+ // get additional info about tables
1034
+ $databases[$database_name]['SCHEMA_TABLES'] = 0;
1035
+ $databases[$database_name]['SCHEMA_TABLE_ROWS'] = 0;
1036
+ $databases[$database_name]['SCHEMA_DATA_LENGTH'] = 0;
1037
+ $databases[$database_name]['SCHEMA_MAX_DATA_LENGTH'] = 0;
1038
+ $databases[$database_name]['SCHEMA_INDEX_LENGTH'] = 0;
1039
+ $databases[$database_name]['SCHEMA_LENGTH'] = 0;
1040
+ $databases[$database_name]['SCHEMA_DATA_FREE'] = 0;
1041
+
1042
+ $res = $this->query(
1043
+ 'SHOW TABLE STATUS FROM '
1044
+ . PMA_Util::backquote($database_name) . ';'
1045
+ );
1046
+
1047
+ while ($row = $this->fetchAssoc($res)) {
1048
+ $databases[$database_name]['SCHEMA_TABLES']++;
1049
+ $databases[$database_name]['SCHEMA_TABLE_ROWS']
1050
+ += $row['Rows'];
1051
+ $databases[$database_name]['SCHEMA_DATA_LENGTH']
1052
+ += $row['Data_length'];
1053
+ $databases[$database_name]['SCHEMA_MAX_DATA_LENGTH']
1054
+ += $row['Max_data_length'];
1055
+ $databases[$database_name]['SCHEMA_INDEX_LENGTH']
1056
+ += $row['Index_length'];
1057
+
1058
+ // for InnoDB, this does not contain the number of
1059
+ // overhead bytes but the total free space
1060
+ if ('InnoDB' != $row['Engine']) {
1061
+ $databases[$database_name]['SCHEMA_DATA_FREE']
1062
+ += $row['Data_free'];
1063
+ }
1064
+ $databases[$database_name]['SCHEMA_LENGTH']
1065
+ += $row['Data_length'] + $row['Index_length'];
1066
+ }
1067
+ $this->freeResult($res);
1068
+ unset($res);
1069
+ }
1070
+ }
1071
+ }
1072
+
1073
+ /**
1074
+ * apply limit and order manually now
1075
+ * (caused by older MySQL < 5 or $GLOBALS['cfg']['NaturalOrder'])
1076
+ */
1077
+ if ($apply_limit_and_order_manual) {
1078
+ $GLOBALS['callback_sort_order'] = $sort_order;
1079
+ $GLOBALS['callback_sort_by'] = $sort_by;
1080
+ usort(
1081
+ $databases,
1082
+ array('PMA_DatabaseInterface', '_usortComparisonCallback')
1083
+ );
1084
+ unset($GLOBALS['callback_sort_order'], $GLOBALS['callback_sort_by']);
1085
+
1086
+ /**
1087
+ * now apply limit
1088
+ */
1089
+ if ($limit_count) {
1090
+ $databases = array_slice($databases, $limit_offset, $limit_count);
1091
+ }
1092
+ }
1093
+
1094
+ return $databases;
1095
+ }
1096
+
1097
+
1098
+ /**
1099
+ * Generates JOIN part for the Drizzle query to get database/table stats.
1100
+ *
1101
+ * @return string
1102
+ */
1103
+ private function _getDrizzeStatsJoin()
1104
+ {
1105
+ $engine_info = PMA_Util::cacheGet('drizzle_engines');
1106
+ $stats_join = "LEFT JOIN (SELECT 0 NUM_ROWS) AS stat ON false";
1107
+ if (isset($engine_info['InnoDB'])
1108
+ && $engine_info['InnoDB']['module_library'] == 'innobase'
1109
+ ) {
1110
+ $stats_join
1111
+ = "LEFT JOIN data_dictionary.INNODB_SYS_TABLESTATS stat"
1112
+ . " ON (t.ENGINE = 'InnoDB' AND stat.NAME"
1113
+ . " = (t.TABLE_SCHEMA || '/') || t.TABLE_NAME)";
1114
+ }
1115
+ return $stats_join;
1116
+ }
1117
+
1118
+
1119
+ /**
1120
+ * usort comparison callback
1121
+ *
1122
+ * @param string $a first argument to sort
1123
+ * @param string $b second argument to sort
1124
+ *
1125
+ * @return integer a value representing whether $a should be before $b in the
1126
+ * sorted array or not
1127
+ *
1128
+ * @access private
1129
+ */
1130
+ private static function _usortComparisonCallback($a, $b)
1131
+ {
1132
+ if ($GLOBALS['cfg']['NaturalOrder']) {
1133
+ $sorter = 'strnatcasecmp';
1134
+ } else {
1135
+ $sorter = 'strcasecmp';
1136
+ }
1137
+ /* No sorting when key is not present */
1138
+ if (! isset($a[$GLOBALS['callback_sort_by']])
1139
+ || ! isset($b[$GLOBALS['callback_sort_by']])
1140
+ ) {
1141
+ return 0;
1142
+ }
1143
+ // produces f.e.:
1144
+ // return -1 * strnatcasecmp($a["SCHEMA_TABLES"], $b["SCHEMA_TABLES"])
1145
+ return ($GLOBALS['callback_sort_order'] == 'ASC' ? 1 : -1) * $sorter(
1146
+ $a[$GLOBALS['callback_sort_by']], $b[$GLOBALS['callback_sort_by']]
1147
+ );
1148
+ } // end of the '_usortComparisonCallback()' method
1149
+
1150
+ /**
1151
+ * returns detailed array with all columns for given table in database,
1152
+ * or all tables/databases
1153
+ *
1154
+ * @param string $database name of database
1155
+ * @param string $table name of table to retrieve columns from
1156
+ * @param string $column name of specific column
1157
+ * @param mixed $link mysql link resource
1158
+ *
1159
+ * @return array
1160
+ */
1161
+ public function getColumnsFull($database = null, $table = null,
1162
+ $column = null, $link = null
1163
+ ) {
1164
+ if (! $GLOBALS['cfg']['Server']['DisableIS']) {
1165
+ $sql_wheres = array();
1166
+ $array_keys = array();
1167
+
1168
+ // get columns information from information_schema
1169
+ if (null !== $database) {
1170
+ $sql_wheres[] = '`TABLE_SCHEMA` = \''
1171
+ . PMA_Util::sqlAddSlashes($database) . '\' ';
1172
+ } else {
1173
+ $array_keys[] = 'TABLE_SCHEMA';
1174
+ }
1175
+ if (null !== $table) {
1176
+ $sql_wheres[] = '`TABLE_NAME` = \''
1177
+ . PMA_Util::sqlAddSlashes($table) . '\' ';
1178
+ } else {
1179
+ $array_keys[] = 'TABLE_NAME';
1180
+ }
1181
+ if (null !== $column) {
1182
+ $sql_wheres[] = '`COLUMN_NAME` = \''
1183
+ . PMA_Util::sqlAddSlashes($column) . '\' ';
1184
+ } else {
1185
+ $array_keys[] = 'COLUMN_NAME';
1186
+ }
1187
+
1188
+ // for PMA bc:
1189
+ // `[SCHEMA_FIELD_NAME]` AS `[SHOW_FULL_COLUMNS_FIELD_NAME]`
1190
+ if (PMA_DRIZZLE) {
1191
+ $sql = "SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME,
1192
+ column_name AS `Field`,
1193
+ (CASE
1194
+ WHEN character_maximum_length > 0
1195
+ THEN concat(lower(data_type), '(', character_maximum_length, ')')
1196
+ WHEN numeric_precision > 0 OR numeric_scale > 0
1197
+ THEN concat(lower(data_type), '(', numeric_precision,
1198
+ ',', numeric_scale, ')')
1199
+ WHEN enum_values IS NOT NULL
1200
+ THEN concat(lower(data_type), '(', enum_values, ')')
1201
+ ELSE lower(data_type) END)
1202
+ AS `Type`,
1203
+ collation_name AS `Collation`,
1204
+ (CASE is_nullable
1205
+ WHEN 1 THEN 'YES'
1206
+ ELSE 'NO' END) AS `Null`,
1207
+ (CASE
1208
+ WHEN is_used_in_primary THEN 'PRI'
1209
+ ELSE '' END) AS `Key`,
1210
+ column_default AS `Default`,
1211
+ (CASE
1212
+ WHEN is_auto_increment THEN 'auto_increment'
1213
+ WHEN column_default_update
1214
+ THEN 'on update ' || column_default_update
1215
+ ELSE '' END) AS `Extra`,
1216
+ NULL AS `Privileges`,
1217
+ column_comment AS `Comment`
1218
+ FROM data_dictionary.columns";
1219
+ } else {
1220
+ $sql = '
1221
+ SELECT *,
1222
+ `COLUMN_NAME` AS `Field`,
1223
+ `COLUMN_TYPE` AS `Type`,
1224
+ `COLLATION_NAME` AS `Collation`,
1225
+ `IS_NULLABLE` AS `Null`,
1226
+ `COLUMN_KEY` AS `Key`,
1227
+ `COLUMN_DEFAULT` AS `Default`,
1228
+ `EXTRA` AS `Extra`,
1229
+ `PRIVILEGES` AS `Privileges`,
1230
+ `COLUMN_COMMENT` AS `Comment`
1231
+ FROM `information_schema`.`COLUMNS`';
1232
+ }
1233
+ if (count($sql_wheres)) {
1234
+ $sql .= "\n" . ' WHERE ' . implode(' AND ', $sql_wheres);
1235
+ }
1236
+ return $this->fetchResult($sql, $array_keys, null, $link);
1237
+ } else {
1238
+ $columns = array();
1239
+ if (null === $database) {
1240
+ foreach ($GLOBALS['pma']->databases as $database) {
1241
+ $columns[$database] = $this->getColumnsFull(
1242
+ $database, null, null, $link
1243
+ );
1244
+ }
1245
+ return $columns;
1246
+ } elseif (null === $table) {
1247
+ $tables = $this->getTables($database);
1248
+ foreach ($tables as $table) {
1249
+ $columns[$table] = $this->getColumnsFull(
1250
+ $database, $table, null, $link
1251
+ );
1252
+ }
1253
+ return $columns;
1254
+ }
1255
+ $sql = 'SHOW FULL COLUMNS FROM '
1256
+ . PMA_Util::backquote($database) . '.' . PMA_Util::backquote($table);
1257
+ if (null !== $column) {
1258
+ $sql .= " LIKE '" . PMA_Util::sqlAddSlashes($column, true) . "'";
1259
+ }
1260
+
1261
+ $columns = $this->fetchResult($sql, 'Field', null, $link);
1262
+ $ordinal_position = 1;
1263
+ foreach ($columns as $column_name => $each_column) {
1264
+
1265
+ // MySQL forward compatibility
1266
+ // so pma could use this array as if every server is of version >5.0
1267
+ // todo : remove and check the rest of the code for usage,
1268
+ // MySQL 5.0 or higher is required for current PMA version
1269
+ $columns[$column_name]['COLUMN_NAME']
1270
+ =& $columns[$column_name]['Field'];
1271
+ $columns[$column_name]['COLUMN_TYPE']
1272
+ =& $columns[$column_name]['Type'];
1273
+ $columns[$column_name]['COLLATION_NAME']
1274
+ =& $columns[$column_name]['Collation'];
1275
+ $columns[$column_name]['IS_NULLABLE']
1276
+ =& $columns[$column_name]['Null'];
1277
+ $columns[$column_name]['COLUMN_KEY']
1278
+ =& $columns[$column_name]['Key'];
1279
+ $columns[$column_name]['COLUMN_DEFAULT']
1280
+ =& $columns[$column_name]['Default'];
1281
+ $columns[$column_name]['EXTRA']
1282
+ =& $columns[$column_name]['Extra'];
1283
+ $columns[$column_name]['PRIVILEGES']
1284
+ =& $columns[$column_name]['Privileges'];
1285
+ $columns[$column_name]['COLUMN_COMMENT']
1286
+ =& $columns[$column_name]['Comment'];
1287
+
1288
+ $columns[$column_name]['TABLE_CATALOG'] = null;
1289
+ $columns[$column_name]['TABLE_SCHEMA'] = $database;
1290
+ $columns[$column_name]['TABLE_NAME'] = $table;
1291
+ $columns[$column_name]['ORDINAL_POSITION'] = $ordinal_position;
1292
+ $columns[$column_name]['DATA_TYPE']
1293
+ = substr(
1294
+ $columns[$column_name]['COLUMN_TYPE'],
1295
+ 0,
1296
+ strpos($columns[$column_name]['COLUMN_TYPE'], '(')
1297
+ );
1298
+ /**
1299
+ * @todo guess CHARACTER_MAXIMUM_LENGTH from COLUMN_TYPE
1300
+ */
1301
+ $columns[$column_name]['CHARACTER_MAXIMUM_LENGTH'] = null;
1302
+ /**
1303
+ * @todo guess CHARACTER_OCTET_LENGTH from CHARACTER_MAXIMUM_LENGTH
1304
+ */
1305
+ $columns[$column_name]['CHARACTER_OCTET_LENGTH'] = null;
1306
+ $columns[$column_name]['NUMERIC_PRECISION'] = null;
1307
+ $columns[$column_name]['NUMERIC_SCALE'] = null;
1308
+ $columns[$column_name]['CHARACTER_SET_NAME']
1309
+ = substr(
1310
+ $columns[$column_name]['COLLATION_NAME'],
1311
+ 0,
1312
+ strpos($columns[$column_name]['COLLATION_NAME'], '_')
1313
+ );
1314
+
1315
+ $ordinal_position++;
1316
+ }
1317
+
1318
+ if (null !== $column) {
1319
+ reset($columns);
1320
+ $columns = current($columns);
1321
+ }
1322
+
1323
+ return $columns;
1324
+ }
1325
+ }
1326
+
1327
+ /**
1328
+ * Returns SQL query for fetching columns for a table
1329
+ *
1330
+ * The 'Key' column is not calculated properly, use $GLOBALS['dbi']->getColumns()
1331
+ * to get correct values.
1332
+ *
1333
+ * @param string $database name of database
1334
+ * @param string $table name of table to retrieve columns from
1335
+ * @param string $column name of column, null to show all columns
1336
+ * @param boolean $full whether to return full info or only column names
1337
+ *
1338
+ * @see getColumns()
1339
+ *
1340
+ * @return string
1341
+ */
1342
+ public function getColumnsSql($database, $table, $column = null, $full = false)
1343
+ {
1344
+ if (defined('PMA_DRIZZLE') && PMA_DRIZZLE) {
1345
+ // `Key` column:
1346
+ // * used in primary key => PRI
1347
+ // * unique one-column => UNI
1348
+ // * indexed, one-column or first in multi-column => MUL
1349
+ // Promotion of UNI to PRI in case no primary index exists
1350
+ // is done after query is executed
1351
+ $sql = "SELECT
1352
+ column_name AS `Field`,
1353
+ (CASE
1354
+ WHEN character_maximum_length > 0
1355
+ THEN concat(
1356
+ lower(data_type), '(', character_maximum_length, ')'
1357
+ )
1358
+ WHEN numeric_precision > 0 OR numeric_scale > 0
1359
+ THEN concat(lower(data_type), '(', numeric_precision,
1360
+ ',', numeric_scale, ')')
1361
+ WHEN enum_values IS NOT NULL
1362
+ THEN concat(lower(data_type), '(', enum_values, ')')
1363
+ ELSE lower(data_type) END)
1364
+ AS `Type`,
1365
+ " . ($full ? "
1366
+ collation_name AS `Collation`," : '') . "
1367
+ (CASE is_nullable
1368
+ WHEN 1 THEN 'YES'
1369
+ ELSE 'NO' END) AS `Null`,
1370
+ (CASE
1371
+ WHEN is_used_in_primary THEN 'PRI'
1372
+ WHEN is_unique AND NOT is_multi THEN 'UNI'
1373
+ WHEN is_indexed
1374
+ AND (NOT is_multi OR is_first_in_multi) THEN 'MUL'
1375
+ ELSE '' END) AS `Key`,
1376
+ column_default AS `Default`,
1377
+ (CASE
1378
+ WHEN is_auto_increment THEN 'auto_increment'
1379
+ WHEN column_default_update <> ''
1380
+ THEN 'on update ' || column_default_update
1381
+ ELSE '' END) AS `Extra`
1382
+ " . ($full ? " ,
1383
+ NULL AS `Privileges`,
1384
+ column_comment AS `Comment`" : '') . "
1385
+ FROM data_dictionary.columns
1386
+ WHERE table_schema = '" . PMA_Util::sqlAddSlashes($database) . "'
1387
+ AND table_name = '" . PMA_Util::sqlAddSlashes($table) . "'
1388
+ " . (
1389
+ ($column != null)
1390
+ ? "
1391
+ AND column_name = '" . PMA_Util::sqlAddSlashes($column) . "'"
1392
+ : ''
1393
+ );
1394
+ // ORDER BY ordinal_position
1395
+ } else {
1396
+ $sql = 'SHOW ' . ($full ? 'FULL' : '') . ' COLUMNS FROM '
1397
+ . PMA_Util::backquote($database) . '.' . PMA_Util::backquote($table)
1398
+ . (($column != null) ? "LIKE '"
1399
+ . PMA_Util::sqlAddSlashes($column, true) . "'" : '');
1400
+ }
1401
+ return $sql;
1402
+ }
1403
+
1404
+ /**
1405
+ * Returns descriptions of columns in given table (all or given by $column)
1406
+ *
1407
+ * @param string $database name of database
1408
+ * @param string $table name of table to retrieve columns from
1409
+ * @param string $column name of column, null to show all columns
1410
+ * @param boolean $full whether to return full info or only column names
1411
+ * @param mixed $link mysql link resource
1412
+ *
1413
+ * @return false|array array indexed by column names or,
1414
+ * if $column is given, flat array description
1415
+ */
1416
+ public function getColumns($database, $table, $column = null, $full = false,
1417
+ $link = null
1418
+ ) {
1419
+ $sql = $this->getColumnsSql($database, $table, $column, $full);
1420
+ $fields = $this->fetchResult($sql, 'Field', null, $link);
1421
+ if (! is_array($fields) || count($fields) == 0) {
1422
+ return null;
1423
+ }
1424
+ // Check if column is a part of multiple-column index and set its 'Key'.
1425
+ $indexes = PMA_Index::getFromTable($table, $database);
1426
+ foreach ($fields as $field => $field_data) {
1427
+ if (!empty($field_data['Key'])) {
1428
+ continue;
1429
+ }
1430
+
1431
+ foreach ($indexes as $index) {
1432
+ /** @var PMA_Index $index */
1433
+ if (!$index->hasColumn($field)) {
1434
+ continue;
1435
+ }
1436
+
1437
+ $index_columns = $index->getColumns();
1438
+ if ($index_columns[$field]->getSeqInIndex() > 1) {
1439
+ if ($index->isUnique()) {
1440
+ $fields[$field]['Key'] = 'UNI';
1441
+ } else {
1442
+ $fields[$field]['Key'] = 'MUL';
1443
+ }
1444
+ }
1445
+ }
1446
+ }
1447
+ if (PMA_DRIZZLE) {
1448
+ // fix Key column, it's much simpler in PHP than in SQL
1449
+ $has_pk = false;
1450
+ $has_pk_candidates = false;
1451
+ foreach ($fields as $f) {
1452
+ if ($f['Key'] == 'PRI') {
1453
+ $has_pk = true;
1454
+ break;
1455
+ } else if ($f['Null'] == 'NO'
1456
+ && ($f['Key'] == 'MUL'
1457
+ || $f['Key'] == 'UNI')
1458
+ ) {
1459
+ $has_pk_candidates = true;
1460
+ }
1461
+ }
1462
+ if (! $has_pk && $has_pk_candidates) {
1463
+ $secureDatabase = PMA_Util::sqlAddSlashes($database);
1464
+ // check whether we can promote some unique index to PRI
1465
+ $sql = "
1466
+ SELECT i.index_name, p.column_name
1467
+ FROM data_dictionary.indexes i
1468
+ JOIN data_dictionary.index_parts p
1469
+ USING (table_schema, table_name)
1470
+ WHERE i.table_schema = '" . $secureDatabase . "'
1471
+ AND i.table_name = '" . PMA_Util::sqlAddSlashes($table) . "'
1472
+ AND i.is_unique
1473
+ AND NOT i.is_nullable";
1474
+ $result = $this->fetchResult($sql, 'index_name', null, $link);
1475
+ $result = $result ? array_shift($result) : array();
1476
+ foreach ($result as $f) {
1477
+ $fields[$f]['Key'] = 'PRI';
1478
+ }
1479
+ }
1480
+ }
1481
+
1482
+ return ($column != null) ? array_shift($fields) : $fields;
1483
+ }
1484
+
1485
+ /**
1486
+ * Returns all column names in given table
1487
+ *
1488
+ * @param string $database name of database
1489
+ * @param string $table name of table to retrieve columns from
1490
+ * @param mixed $link mysql link resource
1491
+ *
1492
+ * @return null|array
1493
+ */
1494
+ public function getColumnNames($database, $table, $link = null)
1495
+ {
1496
+ $sql = $this->getColumnsSql($database, $table);
1497
+ // We only need the 'Field' column which contains the table's column names
1498
+ $fields = array_keys($this->fetchResult($sql, 'Field', null, $link));
1499
+
1500
+ if ( ! is_array($fields) || count($fields) == 0 ) {
1501
+ return null;
1502
+ }
1503
+ return $fields;
1504
+ }
1505
+
1506
+ /**
1507
+ * Returns SQL for fetching information on table indexes (SHOW INDEXES)
1508
+ *
1509
+ * @param string $database name of database
1510
+ * @param string $table name of the table whose indexes are to be retrieved
1511
+ * @param string $where additional conditions for WHERE
1512
+ *
1513
+ * @return string SQL for getting indexes
1514
+ */
1515
+ public function getTableIndexesSql($database, $table, $where = null)
1516
+ {
1517
+ if (PMA_DRIZZLE) {
1518
+ $sql = "SELECT
1519
+ ip.table_name AS `Table`,
1520
+ (NOT ip.is_unique) AS Non_unique,
1521
+ ip.index_name AS Key_name,
1522
+ ip.sequence_in_index+1 AS Seq_in_index,
1523
+ ip.column_name AS Column_name,
1524
+ (CASE
1525
+ WHEN i.index_type = 'BTREE' THEN 'A'
1526
+ ELSE NULL END) AS Collation,
1527
+ NULL AS Cardinality,
1528
+ compare_length AS Sub_part,
1529
+ NULL AS Packed,
1530
+ ip.is_nullable AS `Null`,
1531
+ i.index_type AS Index_type,
1532
+ NULL AS Comment,
1533
+ i.index_comment AS Index_comment
1534
+ FROM data_dictionary.index_parts ip
1535
+ LEFT JOIN data_dictionary.indexes i
1536
+ USING (table_schema, table_name, index_name)
1537
+ WHERE table_schema = '" . PMA_Util::sqlAddSlashes($database) . "'
1538
+ AND table_name = '" . PMA_Util::sqlAddSlashes($table) . "'
1539
+ ";
1540
+ if ($where) {
1541
+ $sql = "SELECT * FROM (" . $sql . ") A WHERE (" . $where . ")";
1542
+ }
1543
+ } else {
1544
+ $sql = 'SHOW INDEXES FROM ' . PMA_Util::backquote($database) . '.'
1545
+ . PMA_Util::backquote($table);
1546
+ if ($where) {
1547
+ $sql .= ' WHERE (' . $where . ')';
1548
+ }
1549
+ }
1550
+ return $sql;
1551
+ }
1552
+
1553
+ /**
1554
+ * Returns indexes of a table
1555
+ *
1556
+ * @param string $database name of database
1557
+ * @param string $table name of the table whose indexes are to be retrieved
1558
+ * @param mixed $link mysql link resource
1559
+ *
1560
+ * @return array $indexes
1561
+ */
1562
+ public function getTableIndexes($database, $table, $link = null)
1563
+ {
1564
+ $sql = $this->getTableIndexesSql($database, $table);
1565
+ $indexes = $this->fetchResult($sql, null, null, $link);
1566
+
1567
+ if (! is_array($indexes) || count($indexes) < 1) {
1568
+ return array();
1569
+ }
1570
+ return $indexes;
1571
+ }
1572
+
1573
+ /**
1574
+ * returns value of given mysql server variable
1575
+ *
1576
+ * @param string $var mysql server variable name
1577
+ * @param int $type PMA_DatabaseInterface::GETVAR_SESSION |
1578
+ * PMA_DatabaseInterface::GETVAR_GLOBAL
1579
+ * @param mixed $link mysql link resource|object
1580
+ *
1581
+ * @return mixed value for mysql server variable
1582
+ */
1583
+ public function getVariable(
1584
+ $var, $type = self::GETVAR_SESSION, $link = null
1585
+ ) {
1586
+ $link = $this->getLink($link);
1587
+ if ($link === false) {
1588
+ return false;
1589
+ }
1590
+
1591
+ switch ($type) {
1592
+ case self::GETVAR_SESSION:
1593
+ $modifier = ' SESSION';
1594
+ break;
1595
+ case self::GETVAR_GLOBAL:
1596
+ $modifier = ' GLOBAL';
1597
+ break;
1598
+ default:
1599
+ $modifier = '';
1600
+ }
1601
+ return $this->fetchValue(
1602
+ 'SHOW' . $modifier . ' VARIABLES LIKE \'' . $var . '\';', 0, 1, $link
1603
+ );
1604
+ }
1605
+
1606
+ /**
1607
+ * Function called just after a connection to the MySQL database server has
1608
+ * been established. It sets the connection collation, and determines the
1609
+ * version of MySQL which is running.
1610
+ *
1611
+ * @param mixed $link mysql link resource|object
1612
+ *
1613
+ * @return void
1614
+ */
1615
+ public function postConnect($link)
1616
+ {
1617
+ if (! defined('PMA_MYSQL_INT_VERSION')) {
1618
+ if (PMA_Util::cacheExists('PMA_MYSQL_INT_VERSION')) {
1619
+ define(
1620
+ 'PMA_MYSQL_INT_VERSION',
1621
+ PMA_Util::cacheGet('PMA_MYSQL_INT_VERSION')
1622
+ );
1623
+ define(
1624
+ 'PMA_MYSQL_MAJOR_VERSION',
1625
+ PMA_Util::cacheGet('PMA_MYSQL_MAJOR_VERSION')
1626
+ );
1627
+ define(
1628
+ 'PMA_MYSQL_STR_VERSION',
1629
+ PMA_Util::cacheGet('PMA_MYSQL_STR_VERSION')
1630
+ );
1631
+ define(
1632
+ 'PMA_MYSQL_VERSION_COMMENT',
1633
+ PMA_Util::cacheGet('PMA_MYSQL_VERSION_COMMENT')
1634
+ );
1635
+ define(
1636
+ 'PMA_DRIZZLE',
1637
+ PMA_Util::cacheGet('PMA_DRIZZLE')
1638
+ );
1639
+ } else {
1640
+ $version = $this->fetchSingleRow(
1641
+ 'SELECT @@version, @@version_comment',
1642
+ 'ASSOC',
1643
+ $link
1644
+ );
1645
+
1646
+ if ($version) {
1647
+ $match = explode('.', $version['@@version']);
1648
+ define('PMA_MYSQL_MAJOR_VERSION', (int)$match[0]);
1649
+ define(
1650
+ 'PMA_MYSQL_INT_VERSION',
1651
+ (int) sprintf(
1652
+ '%d%02d%02d', $match[0], $match[1], intval($match[2])
1653
+ )
1654
+ );
1655
+ define('PMA_MYSQL_STR_VERSION', $version['@@version']);
1656
+ define(
1657
+ 'PMA_MYSQL_VERSION_COMMENT',
1658
+ $version['@@version_comment']
1659
+ );
1660
+ } else {
1661
+ define('PMA_MYSQL_INT_VERSION', 50501);
1662
+ define('PMA_MYSQL_MAJOR_VERSION', 5);
1663
+ define('PMA_MYSQL_STR_VERSION', '5.05.01');
1664
+ define('PMA_MYSQL_VERSION_COMMENT', '');
1665
+ }
1666
+ PMA_Util::cacheSet(
1667
+ 'PMA_MYSQL_INT_VERSION',
1668
+ PMA_MYSQL_INT_VERSION
1669
+ );
1670
+ PMA_Util::cacheSet(
1671
+ 'PMA_MYSQL_MAJOR_VERSION',
1672
+ PMA_MYSQL_MAJOR_VERSION
1673
+ );
1674
+ PMA_Util::cacheSet(
1675
+ 'PMA_MYSQL_STR_VERSION',
1676
+ PMA_MYSQL_STR_VERSION
1677
+ );
1678
+ PMA_Util::cacheSet(
1679
+ 'PMA_MYSQL_VERSION_COMMENT',
1680
+ PMA_MYSQL_VERSION_COMMENT
1681
+ );
1682
+
1683
+ /* Detect Drizzle - it does not support charsets */
1684
+ $charset_result = $this->query(
1685
+ "SHOW VARIABLES LIKE 'character_set_results'",
1686
+ $link
1687
+ );
1688
+ if ($this->numRows($charset_result) == 0) {
1689
+ define('PMA_DRIZZLE', true);
1690
+ } else {
1691
+ define('PMA_DRIZZLE', false);
1692
+ }
1693
+ $this->freeResult($charset_result);
1694
+
1695
+ PMA_Util::cacheSet(
1696
+ 'PMA_DRIZZLE',
1697
+ PMA_DRIZZLE
1698
+ );
1699
+ }
1700
+ }
1701
+
1702
+ // Skip charsets for Drizzle
1703
+ if (!PMA_DRIZZLE) {
1704
+ if (PMA_MYSQL_INT_VERSION > 50503) {
1705
+ $default_charset = 'utf8mb4';
1706
+ $default_collation = 'utf8mb4_general_ci';
1707
+ } else {
1708
+ $default_charset = 'utf8';
1709
+ $default_collation = 'utf8_general_ci';
1710
+ }
1711
+ if (! empty($GLOBALS['collation_connection'])) {
1712
+ $this->query(
1713
+ "SET CHARACTER SET '$default_charset';",
1714
+ $link,
1715
+ self::QUERY_STORE
1716
+ );
1717
+ /* Automatically adjust collation to mb4 variant */
1718
+ if ($default_charset == 'utf8mb4'
1719
+ && strncmp('utf8_', $GLOBALS['collation_connection'], 5) == 0
1720
+ ) {
1721
+ $GLOBALS['collation_connection'] = 'utf8mb4_' . substr(
1722
+ $GLOBALS['collation_connection'],
1723
+ 5
1724
+ );
1725
+ }
1726
+ $this->query(
1727
+ "SET collation_connection = '"
1728
+ . PMA_Util::sqlAddSlashes($GLOBALS['collation_connection'])
1729
+ . "';",
1730
+ $link,
1731
+ self::QUERY_STORE
1732
+ );
1733
+ } else {
1734
+ $this->query(
1735
+ "SET NAMES '$default_charset' COLLATE '$default_collation';",
1736
+ $link,
1737
+ self::QUERY_STORE
1738
+ );
1739
+ }
1740
+ }
1741
+
1742
+ // Cache plugin list for Drizzle
1743
+ if (PMA_DRIZZLE && !PMA_Util::cacheExists('drizzle_engines')) {
1744
+ $sql = "SELECT p.plugin_name, m.module_library
1745
+ FROM data_dictionary.plugins p
1746
+ JOIN data_dictionary.modules m USING (module_name)
1747
+ WHERE p.plugin_type = 'StorageEngine'
1748
+ AND p.plugin_name NOT IN ('FunctionEngine', 'schema')
1749
+ AND p.is_active = 'YES'";
1750
+ $engines = $this->fetchResult($sql, 'plugin_name', null, $link);
1751
+ PMA_Util::cacheSet('drizzle_engines', $engines);
1752
+ }
1753
+ }
1754
+
1755
+ /**
1756
+ * returns a single value from the given result or query,
1757
+ * if the query or the result has more than one row or field
1758
+ * the first field of the first row is returned
1759
+ *
1760
+ * <code>
1761
+ * $sql = 'SELECT `name` FROM `user` WHERE `id` = 123';
1762
+ * $user_name = $GLOBALS['dbi']->fetchValue($sql);
1763
+ * // produces
1764
+ * // $user_name = 'John Doe'
1765
+ * </code>
1766
+ *
1767
+ * @param string $query The query to execute
1768
+ * @param integer $row_number row to fetch the value from,
1769
+ * starting at 0, with 0 being default
1770
+ * @param integer|string $field field to fetch the value from,
1771
+ * starting at 0, with 0 being default
1772
+ * @param object $link mysql link
1773
+ *
1774
+ * @return mixed value of first field in first row from result
1775
+ * or false if not found
1776
+ */
1777
+ public function fetchValue($query, $row_number = 0, $field = 0, $link = null)
1778
+ {
1779
+ $value = false;
1780
+
1781
+ $result = $this->tryQuery(
1782
+ $query,
1783
+ $link,
1784
+ self::QUERY_STORE,
1785
+ false
1786
+ );
1787
+ if ($result === false) {
1788
+ return false;
1789
+ }
1790
+
1791
+ // return false if result is empty or false
1792
+ // or requested row is larger than rows in result
1793
+ if ($this->numRows($result) < ($row_number + 1)) {
1794
+ return $value;
1795
+ }
1796
+
1797
+ // if $field is an integer use non associative mysql fetch function
1798
+ if (is_int($field)) {
1799
+ $fetch_function = 'fetchRow';
1800
+ } else {
1801
+ $fetch_function = 'fetchAssoc';
1802
+ }
1803
+
1804
+ // get requested row
1805
+ for ($i = 0; $i <= $row_number; $i++) {
1806
+ $row = $this->$fetch_function($result);
1807
+ }
1808
+ $this->freeResult($result);
1809
+
1810
+ // return requested field
1811
+ if (isset($row[$field])) {
1812
+ $value = $row[$field];
1813
+ }
1814
+
1815
+ return $value;
1816
+ }
1817
+
1818
+ /**
1819
+ * returns only the first row from the result
1820
+ *
1821
+ * <code>
1822
+ * $sql = 'SELECT * FROM `user` WHERE `id` = 123';
1823
+ * $user = $GLOBALS['dbi']->fetchSingleRow($sql);
1824
+ * // produces
1825
+ * // $user = array('id' => 123, 'name' => 'John Doe')
1826
+ * </code>
1827
+ *
1828
+ * @param string $query The query to execute
1829
+ * @param string $type NUM|ASSOC|BOTH returned array should either
1830
+ * numeric associative or both
1831
+ * @param object $link mysql link
1832
+ *
1833
+ * @return array|boolean first row from result
1834
+ * or false if result is empty
1835
+ */
1836
+ public function fetchSingleRow($query, $type = 'ASSOC', $link = null)
1837
+ {
1838
+ $result = $this->tryQuery(
1839
+ $query,
1840
+ $link,
1841
+ self::QUERY_STORE,
1842
+ false
1843
+ );
1844
+ if ($result === false) {
1845
+ return false;
1846
+ }
1847
+
1848
+ // return false if result is empty or false
1849
+ if (! $this->numRows($result)) {
1850
+ return false;
1851
+ }
1852
+
1853
+ switch ($type) {
1854
+ case 'NUM' :
1855
+ $fetch_function = 'fetchRow';
1856
+ break;
1857
+ case 'ASSOC' :
1858
+ $fetch_function = 'fetchAssoc';
1859
+ break;
1860
+ case 'BOTH' :
1861
+ default :
1862
+ $fetch_function = 'fetchArray';
1863
+ break;
1864
+ }
1865
+
1866
+ $row = $this->$fetch_function($result);
1867
+ $this->freeResult($result);
1868
+ return $row;
1869
+ }
1870
+
1871
+ /**
1872
+ * Returns row or element of a row
1873
+ *
1874
+ * @param array $row Row to process
1875
+ * @param string|null $value Which column to return
1876
+ *
1877
+ * @return mixed
1878
+ */
1879
+ private function _fetchValue($row, $value)
1880
+ {
1881
+ if (is_null($value)) {
1882
+ return $row;
1883
+ } else {
1884
+ return $row[$value];
1885
+ }
1886
+ }
1887
+
1888
+ /**
1889
+ * returns all rows in the resultset in one array
1890
+ *
1891
+ * <code>
1892
+ * $sql = 'SELECT * FROM `user`';
1893
+ * $users = $GLOBALS['dbi']->fetchResult($sql);
1894
+ * // produces
1895
+ * // $users[] = array('id' => 123, 'name' => 'John Doe')
1896
+ *
1897
+ * $sql = 'SELECT `id`, `name` FROM `user`';
1898
+ * $users = $GLOBALS['dbi']->fetchResult($sql, 'id');
1899
+ * // produces
1900
+ * // $users['123'] = array('id' => 123, 'name' => 'John Doe')
1901
+ *
1902
+ * $sql = 'SELECT `id`, `name` FROM `user`';
1903
+ * $users = $GLOBALS['dbi']->fetchResult($sql, 0);
1904
+ * // produces
1905
+ * // $users['123'] = array(0 => 123, 1 => 'John Doe')
1906
+ *
1907
+ * $sql = 'SELECT `id`, `name` FROM `user`';
1908
+ * $users = $GLOBALS['dbi']->fetchResult($sql, 'id', 'name');
1909
+ * // or
1910
+ * $users = $GLOBALS['dbi']->fetchResult($sql, 0, 1);
1911
+ * // produces
1912
+ * // $users['123'] = 'John Doe'
1913
+ *
1914
+ * $sql = 'SELECT `name` FROM `user`';
1915
+ * $users = $GLOBALS['dbi']->fetchResult($sql);
1916
+ * // produces
1917
+ * // $users[] = 'John Doe'
1918
+ *
1919
+ * $sql = 'SELECT `group`, `name` FROM `user`'
1920
+ * $users = $GLOBALS['dbi']->fetchResult($sql, array('group', null), 'name');
1921
+ * // produces
1922
+ * // $users['admin'][] = 'John Doe'
1923
+ *
1924
+ * $sql = 'SELECT `group`, `name` FROM `user`'
1925
+ * $users = $GLOBALS['dbi']->fetchResult($sql, array('group', 'name'), 'id');
1926
+ * // produces
1927
+ * // $users['admin']['John Doe'] = '123'
1928
+ * </code>
1929
+ *
1930
+ * @param string $query query to execute
1931
+ * @param string|integer|array $key field-name or offset
1932
+ * used as key for array
1933
+ * or array of those
1934
+ * @param string|integer $value value-name or offset
1935
+ * used as value for array
1936
+ * @param object $link mysql link
1937
+ * @param integer $options query options
1938
+ *
1939
+ * @return array resultrows or values indexed by $key
1940
+ */
1941
+ public function fetchResult($query, $key = null, $value = null,
1942
+ $link = null, $options = 0
1943
+ ) {
1944
+ $resultrows = array();
1945
+
1946
+ $result = $this->tryQuery($query, $link, $options, false);
1947
+
1948
+ // return empty array if result is empty or false
1949
+ if ($result === false) {
1950
+ return $resultrows;
1951
+ }
1952
+
1953
+ $fetch_function = 'fetchAssoc';
1954
+
1955
+ // no nested array if only one field is in result
1956
+ if (null === $key && 1 === $this->numFields($result)) {
1957
+ $value = 0;
1958
+ $fetch_function = 'fetchRow';
1959
+ }
1960
+
1961
+ // if $key is an integer use non associative mysql fetch function
1962
+ if (is_int($key)) {
1963
+ $fetch_function = 'fetchRow';
1964
+ }
1965
+
1966
+ if (null === $key) {
1967
+ while ($row = $this->$fetch_function($result)) {
1968
+ $resultrows[] = $this->_fetchValue($row, $value);
1969
+ }
1970
+ } else {
1971
+ if (is_array($key)) {
1972
+ while ($row = $this->$fetch_function($result)) {
1973
+ $result_target =& $resultrows;
1974
+ foreach ($key as $key_index) {
1975
+ if (null === $key_index) {
1976
+ $result_target =& $result_target[];
1977
+ continue;
1978
+ }
1979
+
1980
+ if (! isset($result_target[$row[$key_index]])) {
1981
+ $result_target[$row[$key_index]] = array();
1982
+ }
1983
+ $result_target =& $result_target[$row[$key_index]];
1984
+ }
1985
+ $result_target = $this->_fetchValue($row, $value);
1986
+ }
1987
+ } else {
1988
+ while ($row = $this->$fetch_function($result)) {
1989
+ $resultrows[$row[$key]] = $this->_fetchValue($row, $value);
1990
+ }
1991
+ }
1992
+ }
1993
+
1994
+ $this->freeResult($result);
1995
+ return $resultrows;
1996
+ }
1997
+
1998
+ /**
1999
+ * Get supported SQL compatibility modes
2000
+ *
2001
+ * @return array supported SQL compatibility modes
2002
+ */
2003
+ public function getCompatibilities()
2004
+ {
2005
+ // Drizzle doesn't support compatibility modes
2006
+ if (PMA_DRIZZLE) {
2007
+ return array();
2008
+ }
2009
+
2010
+ $compats = array('NONE');
2011
+ $compats[] = 'ANSI';
2012
+ $compats[] = 'DB2';
2013
+ $compats[] = 'MAXDB';
2014
+ $compats[] = 'MYSQL323';
2015
+ $compats[] = 'MYSQL40';
2016
+ $compats[] = 'MSSQL';
2017
+ $compats[] = 'ORACLE';
2018
+ // removed; in MySQL 5.0.33, this produces exports that
2019
+ // can't be read by POSTGRESQL (see our bug #1596328)
2020
+ //$compats[] = 'POSTGRESQL';
2021
+ $compats[] = 'TRADITIONAL';
2022
+
2023
+ return $compats;
2024
+ }
2025
+
2026
+ /**
2027
+ * returns warnings for last query
2028
+ *
2029
+ * @param object $link mysql link resource
2030
+ *
2031
+ * @return array warnings
2032
+ */
2033
+ public function getWarnings($link = null)
2034
+ {
2035
+ $link = $this->getLink($link);
2036
+ if ($link === false) {
2037
+ return false;
2038
+ }
2039
+
2040
+ return $this->fetchResult('SHOW WARNINGS', null, null, $link);
2041
+ }
2042
+
2043
+ /**
2044
+ * returns an array of PROCEDURE or FUNCTION names for a db
2045
+ *
2046
+ * @param string $db db name
2047
+ * @param string $which PROCEDURE | FUNCTION
2048
+ * @param object $link mysql link
2049
+ *
2050
+ * @return array the procedure names or function names
2051
+ */
2052
+ public function getProceduresOrFunctions($db, $which, $link = null)
2053
+ {
2054
+ if (PMA_DRIZZLE) {
2055
+ // Drizzle doesn't support functions and procedures
2056
+ return array();
2057
+ }
2058
+ $shows = $this->fetchResult(
2059
+ 'SHOW ' . $which . ' STATUS;', null, null, $link
2060
+ );
2061
+ $result = array();
2062
+ foreach ($shows as $one_show) {
2063
+ if ($one_show['Db'] == $db && $one_show['Type'] == $which) {
2064
+ $result[] = $one_show['Name'];
2065
+ }
2066
+ }
2067
+ return($result);
2068
+ }
2069
+
2070
+ /**
2071
+ * returns the definition of a specific PROCEDURE, FUNCTION, EVENT or VIEW
2072
+ *
2073
+ * @param string $db db name
2074
+ * @param string $which PROCEDURE | FUNCTION | EVENT | VIEW
2075
+ * @param string $name the procedure|function|event|view name
2076
+ *
2077
+ * @return string the definition
2078
+ */
2079
+ public function getDefinition($db, $which, $name)
2080
+ {
2081
+ $returned_field = array(
2082
+ 'PROCEDURE' => 'Create Procedure',
2083
+ 'FUNCTION' => 'Create Function',
2084
+ 'EVENT' => 'Create Event',
2085
+ 'VIEW' => 'Create View'
2086
+ );
2087
+ $query = 'SHOW CREATE ' . $which . ' '
2088
+ . PMA_Util::backquote($db) . '.'
2089
+ . PMA_Util::backquote($name);
2090
+ return($this->fetchValue($query, 0, $returned_field[$which]));
2091
+ }
2092
+
2093
+ /**
2094
+ * returns details about the TRIGGERs for a specific table or database
2095
+ *
2096
+ * @param string $db db name
2097
+ * @param string $table table name
2098
+ * @param string $delimiter the delimiter to use (may be empty)
2099
+ *
2100
+ * @return array information about triggers (may be empty)
2101
+ */
2102
+ public function getTriggers($db, $table = '', $delimiter = '//')
2103
+ {
2104
+ if (PMA_DRIZZLE) {
2105
+ // Drizzle doesn't support triggers
2106
+ return array();
2107
+ }
2108
+
2109
+ $result = array();
2110
+ if (! $GLOBALS['cfg']['Server']['DisableIS']) {
2111
+ $query = 'SELECT TRIGGER_SCHEMA, TRIGGER_NAME, EVENT_MANIPULATION'
2112
+ . ', EVENT_OBJECT_TABLE, ACTION_TIMING, ACTION_STATEMENT'
2113
+ . ', EVENT_OBJECT_SCHEMA, EVENT_OBJECT_TABLE, DEFINER'
2114
+ . ' FROM information_schema.TRIGGERS'
2115
+ . ' WHERE EVENT_OBJECT_SCHEMA ' . PMA_Util::getCollateForIS() . '='
2116
+ . ' \'' . PMA_Util::sqlAddSlashes($db) . '\'';
2117
+
2118
+ if (! empty($table)) {
2119
+ $query .= " AND EVENT_OBJECT_TABLE = '"
2120
+ . PMA_Util::sqlAddSlashes($table) . "';";
2121
+ }
2122
+ } else {
2123
+ $query = "SHOW TRIGGERS FROM " . PMA_Util::backquote($db);
2124
+ if (! empty($table)) {
2125
+ $query .= " LIKE '" . PMA_Util::sqlAddSlashes($table, true) . "';";
2126
+ }
2127
+ }
2128
+
2129
+ if ($triggers = $this->fetchResult($query)) {
2130
+ foreach ($triggers as $trigger) {
2131
+ if ($GLOBALS['cfg']['Server']['DisableIS']) {
2132
+ $trigger['TRIGGER_NAME'] = $trigger['Trigger'];
2133
+ $trigger['ACTION_TIMING'] = $trigger['Timing'];
2134
+ $trigger['EVENT_MANIPULATION'] = $trigger['Event'];
2135
+ $trigger['EVENT_OBJECT_TABLE'] = $trigger['Table'];
2136
+ $trigger['ACTION_STATEMENT'] = $trigger['Statement'];
2137
+ $trigger['DEFINER'] = $trigger['Definer'];
2138
+ }
2139
+ $one_result = array();
2140
+ $one_result['name'] = $trigger['TRIGGER_NAME'];
2141
+ $one_result['table'] = $trigger['EVENT_OBJECT_TABLE'];
2142
+ $one_result['action_timing'] = $trigger['ACTION_TIMING'];
2143
+ $one_result['event_manipulation'] = $trigger['EVENT_MANIPULATION'];
2144
+ $one_result['definition'] = $trigger['ACTION_STATEMENT'];
2145
+ $one_result['definer'] = $trigger['DEFINER'];
2146
+
2147
+ // do not prepend the schema name; this way, importing the
2148
+ // definition into another schema will work
2149
+ $one_result['full_trigger_name'] = PMA_Util::backquote(
2150
+ $trigger['TRIGGER_NAME']
2151
+ );
2152
+ $one_result['drop'] = 'DROP TRIGGER IF EXISTS '
2153
+ . $one_result['full_trigger_name'];
2154
+ $one_result['create'] = 'CREATE TRIGGER '
2155
+ . $one_result['full_trigger_name'] . ' '
2156
+ . $trigger['ACTION_TIMING'] . ' '
2157
+ . $trigger['EVENT_MANIPULATION']
2158
+ . ' ON ' . PMA_Util::backquote($trigger['EVENT_OBJECT_TABLE'])
2159
+ . "\n" . ' FOR EACH ROW '
2160
+ . $trigger['ACTION_STATEMENT'] . "\n" . $delimiter . "\n";
2161
+
2162
+ $result[] = $one_result;
2163
+ }
2164
+ }
2165
+
2166
+ // Sort results by name
2167
+ $name = array();
2168
+ foreach ($result as $value) {
2169
+ $name[] = $value['name'];
2170
+ }
2171
+ array_multisort($name, SORT_ASC, $result);
2172
+
2173
+ return($result);
2174
+ }
2175
+
2176
+ /**
2177
+ * Formats database error message in a friendly way.
2178
+ * This is needed because some errors messages cannot
2179
+ * be obtained by mysql_error().
2180
+ *
2181
+ * @param int $error_number Error code
2182
+ * @param string $error_message Error message as returned by server
2183
+ *
2184
+ * @return string HML text with error details
2185
+ */
2186
+ public function formatError($error_number, $error_message)
2187
+ {
2188
+ if (! empty($error_message)) {
2189
+ $error_message = $this->convertMessage($error_message);
2190
+ }
2191
+
2192
+ $error_message = htmlspecialchars($error_message);
2193
+
2194
+ $error = '#' . ((string) $error_number);
2195
+
2196
+ if ($error_number == 2002) {
2197
+ $error .= ' - ' . $error_message;
2198
+ $error .= '<br />';
2199
+ $error .= __(
2200
+ 'The server is not responding (or the local server\'s socket'
2201
+ . ' is not correctly configured).'
2202
+ );
2203
+ } elseif ($error_number == 2003) {
2204
+ $error .= ' - ' . $error_message;
2205
+ $error .= '<br />' . __('The server is not responding.');
2206
+ } elseif ($error_number == 1005) {
2207
+ if (strpos($error_message, 'errno: 13') !== false) {
2208
+ $error .= ' - ' . $error_message;
2209
+ $error .= '<br />'
2210
+ . __('Please check privileges of directory containing database.');
2211
+ } else {
2212
+ /* InnoDB constraints, see
2213
+ * http://dev.mysql.com/doc/refman/5.0/en/
2214
+ * innodb-foreign-key-constraints.html
2215
+ */
2216
+ $error .= ' - ' . $error_message .
2217
+ ' (<a href="server_engines.php' .
2218
+ PMA_URL_getCommon(
2219
+ array('engine' => 'InnoDB', 'page' => 'Status')
2220
+ ) . '">' . __('Details…') . '</a>)';
2221
+ }
2222
+ } else {
2223
+ $error .= ' - ' . $error_message;
2224
+ }
2225
+
2226
+ return $error;
2227
+ }
2228
+
2229
+ /**
2230
+ * gets the current user with host
2231
+ *
2232
+ * @return string the current user i.e. user@host
2233
+ */
2234
+ public function getCurrentUser()
2235
+ {
2236
+ if (PMA_Util::cacheExists('mysql_cur_user')) {
2237
+ return PMA_Util::cacheGet('mysql_cur_user');
2238
+ }
2239
+ $user = $GLOBALS['dbi']->fetchValue('SELECT USER();');
2240
+ if ($user !== false) {
2241
+ PMA_Util::cacheSet('mysql_cur_user', $user);
2242
+ return PMA_Util::cacheGet('mysql_cur_user');
2243
+ }
2244
+ return '';
2245
+ }
2246
+
2247
+ /**
2248
+ * Checks if current user is superuser
2249
+ *
2250
+ * @return bool Whether user is a superuser
2251
+ */
2252
+ public function isSuperuser()
2253
+ {
2254
+ return self::isUserType('super');
2255
+ }
2256
+
2257
+ /**
2258
+ * Checks if current user has global create user/grant privilege
2259
+ * or is a superuser (i.e. SELECT on mysql.users)
2260
+ * while caching the result in session.
2261
+ *
2262
+ * @param string $type type of user to check for
2263
+ * i.e. 'create', 'grant', 'super'
2264
+ *
2265
+ * @return bool Whether user is a given type of user
2266
+ */
2267
+ public function isUserType($type)
2268
+ {
2269
+ if (PMA_Util::cacheExists('is_' . $type . 'user')) {
2270
+ return PMA_Util::cacheGet('is_' . $type . 'user');
2271
+ }
2272
+
2273
+ // when connection failed we don't have a $userlink
2274
+ if (! isset($GLOBALS['userlink'])) {
2275
+ PMA_Util::cacheSet('is_' . $type . 'user', false);
2276
+ return PMA_Util::cacheGet('is_' . $type . 'user');
2277
+ }
2278
+
2279
+ if (PMA_DRIZZLE) {
2280
+ // Drizzle has no authorization by default, so when no plugin is
2281
+ // enabled everyone is a superuser
2282
+ // Known authorization libraries: regex_policy, simple_user_policy
2283
+ // Plugins limit object visibility (dbs, tables, processes), we can
2284
+ // safely assume we always deal with superuser
2285
+ PMA_Util::cacheSet('is_' . $type . 'user', true);
2286
+ return PMA_Util::cacheGet('is_' . $type . 'user');
2287
+ }
2288
+
2289
+ if (! $GLOBALS['cfg']['Server']['DisableIS'] || $type === 'super') {
2290
+ // Prepare query for each user type check
2291
+ $query = '';
2292
+ if ($type === 'super') {
2293
+ $query = 'SELECT 1 FROM mysql.user LIMIT 1';
2294
+ } elseif ($type === 'create') {
2295
+ list($user, $host) = $this->_getCurrentUserAndHost();
2296
+ $query = "SELECT 1 FROM `INFORMATION_SCHEMA`.`USER_PRIVILEGES` "
2297
+ . "WHERE `PRIVILEGE_TYPE` = 'CREATE USER' AND "
2298
+ . "'''" . $user . "''@''" . $host . "''' LIKE `GRANTEE` LIMIT 1";
2299
+ } elseif ($type === 'grant') {
2300
+ list($user, $host) = $this->_getCurrentUserAndHost();
2301
+ $query = "SELECT 1 FROM ("
2302
+ . "SELECT `GRANTEE`, `IS_GRANTABLE` FROM "
2303
+ . "`INFORMATION_SCHEMA`.`COLUMN_PRIVILEGES` UNION "
2304
+ . "SELECT `GRANTEE`, `IS_GRANTABLE` FROM "
2305
+ . "`INFORMATION_SCHEMA`.`TABLE_PRIVILEGES` UNION "
2306
+ . "SELECT `GRANTEE`, `IS_GRANTABLE` FROM "
2307
+ . "`INFORMATION_SCHEMA`.`SCHEMA_PRIVILEGES` UNION "
2308
+ . "SELECT `GRANTEE`, `IS_GRANTABLE` FROM "
2309
+ . "`INFORMATION_SCHEMA`.`USER_PRIVILEGES`) t "
2310
+ . "WHERE `IS_GRANTABLE` = 'YES' AND "
2311
+ . "'''" . $user . "''@''" . $host . "''' LIKE `GRANTEE` LIMIT 1";
2312
+ }
2313
+
2314
+ $is = false;
2315
+ $result = $GLOBALS['dbi']->tryQuery(
2316
+ $query,
2317
+ $GLOBALS['userlink'],
2318
+ self::QUERY_STORE
2319
+ );
2320
+ if ($result) {
2321
+ $is = (bool) $GLOBALS['dbi']->numRows($result);
2322
+ }
2323
+ $GLOBALS['dbi']->freeResult($result);
2324
+
2325
+ PMA_Util::cacheSet('is_' . $type . 'user', $is);
2326
+ } else {
2327
+ $is = false;
2328
+ $grants = $GLOBALS['dbi']->fetchResult(
2329
+ "SHOW GRANTS FOR CURRENT_USER();",
2330
+ null,
2331
+ null,
2332
+ $GLOBALS['userlink'],
2333
+ self::QUERY_STORE
2334
+ );
2335
+ if ($grants) {
2336
+ foreach ($grants as $grant) {
2337
+ if ($type === 'create') {
2338
+ if (strpos($grant, "ALL PRIVILEGES ON *.*") !== false
2339
+ || strpos($grant, "CREATE USER") !== false
2340
+ ) {
2341
+ $is = true;
2342
+ break;
2343
+ }
2344
+ } elseif ($type === 'grant') {
2345
+ if (strpos($grant, "WITH GRANT OPTION") !== false) {
2346
+ $is = true;
2347
+ break;
2348
+ }
2349
+ }
2350
+ }
2351
+ }
2352
+
2353
+ PMA_Util::cacheSet('is_' . $type . 'user', $is);
2354
+ }
2355
+
2356
+ return PMA_Util::cacheGet('is_' . $type . 'user');
2357
+ }
2358
+
2359
+ /**
2360
+ * Get the current user and host
2361
+ *
2362
+ * @return array array of username and hostname
2363
+ */
2364
+ private function _getCurrentUserAndHost()
2365
+ {
2366
+ $user = $GLOBALS['dbi']->fetchValue("SELECT CURRENT_USER();");
2367
+ return explode("@", $user);
2368
+ }
2369
+
2370
+ /**
2371
+ * Get the list of system schemas
2372
+ *
2373
+ * @return array list of system schemas
2374
+ */
2375
+ public function getSystemSchemas()
2376
+ {
2377
+ $schemas = array(
2378
+ 'information_schema', 'performance_schema', 'data_dictionary', 'mysql'
2379
+ );
2380
+ $systemSchemas = array();
2381
+ foreach ($schemas as $schema) {
2382
+ if ($this->isSystemSchema($schema, true)) {
2383
+ $systemSchemas[] = $schema;
2384
+ }
2385
+ }
2386
+ return $systemSchemas;
2387
+ }
2388
+
2389
+ /**
2390
+ * Checks whether given schema is a system schema: information_schema
2391
+ * (MySQL and Drizzle) or data_dictionary (Drizzle)
2392
+ *
2393
+ * @param string $schema_name Name of schema (database) to test
2394
+ * @param bool $testForMysqlSchema Whether 'mysql' schema should
2395
+ * be treated the same as IS and DD
2396
+ *
2397
+ * @return bool
2398
+ */
2399
+ public function isSystemSchema($schema_name, $testForMysqlSchema = false)
2400
+ {
2401
+ if (!defined("PMA_DRIZZLE")) {
2402
+ define("PMA_DRIZZLE", false);
2403
+ }
2404
+
2405
+ return strtolower($schema_name) == 'information_schema'
2406
+ || (!PMA_DRIZZLE
2407
+ && strtolower($schema_name) == 'performance_schema')
2408
+ || (PMA_DRIZZLE
2409
+ && strtolower($schema_name) == 'data_dictionary')
2410
+ || ($testForMysqlSchema && !PMA_DRIZZLE && $schema_name == 'mysql');
2411
+ }
2412
+
2413
+ /**
2414
+ * connects to the database server
2415
+ *
2416
+ * @param string $user user name
2417
+ * @param string $password user password
2418
+ * @param bool $is_controluser whether this is a control user connection
2419
+ * @param array $server host/port/socket/persistent
2420
+ * @param bool $auxiliary_connection (when true, don't go back to login if
2421
+ * connection fails)
2422
+ *
2423
+ * @return mixed false on error or a connection object on success
2424
+ */
2425
+ public function connect(
2426
+ $user, $password, $is_controluser = false, $server = null,
2427
+ $auxiliary_connection = false
2428
+ ) {
2429
+ $result = $this->_extension->connect(
2430
+ $user, $password, $is_controluser, $server, $auxiliary_connection
2431
+ );
2432
+
2433
+ if ($result) {
2434
+ if (! $auxiliary_connection && ! $is_controluser) {
2435
+ $GLOBALS['dbi']->postConnect($result);
2436
+ }
2437
+ return $result;
2438
+ }
2439
+
2440
+ if ($is_controluser) {
2441
+ trigger_error(
2442
+ __(
2443
+ 'Connection for controluser as defined in your '
2444
+ . 'configuration failed.'
2445
+ ),
2446
+ E_USER_WARNING
2447
+ );
2448
+ return false;
2449
+ }
2450
+
2451
+ // we could be calling $GLOBALS['dbi']->connect() to connect to another
2452
+ // server, for example in the Synchronize feature, so do not
2453
+ // go back to main login if it fails
2454
+ if ($auxiliary_connection) {
2455
+ return false;
2456
+ }
2457
+
2458
+ PMA_logUser($user, 'mysql-denied');
2459
+ $GLOBALS['auth_plugin']->authFails();
2460
+
2461
+ return $result;
2462
+ }
2463
+
2464
+ /**
2465
+ * selects given database
2466
+ *
2467
+ * @param string $dbname database name to select
2468
+ * @param object $link connection object
2469
+ *
2470
+ * @return boolean
2471
+ */
2472
+ public function selectDb($dbname, $link = null)
2473
+ {
2474
+ $link = $this->getLink($link);
2475
+ if ($link === false) {
2476
+ return false;
2477
+ }
2478
+ return $this->_extension->selectDb($dbname, $link);
2479
+ }
2480
+
2481
+ /**
2482
+ * returns array of rows with associative and numeric keys from $result
2483
+ *
2484
+ * @param object $result result set identifier
2485
+ *
2486
+ * @return array
2487
+ */
2488
+ public function fetchArray($result)
2489
+ {
2490
+ return $this->_extension->fetchArray($result);
2491
+ }
2492
+
2493
+ /**
2494
+ * returns array of rows with associative keys from $result
2495
+ *
2496
+ * @param object $result result set identifier
2497
+ *
2498
+ * @return array
2499
+ */
2500
+ public function fetchAssoc($result)
2501
+ {
2502
+ return $this->_extension->fetchAssoc($result);
2503
+ }
2504
+
2505
+ /**
2506
+ * returns array of rows with numeric keys from $result
2507
+ *
2508
+ * @param object $result result set identifier
2509
+ *
2510
+ * @return array
2511
+ */
2512
+ public function fetchRow($result)
2513
+ {
2514
+ return $this->_extension->fetchRow($result);
2515
+ }
2516
+
2517
+ /**
2518
+ * Adjusts the result pointer to an arbitrary row in the result
2519
+ *
2520
+ * @param object $result database result
2521
+ * @param integer $offset offset to seek
2522
+ *
2523
+ * @return bool true on success, false on failure
2524
+ */
2525
+ public function dataSeek($result, $offset)
2526
+ {
2527
+ return $this->_extension->dataSeek($result, $offset);
2528
+ }
2529
+
2530
+ /**
2531
+ * Frees memory associated with the result
2532
+ *
2533
+ * @param object $result database result
2534
+ *
2535
+ * @return void
2536
+ */
2537
+ public function freeResult($result)
2538
+ {
2539
+ $this->_extension->freeResult($result);
2540
+ }
2541
+
2542
+ /**
2543
+ * Check if there are any more query results from a multi query
2544
+ *
2545
+ * @param object $link the connection object
2546
+ *
2547
+ * @return bool true or false
2548
+ */
2549
+ public function moreResults($link = null)
2550
+ {
2551
+ $link = $this->getLink($link);
2552
+ if ($link === false) {
2553
+ return false;
2554
+ }
2555
+ return $this->_extension->moreResults($link);
2556
+ }
2557
+
2558
+ /**
2559
+ * Prepare next result from multi_query
2560
+ *
2561
+ * @param object $link the connection object
2562
+ *
2563
+ * @return bool true or false
2564
+ */
2565
+ public function nextResult($link = null)
2566
+ {
2567
+ $link = $this->getLink($link);
2568
+ if ($link === false) {
2569
+ return false;
2570
+ }
2571
+ return $this->_extension->nextResult($link);
2572
+ }
2573
+
2574
+ /**
2575
+ * Store the result returned from multi query
2576
+ *
2577
+ * @param object $link the connection object
2578
+ *
2579
+ * @return mixed false when empty results / result set when not empty
2580
+ */
2581
+ public function storeResult($link = null)
2582
+ {
2583
+ $link = $this->getLink($link);
2584
+ if ($link === false) {
2585
+ return false;
2586
+ }
2587
+ return $this->_extension->storeResult($link);
2588
+ }
2589
+
2590
+ /**
2591
+ * Returns a string representing the type of connection used
2592
+ *
2593
+ * @param object $link mysql link
2594
+ *
2595
+ * @return string type of connection used
2596
+ */
2597
+ public function getHostInfo($link = null)
2598
+ {
2599
+ $link = $this->getLink($link);
2600
+ if ($link === false) {
2601
+ return false;
2602
+ }
2603
+ return $this->_extension->getHostInfo($link);
2604
+ }
2605
+
2606
+ /**
2607
+ * Returns the version of the MySQL protocol used
2608
+ *
2609
+ * @param object $link mysql link
2610
+ *
2611
+ * @return integer version of the MySQL protocol used
2612
+ */
2613
+ public function getProtoInfo($link = null)
2614
+ {
2615
+ $link = $this->getLink($link);
2616
+ if ($link === false) {
2617
+ return false;
2618
+ }
2619
+ return $this->_extension->getProtoInfo($link);
2620
+ }
2621
+
2622
+ /**
2623
+ * returns a string that represents the client library version
2624
+ *
2625
+ * @return string MySQL client library version
2626
+ */
2627
+ public function getClientInfo()
2628
+ {
2629
+ return $this->_extension->getClientInfo();
2630
+ }
2631
+
2632
+ /**
2633
+ * returns last error message or false if no errors occurred
2634
+ *
2635
+ * @param object $link connection link
2636
+ *
2637
+ * @return string|bool $error or false
2638
+ */
2639
+ public function getError($link = null)
2640
+ {
2641
+ $link = $this->getLink($link);
2642
+ if ($link === false) {
2643
+ return false;
2644
+ }
2645
+ return $this->_extension->getError($link);
2646
+ }
2647
+
2648
+ /**
2649
+ * returns the number of rows returned by last query
2650
+ *
2651
+ * @param object $result result set identifier
2652
+ *
2653
+ * @return string|int
2654
+ */
2655
+ public function numRows($result)
2656
+ {
2657
+ return $this->_extension->numRows($result);
2658
+ }
2659
+
2660
+ /**
2661
+ * returns last inserted auto_increment id for given $link
2662
+ * or $GLOBALS['userlink']
2663
+ *
2664
+ * @param object $link the connection object
2665
+ *
2666
+ * @return int|boolean
2667
+ */
2668
+ public function insertId($link = null)
2669
+ {
2670
+ $link = $this->getLink($link);
2671
+ if ($link === false) {
2672
+ return false;
2673
+ }
2674
+ // If the primary key is BIGINT we get an incorrect result
2675
+ // (sometimes negative, sometimes positive)
2676
+ // and in the present function we don't know if the PK is BIGINT
2677
+ // so better play safe and use LAST_INSERT_ID()
2678
+ //
2679
+ // When no controluser is defined, using mysqli_insert_id($link)
2680
+ // does not always return the last insert id due to a mixup with
2681
+ // the tracking mechanism, but this works:
2682
+ return $GLOBALS['dbi']->fetchValue('SELECT LAST_INSERT_ID();', 0, 0, $link);
2683
+ }
2684
+
2685
+ /**
2686
+ * returns the number of rows affected by last query
2687
+ *
2688
+ * @param object $link the connection object
2689
+ * @param bool $get_from_cache whether to retrieve from cache
2690
+ *
2691
+ * @return int|boolean
2692
+ */
2693
+ public function affectedRows($link = null, $get_from_cache = true)
2694
+ {
2695
+ $link = $this->getLink($link);
2696
+ if ($link === false) {
2697
+ return false;
2698
+ }
2699
+
2700
+ if ($get_from_cache) {
2701
+ return $GLOBALS['cached_affected_rows'];
2702
+ } else {
2703
+ return $this->_extension->affectedRows($link);
2704
+ }
2705
+ }
2706
+
2707
+ /**
2708
+ * returns metainfo for fields in $result
2709
+ *
2710
+ * @param object $result result set identifier
2711
+ *
2712
+ * @return array meta info for fields in $result
2713
+ */
2714
+ public function getFieldsMeta($result)
2715
+ {
2716
+ return $this->_extension->getFieldsMeta($result);
2717
+ }
2718
+
2719
+ /**
2720
+ * return number of fields in given $result
2721
+ *
2722
+ * @param object $result result set identifier
2723
+ *
2724
+ * @return int field count
2725
+ */
2726
+ public function numFields($result)
2727
+ {
2728
+ return $this->_extension->numFields($result);
2729
+ }
2730
+
2731
+ /**
2732
+ * returns the length of the given field $i in $result
2733
+ *
2734
+ * @param object $result result set identifier
2735
+ * @param int $i field
2736
+ *
2737
+ * @return int length of field
2738
+ */
2739
+ public function fieldLen($result, $i)
2740
+ {
2741
+ return $this->_extension->fieldLen($result, $i);
2742
+ }
2743
+
2744
+ /**
2745
+ * returns name of $i. field in $result
2746
+ *
2747
+ * @param object $result result set identifier
2748
+ * @param int $i field
2749
+ *
2750
+ * @return string name of $i. field in $result
2751
+ */
2752
+ public function fieldName($result, $i)
2753
+ {
2754
+ return $this->_extension->fieldName($result, $i);
2755
+ }
2756
+
2757
+ /**
2758
+ * returns concatenated string of human readable field flags
2759
+ *
2760
+ * @param object $result result set identifier
2761
+ * @param int $i field
2762
+ *
2763
+ * @return string field flags
2764
+ */
2765
+ public function fieldFlags($result, $i)
2766
+ {
2767
+ return $this->_extension->fieldFlags($result, $i);
2768
+ }
2769
+
2770
+ /**
2771
+ * Gets server connection port
2772
+ *
2773
+ * @param array|null $server host/port/socket/persistent
2774
+ *
2775
+ * @return null|integer
2776
+ */
2777
+ public function getServerPort($server = null)
2778
+ {
2779
+ if (is_null($server)) {
2780
+ $server = &$GLOBALS['cfg']['Server'];
2781
+ }
2782
+
2783
+ if (empty($server['port'])) {
2784
+ return null;
2785
+ } else {
2786
+ return intval($server['port']);
2787
+ }
2788
+ }
2789
+
2790
+ /**
2791
+ * Gets server connection socket
2792
+ *
2793
+ * @param array|null $server host/port/socket/persistent
2794
+ *
2795
+ * @return null|string
2796
+ */
2797
+ public function getServerSocket($server = null)
2798
+ {
2799
+ if (is_null($server)) {
2800
+ $server = &$GLOBALS['cfg']['Server'];
2801
+ }
2802
+
2803
+ if (empty($server['socket'])) {
2804
+ return null;
2805
+ } else {
2806
+ return $server['socket'];
2807
+ }
2808
+ }
2809
+
2810
+ /**
2811
+ * Gets correct link object.
2812
+ *
2813
+ * @param object $link optional database link to use
2814
+ *
2815
+ * @return object|boolean
2816
+ */
2817
+ public function getLink($link = null)
2818
+ {
2819
+ if ( ! is_null($link) && $link !== false) {
2820
+ return $link;
2821
+ }
2822
+
2823
+ if (isset($GLOBALS['userlink']) && !is_null($GLOBALS['userlink'])) {
2824
+ return $GLOBALS['userlink'];
2825
+ } else {
2826
+ return false;
2827
+ }
2828
+ }
2829
+
2830
+ /**
2831
+ * Checks if this database server is running on Amazon RDS.
2832
+ *
2833
+ * @return boolean
2834
+ */
2835
+ public function isAmazonRds()
2836
+ {
2837
+ if (PMA_Util::cacheExists('is_amazon_rds')) {
2838
+ return PMA_Util::cacheGet('is_amazon_rds');
2839
+ }
2840
+ $sql = 'SELECT @@basedir';
2841
+ $result = $this->fetchResult($sql);
2842
+ $rds = ($result[0] == '/rdsdbbin/mysql/');
2843
+ PMA_Util::cacheSet('is_amazon_rds', $rds);
2844
+
2845
+ return $rds;
2846
+ }
2847
+
2848
+ /**
2849
+ * Gets SQL for killing a process.
2850
+ *
2851
+ * @param int $process Process ID
2852
+ *
2853
+ * @return string
2854
+ */
2855
+ public function getKillQuery($process)
2856
+ {
2857
+ if ($this->isAmazonRds()) {
2858
+ return 'CALL mysql.rds_kill(' . $process . ');';
2859
+ } else {
2860
+ return 'KILL ' . $process . ';';
2861
+ }
2862
+ }
2863
+ }
2864
+ ?>