simpletool 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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
+ ?>