simpletool 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1702) hide show
  1. checksums.yaml +4 -4
  2. data/lib/simpletool.rb +3 -1
  3. metadata +2 -1701
  4. data/lib/support/phpmyadmin/phpmyadmin/CONTRIBUTING.md +0 -25
  5. data/lib/support/phpmyadmin/phpmyadmin/ChangeLog +0 -312
  6. data/lib/support/phpmyadmin/phpmyadmin/DCO +0 -44
  7. data/lib/support/phpmyadmin/phpmyadmin/LICENSE +0 -340
  8. data/lib/support/phpmyadmin/phpmyadmin/README +0 -52
  9. data/lib/support/phpmyadmin/phpmyadmin/RELEASE-DATE-4.4.8 +0 -1
  10. data/lib/support/phpmyadmin/phpmyadmin/browse_foreigners.php +0 -61
  11. data/lib/support/phpmyadmin/phpmyadmin/changelog.php +0 -153
  12. data/lib/support/phpmyadmin/phpmyadmin/chk_rel.php +0 -27
  13. data/lib/support/phpmyadmin/phpmyadmin/composer.json +0 -30
  14. data/lib/support/phpmyadmin/phpmyadmin/config.sample.inc.php +0 -152
  15. data/lib/support/phpmyadmin/phpmyadmin/db_central_columns.php +0 -134
  16. data/lib/support/phpmyadmin/phpmyadmin/db_create.php +0 -141
  17. data/lib/support/phpmyadmin/phpmyadmin/db_datadict.php +0 -208
  18. data/lib/support/phpmyadmin/phpmyadmin/db_designer.php +0 -173
  19. data/lib/support/phpmyadmin/phpmyadmin/db_events.php +0 -26
  20. data/lib/support/phpmyadmin/phpmyadmin/db_export.php +0 -94
  21. data/lib/support/phpmyadmin/phpmyadmin/db_import.php +0 -25
  22. data/lib/support/phpmyadmin/phpmyadmin/db_operations.php +0 -291
  23. data/lib/support/phpmyadmin/phpmyadmin/db_printview.php +0 -175
  24. data/lib/support/phpmyadmin/phpmyadmin/db_qbe.php +0 -131
  25. data/lib/support/phpmyadmin/phpmyadmin/db_routines.php +0 -27
  26. data/lib/support/phpmyadmin/phpmyadmin/db_search.php +0 -63
  27. data/lib/support/phpmyadmin/phpmyadmin/db_sql.php +0 -45
  28. data/lib/support/phpmyadmin/phpmyadmin/db_sql_autocomplete.php +0 -24
  29. data/lib/support/phpmyadmin/phpmyadmin/db_sql_format.php +0 -18
  30. data/lib/support/phpmyadmin/phpmyadmin/db_structure.php +0 -345
  31. data/lib/support/phpmyadmin/phpmyadmin/db_tracking.php +0 -350
  32. data/lib/support/phpmyadmin/phpmyadmin/db_triggers.php +0 -25
  33. data/lib/support/phpmyadmin/phpmyadmin/doc/Makefile +0 -197
  34. data/lib/support/phpmyadmin/phpmyadmin/doc/_ext/configext.py +0 -188
  35. data/lib/support/phpmyadmin/phpmyadmin/doc/conf.py +0 -304
  36. data/lib/support/phpmyadmin/phpmyadmin/doc/config.rst +0 -2794
  37. data/lib/support/phpmyadmin/phpmyadmin/doc/copyright.rst +0 -50
  38. data/lib/support/phpmyadmin/phpmyadmin/doc/credits.rst +0 -657
  39. data/lib/support/phpmyadmin/phpmyadmin/doc/developers.rst +0 -12
  40. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/config.doctree +0 -0
  41. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/copyright.doctree +0 -0
  42. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/credits.doctree +0 -0
  43. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/developers.doctree +0 -0
  44. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/environment.pickle +0 -0
  45. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/faq.doctree +0 -0
  46. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/glossary.doctree +0 -0
  47. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/import_export.doctree +0 -0
  48. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/index.doctree +0 -0
  49. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/intro.doctree +0 -0
  50. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/other.doctree +0 -0
  51. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/privileges.doctree +0 -0
  52. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/require.doctree +0 -0
  53. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/setup.doctree +0 -0
  54. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/transformations.doctree +0 -0
  55. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/user.doctree +0 -0
  56. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/vendors.doctree +0 -0
  57. data/lib/support/phpmyadmin/phpmyadmin/doc/faq.rst +0 -2112
  58. data/lib/support/phpmyadmin/phpmyadmin/doc/glossary.rst +0 -399
  59. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/config.txt +0 -2794
  60. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/copyright.txt +0 -50
  61. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/credits.txt +0 -657
  62. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/developers.txt +0 -12
  63. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/faq.txt +0 -2112
  64. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/glossary.txt +0 -399
  65. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/import_export.txt +0 -27
  66. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/index.txt +0 -32
  67. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/intro.txt +0 -68
  68. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/other.txt +0 -18
  69. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/privileges.txt +0 -50
  70. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/require.txt +0 -54
  71. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/setup.txt +0 -543
  72. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/transformations.txt +0 -138
  73. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/user.txt +0 -10
  74. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/vendors.txt +0 -35
  75. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/ajax-loader.gif +0 -0
  76. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/basic.css +0 -540
  77. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment-bright.png +0 -0
  78. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment-close.png +0 -0
  79. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment.png +0 -0
  80. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/default.css +0 -256
  81. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/doctools.js +0 -247
  82. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/down-pressed.png +0 -0
  83. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/down.png +0 -0
  84. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/file.png +0 -0
  85. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/jquery.js +0 -154
  86. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/minus.png +0 -0
  87. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/plus.png +0 -0
  88. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/pygments.css +0 -62
  89. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/searchtools.js +0 -560
  90. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/sidebar.js +0 -151
  91. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/underscore.js +0 -23
  92. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/up-pressed.png +0 -0
  93. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/up.png +0 -0
  94. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/websupport.js +0 -808
  95. data/lib/support/phpmyadmin/phpmyadmin/doc/html/config.html +0 -5000
  96. data/lib/support/phpmyadmin/phpmyadmin/doc/html/copyright.html +0 -157
  97. data/lib/support/phpmyadmin/phpmyadmin/doc/html/credits.html +0 -714
  98. data/lib/support/phpmyadmin/phpmyadmin/doc/html/developers.html +0 -118
  99. data/lib/support/phpmyadmin/phpmyadmin/doc/html/faq.html +0 -1871
  100. data/lib/support/phpmyadmin/phpmyadmin/doc/html/genindex.html +0 -3807
  101. data/lib/support/phpmyadmin/phpmyadmin/doc/html/glossary.html +0 -618
  102. data/lib/support/phpmyadmin/phpmyadmin/doc/html/import_export.html +0 -148
  103. data/lib/support/phpmyadmin/phpmyadmin/doc/html/index.html +0 -210
  104. data/lib/support/phpmyadmin/phpmyadmin/doc/html/intro.html +0 -182
  105. data/lib/support/phpmyadmin/phpmyadmin/doc/html/objects.inv +0 -0
  106. data/lib/support/phpmyadmin/phpmyadmin/doc/html/other.html +0 -135
  107. data/lib/support/phpmyadmin/phpmyadmin/doc/html/privileges.html +0 -169
  108. data/lib/support/phpmyadmin/phpmyadmin/doc/html/require.html +0 -168
  109. data/lib/support/phpmyadmin/phpmyadmin/doc/html/search.html +0 -100
  110. data/lib/support/phpmyadmin/phpmyadmin/doc/html/searchindex.js +0 -1
  111. data/lib/support/phpmyadmin/phpmyadmin/doc/html/setup.html +0 -909
  112. data/lib/support/phpmyadmin/phpmyadmin/doc/html/transformations.html +0 -240
  113. data/lib/support/phpmyadmin/phpmyadmin/doc/html/user.html +0 -139
  114. data/lib/support/phpmyadmin/phpmyadmin/doc/html/vendors.html +0 -149
  115. data/lib/support/phpmyadmin/phpmyadmin/doc/import_export.rst +0 -27
  116. data/lib/support/phpmyadmin/phpmyadmin/doc/index.rst +0 -32
  117. data/lib/support/phpmyadmin/phpmyadmin/doc/intro.rst +0 -68
  118. data/lib/support/phpmyadmin/phpmyadmin/doc/make.bat +0 -242
  119. data/lib/support/phpmyadmin/phpmyadmin/doc/other.rst +0 -18
  120. data/lib/support/phpmyadmin/phpmyadmin/doc/privileges.rst +0 -50
  121. data/lib/support/phpmyadmin/phpmyadmin/doc/require.rst +0 -54
  122. data/lib/support/phpmyadmin/phpmyadmin/doc/setup.rst +0 -543
  123. data/lib/support/phpmyadmin/phpmyadmin/doc/transformations.rst +0 -138
  124. data/lib/support/phpmyadmin/phpmyadmin/doc/user.rst +0 -10
  125. data/lib/support/phpmyadmin/phpmyadmin/doc/vendors.rst +0 -35
  126. data/lib/support/phpmyadmin/phpmyadmin/error_report.php +0 -130
  127. data/lib/support/phpmyadmin/phpmyadmin/examples/config.manyhosts.inc.php +0 -51
  128. data/lib/support/phpmyadmin/phpmyadmin/examples/openid.php +0 -160
  129. data/lib/support/phpmyadmin/phpmyadmin/examples/signon-script.php +0 -37
  130. data/lib/support/phpmyadmin/phpmyadmin/examples/signon.php +0 -71
  131. data/lib/support/phpmyadmin/phpmyadmin/examples/swekey.sample.conf +0 -44
  132. data/lib/support/phpmyadmin/phpmyadmin/export.php +0 -480
  133. data/lib/support/phpmyadmin/phpmyadmin/favicon.ico +0 -0
  134. data/lib/support/phpmyadmin/phpmyadmin/file_echo.php +0 -81
  135. data/lib/support/phpmyadmin/phpmyadmin/gis_data_editor.php +0 -429
  136. data/lib/support/phpmyadmin/phpmyadmin/import.php +0 -770
  137. data/lib/support/phpmyadmin/phpmyadmin/import_status.php +0 -118
  138. data/lib/support/phpmyadmin/phpmyadmin/index.php +0 -701
  139. data/lib/support/phpmyadmin/phpmyadmin/js/OpenStreetMap.js +0 -126
  140. data/lib/support/phpmyadmin/phpmyadmin/js/ajax.js +0 -1031
  141. data/lib/support/phpmyadmin/phpmyadmin/js/big_ints.js +0 -67
  142. data/lib/support/phpmyadmin/phpmyadmin/js/canvg/MIT-LICENSE.txt +0 -22
  143. data/lib/support/phpmyadmin/phpmyadmin/js/canvg/canvg.js +0 -2509
  144. data/lib/support/phpmyadmin/phpmyadmin/js/chart.js +0 -664
  145. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/LICENSE +0 -19
  146. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/hint/show-hint.js +0 -394
  147. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/hint/sql-hint.js +0 -248
  148. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/runmode/runmode.js +0 -72
  149. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/lib/codemirror.js +0 -8645
  150. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/javascript/javascript.js +0 -692
  151. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/sql/sql.js +0 -391
  152. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/xml/xml.js +0 -384
  153. data/lib/support/phpmyadmin/phpmyadmin/js/common.js +0 -515
  154. data/lib/support/phpmyadmin/phpmyadmin/js/config.js +0 -798
  155. data/lib/support/phpmyadmin/phpmyadmin/js/console.js +0 -1032
  156. data/lib/support/phpmyadmin/phpmyadmin/js/cross_framing_protection.js +0 -10
  157. data/lib/support/phpmyadmin/phpmyadmin/js/db_central_columns.js +0 -200
  158. data/lib/support/phpmyadmin/phpmyadmin/js/db_operations.js +0 -157
  159. data/lib/support/phpmyadmin/phpmyadmin/js/db_qbe.js +0 -64
  160. data/lib/support/phpmyadmin/phpmyadmin/js/db_search.js +0 -239
  161. data/lib/support/phpmyadmin/phpmyadmin/js/db_structure.js +0 -391
  162. data/lib/support/phpmyadmin/phpmyadmin/js/db_tracking.js +0 -85
  163. data/lib/support/phpmyadmin/phpmyadmin/js/doclinks.js +0 -365
  164. data/lib/support/phpmyadmin/phpmyadmin/js/error_report.js +0 -340
  165. data/lib/support/phpmyadmin/phpmyadmin/js/export.js +0 -401
  166. data/lib/support/phpmyadmin/phpmyadmin/js/functions.js +0 -4579
  167. data/lib/support/phpmyadmin/phpmyadmin/js/get_image.js.php +0 -148
  168. data/lib/support/phpmyadmin/phpmyadmin/js/get_scripts.js.php +0 -62
  169. data/lib/support/phpmyadmin/phpmyadmin/js/gis_data_editor.js +0 -396
  170. data/lib/support/phpmyadmin/phpmyadmin/js/import.js +0 -167
  171. data/lib/support/phpmyadmin/phpmyadmin/js/indexes.js +0 -697
  172. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/excanvas.js +0 -1438
  173. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/jquery.jqplot.js +0 -11411
  174. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.barRenderer.js +0 -801
  175. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.byteFormatter.js +0 -46
  176. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.canvasAxisLabelRenderer.js +0 -203
  177. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.canvasTextRenderer.js +0 -449
  178. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.categoryAxisRenderer.js +0 -679
  179. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.cursor.js +0 -1108
  180. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.dateAxisRenderer.js +0 -741
  181. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.highlighter.js +0 -465
  182. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.pieRenderer.js +0 -904
  183. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.pointLabels.js +0 -377
  184. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/MIT-LICENSE.txt +0 -21
  185. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-1.11.1.min.js +0 -4
  186. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-ui-1.11.2.min.js +0 -13
  187. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-ui-timepicker-addon.js +0 -2223
  188. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.ba-hashchange-1.3.js +0 -390
  189. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.cookie.js +0 -91
  190. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.debounce-1.0.5.js +0 -71
  191. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.event.drag-2.2.js +0 -402
  192. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.fullscreen.js +0 -60
  193. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.mousewheel.js +0 -221
  194. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.sortableTable.js +0 -272
  195. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.svg.js +0 -1352
  196. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.tablesorter.js +0 -1033
  197. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.uitablefilter.js +0 -117
  198. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/README +0 -9
  199. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/jsonp.js +0 -89
  200. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/load.js +0 -75
  201. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/parseJSON.js +0 -51
  202. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/parseXML.js +0 -31
  203. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/script.js +0 -93
  204. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/var/nonce.js +0 -5
  205. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/var/rquery.js +0 -3
  206. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/xhr.js +0 -196
  207. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax.js +0 -807
  208. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/attr.js +0 -271
  209. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/classes.js +0 -157
  210. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/prop.js +0 -134
  211. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/support.js +0 -62
  212. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/val.js +0 -178
  213. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes.js +0 -11
  214. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/callbacks.js +0 -205
  215. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/access.js +0 -60
  216. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/init.js +0 -132
  217. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/parseHTML.js +0 -39
  218. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/ready.js +0 -152
  219. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/var/rsingleTag.js +0 -4
  220. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core.js +0 -534
  221. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/addGetHookIf.js +0 -32
  222. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/curCSS.js +0 -117
  223. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/defaultDisplay.js +0 -69
  224. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/hiddenVisibleSelectors.js +0 -20
  225. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/support.js +0 -149
  226. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/swap.js +0 -28
  227. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/cssExpand.js +0 -3
  228. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/isHidden.js +0 -13
  229. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/rmargin.js +0 -3
  230. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/rnumnonpx.js +0 -5
  231. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css.js +0 -504
  232. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data/accepts.js +0 -21
  233. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data/support.js +0 -25
  234. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data.js +0 -335
  235. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/deferred.js +0 -150
  236. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/deprecated.js +0 -13
  237. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/dimensions.js +0 -50
  238. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/Tween.js +0 -114
  239. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/animatedSelector.js +0 -13
  240. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/support.js +0 -55
  241. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects.js +0 -656
  242. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event/alias.js +0 -39
  243. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event/support.js +0 -26
  244. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event.js +0 -1037
  245. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/exports/amd.js +0 -24
  246. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/exports/global.js +0 -32
  247. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/intro.js +0 -44
  248. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/jquery.js +0 -37
  249. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/_evalUrl.js +0 -18
  250. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/support.js +0 -76
  251. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/var/rcheckableType.js +0 -3
  252. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation.js +0 -744
  253. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/offset.js +0 -211
  254. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/outro.js +0 -1
  255. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/queue/delay.js +0 -22
  256. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/queue.js +0 -142
  257. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/selector-sizzle.js +0 -14
  258. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/selector.js +0 -1
  259. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/serialize.js +0 -110
  260. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.js +0 -2044
  261. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.min.js +0 -3
  262. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.min.map +0 -1
  263. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/empty.js +0 -0
  264. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/mixed_sort.html +0 -22
  265. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/testinit.js +0 -136
  266. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/index.html +0 -242
  267. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/jquery.js +0 -9597
  268. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/extending.js +0 -95
  269. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/selector.js +0 -1149
  270. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/utilities.js +0 -169
  271. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/support.js +0 -58
  272. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing/findFilter.js +0 -100
  273. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing/var/rneedsContext.js +0 -6
  274. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing.js +0 -200
  275. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/class2type.js +0 -4
  276. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/concat.js +0 -5
  277. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/deletedIds.js +0 -3
  278. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/hasOwn.js +0 -5
  279. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/indexOf.js +0 -5
  280. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/pnum.js +0 -3
  281. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/push.js +0 -5
  282. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/rnotwhite.js +0 -3
  283. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/slice.js +0 -5
  284. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/strundefined.js +0 -3
  285. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/support.js +0 -4
  286. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/toString.js +0 -5
  287. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/wrap.js +0 -75
  288. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/accordion.js +0 -584
  289. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/autocomplete.js +0 -628
  290. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/button.js +0 -411
  291. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/core.js +0 -304
  292. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/datepicker.js +0 -2080
  293. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/dialog.js +0 -875
  294. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/draggable.js +0 -1128
  295. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/droppable.js +0 -413
  296. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-blind.js +0 -90
  297. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-bounce.js +0 -123
  298. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-clip.js +0 -77
  299. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-drop.js +0 -75
  300. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-explode.js +0 -107
  301. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-fade.js +0 -40
  302. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-fold.js +0 -86
  303. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-highlight.js +0 -60
  304. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-puff.js +0 -60
  305. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-pulsate.js +0 -73
  306. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-scale.js +0 -89
  307. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-shake.js +0 -84
  308. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-size.js +0 -233
  309. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-slide.js +0 -74
  310. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-transfer.js +0 -57
  311. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect.js +0 -1301
  312. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/menu.js +0 -646
  313. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/mouse.js +0 -199
  314. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/position.js +0 -517
  315. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/progressbar.js +0 -159
  316. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/resizable.js +0 -1179
  317. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/selectable.js +0 -287
  318. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/selectmenu.js +0 -616
  319. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/slider.js +0 -699
  320. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/sortable.js +0 -1304
  321. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/spinner.js +0 -514
  322. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/tabs.js +0 -880
  323. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/tooltip.js +0 -461
  324. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/widget.js +0 -557
  325. data/lib/support/phpmyadmin/phpmyadmin/js/keyhandler.js +0 -145
  326. data/lib/support/phpmyadmin/phpmyadmin/js/line_counts.php +0 -523
  327. data/lib/support/phpmyadmin/phpmyadmin/js/makegrid.js +0 -1973
  328. data/lib/support/phpmyadmin/phpmyadmin/js/menu-resizer.js +0 -182
  329. data/lib/support/phpmyadmin/phpmyadmin/js/messages.php +0 -718
  330. data/lib/support/phpmyadmin/phpmyadmin/js/multi_column_sort.js +0 -81
  331. data/lib/support/phpmyadmin/phpmyadmin/js/navigation.js +0 -1505
  332. data/lib/support/phpmyadmin/phpmyadmin/js/normalization.js +0 -707
  333. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/OpenLayers.js +0 -2681
  334. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/blank.gif +0 -0
  335. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/cloud-popup-relative.png +0 -0
  336. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/drag-rectangle-off.png +0 -0
  337. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/drag-rectangle-on.png +0 -0
  338. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/east-mini.png +0 -0
  339. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/layer-switcher-maximize.png +0 -0
  340. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/layer-switcher-minimize.png +0 -0
  341. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-blue.png +0 -0
  342. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-gold.png +0 -0
  343. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-green.png +0 -0
  344. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker.png +0 -0
  345. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/measuring-stick-off.png +0 -0
  346. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/measuring-stick-on.png +0 -0
  347. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/north-mini.png +0 -0
  348. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/panning-hand-off.png +0 -0
  349. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/panning-hand-on.png +0 -0
  350. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/slider.png +0 -0
  351. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/south-mini.png +0 -0
  352. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/west-mini.png +0 -0
  353. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-minus-mini.png +0 -0
  354. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-plus-mini.png +0 -0
  355. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-world-mini.png +0 -0
  356. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoombar.png +0 -0
  357. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/README +0 -12
  358. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/errorIcon.png +0 -0
  359. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.css +0 -209
  360. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.html +0 -23
  361. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.js +0 -674
  362. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebugx.js +0 -9
  363. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/infoIcon.png +0 -0
  364. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/license.txt +0 -30
  365. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/readme.txt +0 -13
  366. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/warningIcon.png +0 -0
  367. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Gears/gears_init.js +0 -88
  368. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Ajax.js +0 -678
  369. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Bounds.js +0 -681
  370. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Class.js +0 -116
  371. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Element.js +0 -251
  372. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/LonLat.js +0 -190
  373. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Pixel.js +0 -125
  374. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Size.js +0 -85
  375. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes.js +0 -682
  376. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Console.js +0 -246
  377. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ArgParser.js +0 -166
  378. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Attribution.js +0 -97
  379. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Button.js +0 -44
  380. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DragFeature.js +0 -303
  381. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DragPan.js +0 -94
  382. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DrawFeature.js +0 -126
  383. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/EditingToolbar.js +0 -63
  384. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/GetFeature.js +0 -595
  385. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Graticule.js +0 -373
  386. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/KeyboardDefaults.js +0 -127
  387. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/LayerSwitcher.js +0 -620
  388. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Measure.js +0 -321
  389. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ModifyFeature.js +0 -777
  390. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MouseDefaults.js +0 -368
  391. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MousePosition.js +0 -213
  392. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MouseToolbar.js +0 -406
  393. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/NavToolbar.js +0 -55
  394. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Navigation.js +0 -303
  395. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/NavigationHistory.js +0 -423
  396. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/OverviewMap.js +0 -720
  397. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Pan.js +0 -86
  398. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanPanel.js +0 -63
  399. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanZoom.js +0 -246
  400. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanZoomBar.js +0 -396
  401. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Panel.js +0 -371
  402. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Permalink.js +0 -220
  403. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/SLDSelect.js +0 -570
  404. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Scale.js +0 -99
  405. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ScaleLine.js +0 -223
  406. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/SelectFeature.js +0 -613
  407. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Snapping.js +0 -547
  408. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Split.js +0 -498
  409. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/TransformFeature.js +0 -579
  410. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/WMSGetFeatureInfo.js +0 -524
  411. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/WMTSGetFeatureInfo.js +0 -442
  412. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomBox.js +0 -95
  413. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomIn.js +0 -35
  414. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomOut.js +0 -35
  415. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomPanel.js +0 -54
  416. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomToMaxExtent.js +0 -40
  417. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control.js +0 -368
  418. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Events.js +0 -855
  419. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature/Vector.js +0 -454
  420. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature/WFS.js +0 -80
  421. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature.js +0 -227
  422. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Comparison.js +0 -258
  423. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/FeatureId.js +0 -81
  424. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Logical.js +0 -119
  425. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Spatial.js +0 -128
  426. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter.js +0 -68
  427. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML/Features.js +0 -49
  428. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML.js +0 -1028
  429. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Atom.js +0 -727
  430. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js +0 -243
  431. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain.js +0 -34
  432. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js +0 -440
  433. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords.js +0 -34
  434. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Context.js +0 -334
  435. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1.js +0 -426
  436. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_0_0.js +0 -169
  437. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_1_0.js +0 -182
  438. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter.js +0 -115
  439. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/Base.js +0 -578
  440. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/v2.js +0 -193
  441. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/v3.js +0 -462
  442. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML.js +0 -924
  443. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GPX.js +0 -184
  444. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GeoJSON.js +0 -716
  445. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GeoRSS.js +0 -420
  446. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/JSON.js +0 -389
  447. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/KML.js +0 -1429
  448. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OSM.js +0 -457
  449. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1.js +0 -256
  450. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_0_0.js +0 -50
  451. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_1_0.js +0 -64
  452. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext/v0_3_1.js +0 -589
  453. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext.js +0 -81
  454. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1.js +0 -1100
  455. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1_0_0.js +0 -51
  456. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD.js +0 -131
  457. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js +0 -158
  458. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities.js +0 -83
  459. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js +0 -193
  460. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetObservation.js +0 -262
  461. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Text.js +0 -152
  462. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFS.js +0 -220
  463. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1.js +0 -126
  464. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js +0 -157
  465. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js +0 -36
  466. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities.js +0 -80
  467. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSDescribeFeatureType.js +0 -198
  468. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1.js +0 -368
  469. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_0_0.js +0 -150
  470. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_1_0.js +0 -161
  471. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST.js +0 -34
  472. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WKT.js +0 -358
  473. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1.js +0 -835
  474. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_0_0.js +0 -76
  475. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_1_0.js +0 -127
  476. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC.js +0 -152
  477. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1.js +0 -418
  478. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1.js +0 -118
  479. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js +0 -62
  480. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js +0 -58
  481. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3.js +0 -128
  482. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js +0 -30
  483. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities.js +0 -82
  484. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js +0 -100
  485. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer.js +0 -91
  486. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSGetFeatureInfo.js +0 -284
  487. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js +0 -221
  488. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js +0 -162
  489. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/XML.js +0 -881
  490. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format.js +0 -123
  491. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Collection.js +0 -546
  492. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Curve.js +0 -93
  493. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/LineString.js +0 -552
  494. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/LinearRing.js +0 -417
  495. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiLineString.js +0 -262
  496. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPoint.js +0 -70
  497. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPolygon.js +0 -46
  498. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Point.js +0 -283
  499. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Polygon.js +0 -259
  500. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Rectangle.js +0 -99
  501. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Surface.js +0 -17
  502. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry.js +0 -456
  503. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Box.js +0 -221
  504. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Click.js +0 -325
  505. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Drag.js +0 -420
  506. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Feature.js +0 -388
  507. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Hover.js +0 -183
  508. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Keyboard.js +0 -109
  509. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/MouseWheel.js +0 -283
  510. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Path.js +0 -302
  511. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Point.js +0 -373
  512. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Polygon.js +0 -144
  513. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/RegularPolygon.js +0 -421
  514. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler.js +0 -287
  515. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Icon.js +0 -227
  516. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ar.js +0 -38
  517. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/be-tarask.js +0 -80
  518. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/bg.js +0 -29
  519. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/br.js +0 -79
  520. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ca.js +0 -128
  521. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/cs-CZ.js +0 -69
  522. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/da-DK.js +0 -119
  523. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/de.js +0 -81
  524. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/el.js +0 -19
  525. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/en-CA.js +0 -21
  526. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/en.js +0 -128
  527. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/es.js +0 -129
  528. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fi.js +0 -34
  529. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fr.js +0 -80
  530. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fur.js +0 -35
  531. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/gl.js +0 -79
  532. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/gsw.js +0 -79
  533. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hr.js +0 -61
  534. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hsb.js +0 -79
  535. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hu.js +0 -80
  536. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ia.js +0 -79
  537. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/id.js +0 -80
  538. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/io.js +0 -19
  539. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/is.js +0 -37
  540. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/it.js +0 -116
  541. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ja.js +0 -80
  542. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/km.js +0 -25
  543. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ksh.js +0 -79
  544. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nb.js +0 -118
  545. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nds.js +0 -61
  546. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nl.js +0 -79
  547. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nn.js +0 -27
  548. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/oc.js +0 -79
  549. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/pt-BR.js +0 -80
  550. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/pt.js +0 -81
  551. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ru.js +0 -82
  552. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/sk.js +0 -71
  553. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/sv-SE.js +0 -71
  554. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/te.js +0 -27
  555. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/vi.js +0 -79
  556. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/zh-CN.js +0 -116
  557. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/zh-TW.js +0 -117
  558. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang.js +0 -133
  559. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/ArcGIS93Rest.js +0 -253
  560. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/ArcIMS.js +0 -466
  561. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Boxes.js +0 -76
  562. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/EventPane.js +0 -418
  563. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/FixedZoomLevels.js +0 -315
  564. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/GML.js +0 -174
  565. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/GeoRSS.js +0 -266
  566. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Google/v3.js +0 -419
  567. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Google.js +0 -795
  568. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Grid.js +0 -755
  569. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/HTTPRequest.js +0 -230
  570. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Image.js +0 -254
  571. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/KaMap.js +0 -206
  572. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/KaMapCache.js +0 -148
  573. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapGuide.js +0 -489
  574. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer/Untiled.js +0 -72
  575. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer.js +0 -199
  576. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Markers.js +0 -187
  577. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MultiMap.js +0 -284
  578. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/PointTrack.js +0 -103
  579. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/SphericalMercator.js +0 -196
  580. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/TMS.js +0 -167
  581. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Text.js +0 -264
  582. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/TileCache.js +0 -165
  583. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Vector/RootContainer.js +0 -157
  584. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Vector.js +0 -947
  585. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/VirtualEarth.js +0 -368
  586. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WFS.js +0 -609
  587. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Post.js +0 -99
  588. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Untiled.js +0 -72
  589. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS.js +0 -268
  590. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMTS.js +0 -476
  591. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WorldWind.js +0 -120
  592. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/XYZ.js +0 -196
  593. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Yahoo.js +0 -430
  594. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Zoomify.js +0 -308
  595. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer.js +0 -1304
  596. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Map.js +0 -2417
  597. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Marker/Box.js +0 -120
  598. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Marker.js +0 -242
  599. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/Anchored.js +0 -198
  600. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/AnchoredBubble.js +0 -190
  601. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/Framed.js +0 -343
  602. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/FramedCloud.js +0 -231
  603. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup.js +0 -1052
  604. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Projection.js +0 -178
  605. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/HTTP.js +0 -655
  606. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS/v1_0_0.js +0 -132
  607. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS.js +0 -33
  608. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL/Gears.js +0 -561
  609. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL.js +0 -88
  610. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1.js +0 -342
  611. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_0_0.js +0 -44
  612. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_1_0.js +0 -48
  613. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS.js +0 -71
  614. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol.js +0 -272
  615. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/Canvas.js +0 -494
  616. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/Elements.js +0 -1010
  617. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/SVG.js +0 -995
  618. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/VML.js +0 -999
  619. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer.js +0 -362
  620. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Request/XMLHttpRequest.js +0 -384
  621. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Request.js +0 -358
  622. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Rule.js +0 -240
  623. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/SingleFile.js +0 -10
  624. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/BBOX.js +0 -278
  625. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Cluster.js +0 -280
  626. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Filter.js +0 -164
  627. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Fixed.js +0 -138
  628. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Paging.js +0 -236
  629. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Refresh.js +0 -140
  630. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Save.js +0 -229
  631. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy.js +0 -117
  632. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Style.js +0 -443
  633. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Style2.js +0 -111
  634. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/StyleMap.js +0 -160
  635. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Line.js +0 -69
  636. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Point.js +0 -141
  637. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Polygon.js +0 -81
  638. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Raster.js +0 -34
  639. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Text.js +0 -65
  640. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer.js +0 -51
  641. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/Image/IFrame.js +0 -262
  642. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/Image.js +0 -578
  643. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/WFS.js +0 -192
  644. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile.js +0 -281
  645. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tween.js +0 -318
  646. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Util.js +0 -1797
  647. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers.js +0 -348
  648. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Rico/Color.js +0 -244
  649. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Rico/Corner.js +0 -330
  650. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/framedCloud.css +0 -0
  651. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/google.css +0 -10
  652. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/ie6-style.css +0 -7
  653. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/add_point_off.png +0 -0
  654. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/add_point_on.png +0 -0
  655. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/blank.gif +0 -0
  656. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/close.gif +0 -0
  657. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/drag-rectangle-off.png +0 -0
  658. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/drag-rectangle-on.png +0 -0
  659. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_line_off.png +0 -0
  660. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_line_on.png +0 -0
  661. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_point_off.png +0 -0
  662. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_point_on.png +0 -0
  663. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_polygon_off.png +0 -0
  664. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_polygon_on.png +0 -0
  665. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/editing_tool_bar.png +0 -0
  666. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/move_feature_off.png +0 -0
  667. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/move_feature_on.png +0 -0
  668. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/navigation_history.png +0 -0
  669. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/overview_replacement.gif +0 -0
  670. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan-panel-NOALPHA.png +0 -0
  671. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan-panel.png +0 -0
  672. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan_off.png +0 -0
  673. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan_on.png +0 -0
  674. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/panning-hand-off.png +0 -0
  675. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/panning-hand-on.png +0 -0
  676. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/remove_point_off.png +0 -0
  677. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/remove_point_on.png +0 -0
  678. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/ruler.png +0 -0
  679. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/save_features_off.png +0 -0
  680. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/save_features_on.png +0 -0
  681. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_next_off.png +0 -0
  682. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_next_on.png +0 -0
  683. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_previous_off.png +0 -0
  684. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_previous_on.png +0 -0
  685. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/zoom-panel-NOALPHA.png +0 -0
  686. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/zoom-panel.png +0 -0
  687. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/style.css +0 -397
  688. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_db.js +0 -136
  689. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_objects.js +0 -17
  690. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_page.js +0 -164
  691. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/history.js +0 -812
  692. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/iecanvas.js +0 -147
  693. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/init.js +0 -40
  694. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/move.js +0 -1993
  695. data/lib/support/phpmyadmin/phpmyadmin/js/replication.js +0 -72
  696. data/lib/support/phpmyadmin/phpmyadmin/js/rte.js +0 -944
  697. data/lib/support/phpmyadmin/phpmyadmin/js/server_databases.js +0 -137
  698. data/lib/support/phpmyadmin/phpmyadmin/js/server_plugins.js +0 -30
  699. data/lib/support/phpmyadmin/phpmyadmin/js/server_privileges.js +0 -451
  700. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_advisor.js +0 -93
  701. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_monitor.js +0 -2172
  702. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_processes.js +0 -189
  703. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_queries.js +0 -34
  704. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_sorter.js +0 -89
  705. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_variables.js +0 -103
  706. data/lib/support/phpmyadmin/phpmyadmin/js/server_user_groups.js +0 -42
  707. data/lib/support/phpmyadmin/phpmyadmin/js/server_variables.js +0 -147
  708. data/lib/support/phpmyadmin/phpmyadmin/js/sprintf.js +0 -211
  709. data/lib/support/phpmyadmin/phpmyadmin/js/sql.js +0 -842
  710. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_change.js +0 -754
  711. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_chart.js +0 -437
  712. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_find_replace.js +0 -47
  713. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_gis_visualization.js +0 -353
  714. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_operations.js +0 -240
  715. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_relation.js +0 -233
  716. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_select.js +0 -395
  717. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_structure.js +0 -397
  718. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_tracking.js +0 -96
  719. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_zoom_plot_jqplot.js +0 -638
  720. data/lib/support/phpmyadmin/phpmyadmin/js/tracekit/tracekit.js +0 -1114
  721. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/image_upload.js +0 -28
  722. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/json.js +0 -18
  723. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/json_editor.js +0 -17
  724. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/sql_editor.js +0 -30
  725. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/xml.js +0 -18
  726. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/xml_editor.js +0 -16
  727. data/lib/support/phpmyadmin/phpmyadmin/js/whitelist.php +0 -38
  728. data/lib/support/phpmyadmin/phpmyadmin/libraries/Advisor.class.php +0 -526
  729. data/lib/support/phpmyadmin/phpmyadmin/libraries/Config.class.php +0 -1926
  730. data/lib/support/phpmyadmin/phpmyadmin/libraries/Console.class.php +0 -320
  731. data/lib/support/phpmyadmin/phpmyadmin/libraries/DBQbe.class.php +0 -1593
  732. data/lib/support/phpmyadmin/phpmyadmin/libraries/DatabaseInterface.class.php +0 -2864
  733. data/lib/support/phpmyadmin/phpmyadmin/libraries/DbSearch.class.php +0 -502
  734. data/lib/support/phpmyadmin/phpmyadmin/libraries/DisplayResults.class.php +0 -5685
  735. data/lib/support/phpmyadmin/phpmyadmin/libraries/Error.class.php +0 -470
  736. data/lib/support/phpmyadmin/phpmyadmin/libraries/Error_Handler.class.php +0 -561
  737. data/lib/support/phpmyadmin/phpmyadmin/libraries/File.class.php +0 -732
  738. data/lib/support/phpmyadmin/phpmyadmin/libraries/Font.class.php +0 -145
  739. data/lib/support/phpmyadmin/phpmyadmin/libraries/Footer.class.php +0 -351
  740. data/lib/support/phpmyadmin/phpmyadmin/libraries/Header.class.php +0 -752
  741. data/lib/support/phpmyadmin/phpmyadmin/libraries/Index.class.php +0 -1011
  742. data/lib/support/phpmyadmin/phpmyadmin/libraries/List.class.php +0 -122
  743. data/lib/support/phpmyadmin/phpmyadmin/libraries/List_Database.class.php +0 -193
  744. data/lib/support/phpmyadmin/phpmyadmin/libraries/Menu.class.php +0 -631
  745. data/lib/support/phpmyadmin/phpmyadmin/libraries/Message.class.php +0 -759
  746. data/lib/support/phpmyadmin/phpmyadmin/libraries/OutputBuffering.class.php +0 -139
  747. data/lib/support/phpmyadmin/phpmyadmin/libraries/PDF.class.php +0 -149
  748. data/lib/support/phpmyadmin/phpmyadmin/libraries/PMA.php +0 -109
  749. data/lib/support/phpmyadmin/phpmyadmin/libraries/Partition.class.php +0 -77
  750. data/lib/support/phpmyadmin/phpmyadmin/libraries/RecentFavoriteTable.class.php +0 -393
  751. data/lib/support/phpmyadmin/phpmyadmin/libraries/Response.class.php +0 -397
  752. data/lib/support/phpmyadmin/phpmyadmin/libraries/SavedSearches.class.php +0 -447
  753. data/lib/support/phpmyadmin/phpmyadmin/libraries/Scripts.class.php +0 -284
  754. data/lib/support/phpmyadmin/phpmyadmin/libraries/ServerStatusData.class.php +0 -448
  755. data/lib/support/phpmyadmin/phpmyadmin/libraries/StorageEngine.class.php +0 -451
  756. data/lib/support/phpmyadmin/phpmyadmin/libraries/String.class.php +0 -188
  757. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringAbstractType.class.php +0 -35
  758. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringByte.int.php +0 -173
  759. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringCType.class.php +0 -110
  760. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringNativeType.class.php +0 -138
  761. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringType.int.php +0 -84
  762. data/lib/support/phpmyadmin/phpmyadmin/libraries/Table.class.php +0 -1806
  763. data/lib/support/phpmyadmin/phpmyadmin/libraries/TableSearch.class.php +0 -1587
  764. data/lib/support/phpmyadmin/phpmyadmin/libraries/Theme.class.php +0 -485
  765. data/lib/support/phpmyadmin/phpmyadmin/libraries/Theme_Manager.class.php +0 -460
  766. data/lib/support/phpmyadmin/phpmyadmin/libraries/Tracker.class.php +0 -1030
  767. data/lib/support/phpmyadmin/phpmyadmin/libraries/Types.class.php +0 -1071
  768. data/lib/support/phpmyadmin/phpmyadmin/libraries/Util.class.php +0 -4602
  769. data/lib/support/phpmyadmin/phpmyadmin/libraries/advisory_rules.txt +0 -470
  770. data/lib/support/phpmyadmin/phpmyadmin/libraries/bfShapeFiles/ShapeFile.lib.php +0 -682
  771. data/lib/support/phpmyadmin/phpmyadmin/libraries/bookmark.lib.php +0 -273
  772. data/lib/support/phpmyadmin/phpmyadmin/libraries/browse_foreigners.lib.php +0 -316
  773. data/lib/support/phpmyadmin/phpmyadmin/libraries/build_html_for_db.lib.php +0 -184
  774. data/lib/support/phpmyadmin/phpmyadmin/libraries/central_columns.lib.php +0 -1003
  775. data/lib/support/phpmyadmin/phpmyadmin/libraries/charset_conversion.lib.php +0 -120
  776. data/lib/support/phpmyadmin/phpmyadmin/libraries/check_user_privileges.lib.php +0 -195
  777. data/lib/support/phpmyadmin/phpmyadmin/libraries/cleanup.lib.php +0 -50
  778. data/lib/support/phpmyadmin/phpmyadmin/libraries/common.inc.php +0 -1203
  779. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/ConfigFile.class.php +0 -543
  780. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/Form.class.php +0 -231
  781. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/FormDisplay.class.php +0 -837
  782. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/FormDisplay.tpl.php +0 -491
  783. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/ServerConfigChecks.class.php +0 -577
  784. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/Validator.class.php +0 -624
  785. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/config_functions.lib.php +0 -54
  786. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/messages.inc.php +0 -818
  787. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/setup.forms.php +0 -384
  788. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/user_preferences.forms.php +0 -281
  789. data/lib/support/phpmyadmin/phpmyadmin/libraries/config.default.php +0 -3011
  790. data/lib/support/phpmyadmin/phpmyadmin/libraries/config.values.php +0 -270
  791. data/lib/support/phpmyadmin/phpmyadmin/libraries/core.lib.php +0 -1013
  792. data/lib/support/phpmyadmin/phpmyadmin/libraries/create_addfield.lib.php +0 -376
  793. data/lib/support/phpmyadmin/phpmyadmin/libraries/data_dictionary_relations.lib.php +0 -167
  794. data/lib/support/phpmyadmin/phpmyadmin/libraries/database_interface.inc.php +0 -74
  795. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_common.inc.php +0 -105
  796. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_designer.lib.php +0 -1397
  797. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_info.inc.php +0 -248
  798. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_printview.lib.php +0 -30
  799. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_table_exists.lib.php +0 -106
  800. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIDrizzle.class.php +0 -583
  801. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIDummy.class.php +0 -906
  802. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIExtension.int.php +0 -262
  803. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIMysql.class.php +0 -469
  804. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIMysqli.class.php +0 -620
  805. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/drizzle-wrappers.lib.php +0 -427
  806. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_change_password.lib.php +0 -113
  807. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_create_database.lib.php +0 -62
  808. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_create_table.lib.php +0 -82
  809. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_export.inc.php +0 -72
  810. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_export.lib.php +0 -872
  811. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_git_revision.lib.php +0 -83
  812. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import.inc.php +0 -64
  813. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import.lib.php +0 -602
  814. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import_ajax.lib.php +0 -129
  815. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_select_lang.lib.php +0 -98
  816. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_structure.inc.php +0 -272
  817. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/bdb.lib.php +0 -87
  818. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/berkeleydb.lib.php +0 -26
  819. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/binlog.lib.php +0 -31
  820. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/innobase.lib.php +0 -25
  821. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/innodb.lib.php +0 -392
  822. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/memory.lib.php +0 -34
  823. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/merge.lib.php +0 -21
  824. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/mrg_myisam.lib.php +0 -36
  825. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/myisam.lib.php +0 -69
  826. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/ndbcluster.lib.php +0 -55
  827. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/pbxt.lib.php +0 -149
  828. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/performance_schema.lib.php +0 -31
  829. data/lib/support/phpmyadmin/phpmyadmin/libraries/error.inc.php +0 -58
  830. data/lib/support/phpmyadmin/phpmyadmin/libraries/error_report.lib.php +0 -432
  831. data/lib/support/phpmyadmin/phpmyadmin/libraries/export.lib.php +0 -858
  832. data/lib/support/phpmyadmin/phpmyadmin/libraries/file_listing.lib.php +0 -99
  833. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Factory.class.php +0 -66
  834. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Geometry.class.php +0 -376
  835. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Geometrycollection.class.php +0 -364
  836. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Linestring.class.php +0 -323
  837. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multilinestring.class.php +0 -394
  838. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multipoint.class.php +0 -367
  839. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multipolygon.class.php +0 -564
  840. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Point.class.php +0 -314
  841. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Polygon.class.php +0 -581
  842. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Visualization.class.php +0 -504
  843. data/lib/support/phpmyadmin/phpmyadmin/libraries/iconv_wrapper.lib.php +0 -128
  844. data/lib/support/phpmyadmin/phpmyadmin/libraries/import.lib.php +0 -1954
  845. data/lib/support/phpmyadmin/phpmyadmin/libraries/index.lib.php +0 -48
  846. data/lib/support/phpmyadmin/phpmyadmin/libraries/information_schema_relations.lib.php +0 -327
  847. data/lib/support/phpmyadmin/phpmyadmin/libraries/insert_edit.lib.php +0 -2931
  848. data/lib/support/phpmyadmin/phpmyadmin/libraries/ip_allow_deny.lib.php +0 -341
  849. data/lib/support/phpmyadmin/phpmyadmin/libraries/js_escape.lib.php +0 -135
  850. data/lib/support/phpmyadmin/phpmyadmin/libraries/kanji-encoding.lib.php +0 -168
  851. data/lib/support/phpmyadmin/phpmyadmin/libraries/language_stats.inc.php +0 -87
  852. data/lib/support/phpmyadmin/phpmyadmin/libraries/logging.lib.php +0 -30
  853. data/lib/support/phpmyadmin/phpmyadmin/libraries/mime.lib.php +0 -34
  854. data/lib/support/phpmyadmin/phpmyadmin/libraries/mult_submits.inc.php +0 -307
  855. data/lib/support/phpmyadmin/phpmyadmin/libraries/mult_submits.lib.php +0 -647
  856. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_charsets.inc.php +0 -129
  857. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_charsets.lib.php +0 -379
  858. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_relations.lib.php +0 -169
  859. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Navigation.class.php +0 -228
  860. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NavigationHeader.class.php +0 -223
  861. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NavigationTree.class.php +0 -1452
  862. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NodeFactory.class.php +0 -97
  863. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node.class.php +0 -813
  864. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Column.class.php +0 -47
  865. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Column_Container.class.php +0 -57
  866. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Database.class.php +0 -663
  867. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_DatabaseChild.class.php +0 -52
  868. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Database_Container.class.php +0 -51
  869. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Event.class.php +0 -57
  870. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Event_Container.class.php +0 -54
  871. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Function.class.php +0 -57
  872. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Function_Container.class.php +0 -53
  873. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Index.class.php +0 -45
  874. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Index_Container.class.php +0 -57
  875. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Procedure.class.php +0 -57
  876. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Procedure_Container.class.php +0 -55
  877. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Table.class.php +0 -294
  878. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Table_Container.class.php +0 -60
  879. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Trigger.class.php +0 -45
  880. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Trigger_Container.class.php +0 -57
  881. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_View.class.php +0 -57
  882. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_View_Container.class.php +0 -60
  883. data/lib/support/phpmyadmin/phpmyadmin/libraries/normalization.lib.php +0 -945
  884. data/lib/support/phpmyadmin/phpmyadmin/libraries/opendocument.lib.php +0 -171
  885. data/lib/support/phpmyadmin/phpmyadmin/libraries/operations.lib.php +0 -1649
  886. data/lib/support/phpmyadmin/phpmyadmin/libraries/parse_analyze.inc.php +0 -144
  887. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/gettext.inc +0 -536
  888. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/gettext.php +0 -432
  889. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/streams.php +0 -167
  890. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/AES.php +0 -184
  891. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Base.php +0 -1984
  892. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Random.php +0 -251
  893. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Rijndael.php +0 -1370
  894. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugin_interface.lib.php +0 -557
  895. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/AuthenticationPlugin.class.php +0 -100
  896. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/ExportPlugin.class.php +0 -326
  897. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/IOTransformationsPlugin.class.php +0 -91
  898. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/ImportPlugin.class.php +0 -77
  899. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/SchemaPlugin.class.php +0 -76
  900. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/TransformationsInterface.int.php +0 -49
  901. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/TransformationsPlugin.class.php +0 -69
  902. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/UploadInterface.int.php +0 -36
  903. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationConfig.class.php +0 -183
  904. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationCookie.class.php +0 -871
  905. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationHttp.class.php +0 -289
  906. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationSignon.class.php +0 -267
  907. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/recaptcha/LICENSE +0 -29
  908. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/recaptcha/recaptchalib.php +0 -140
  909. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/authentication.inc.php +0 -176
  910. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/musbe-ca.crt +0 -25
  911. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/swekey.auth.lib.php +0 -318
  912. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/swekey.php +0 -536
  913. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportCodegen.class.php +0 -434
  914. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportCsv.class.php +0 -323
  915. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportExcel.class.php +0 -92
  916. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportHtmlword.class.php +0 -644
  917. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportJson.class.php +0 -215
  918. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportLatex.class.php +0 -656
  919. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportMediawiki.class.php +0 -379
  920. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportOds.class.php +0 -334
  921. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportOdt.class.php +0 -765
  922. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportPdf.class.php +0 -276
  923. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportPhparray.class.php +0 -233
  924. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportSql.class.php +0 -2601
  925. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportTexytext.class.php +0 -575
  926. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportXml.class.php +0 -584
  927. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportYaml.class.php +0 -212
  928. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/PMA_ExportPdf.class.php +0 -434
  929. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/README +0 -267
  930. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/TableProperty.class.php +0 -286
  931. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/AbstractImportCsv.class.php +0 -90
  932. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportCsv.class.php +0 -687
  933. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportLdi.class.php +0 -161
  934. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportMediawiki.class.php +0 -598
  935. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportOds.class.php +0 -414
  936. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportShp.class.php +0 -327
  937. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportSql.class.php +0 -620
  938. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportXml.class.php +0 -366
  939. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/README +0 -159
  940. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ShapeFile.class.php +0 -102
  941. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ShapeRecord.class.php +0 -161
  942. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadApc.class.php +0 -84
  943. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadNoplugin.class.php +0 -64
  944. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadProgress.class.php +0 -94
  945. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadSession.class.php +0 -96
  946. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/Export_Relation_Schema.class.php +0 -299
  947. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/RelationStats.class.php +0 -108
  948. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaDia.class.php +0 -117
  949. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaEps.class.php +0 -102
  950. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaPdf.class.php +0 -132
  951. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaSvg.class.php +0 -90
  952. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/TableStats.class.php +0 -179
  953. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/Dia_Relation_Schema.class.php +0 -378
  954. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/RelationStatsDia.class.php +0 -216
  955. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/TableStatsDia.class.php +0 -227
  956. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/Eps_Relation_Schema.class.php +0 -508
  957. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/RelationStatsEps.class.php +0 -135
  958. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/TableStatsEps.class.php +0 -157
  959. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/Pdf_Relation_Schema.class.php +0 -1070
  960. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/RelationStatsPdf.class.php +0 -135
  961. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/TableStatsPdf.class.php +0 -222
  962. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/RelationStatsSvg.class.php +0 -119
  963. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/Svg_Relation_Schema.class.php +0 -501
  964. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/TableStatsSvg.class.php +0 -180
  965. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/README +0 -4
  966. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/TEMPLATE +0 -46
  967. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/TEMPLATE_ABSTRACT +0 -73
  968. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Link.class.php +0 -44
  969. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Longtoipv4.class.php +0 -44
  970. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Preappend.class.php +0 -45
  971. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Substring.class.php +0 -44
  972. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/Bool2TextTransformationsPlugin.class.php +0 -69
  973. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/CodeMirrorEditorTransformationPlugin.class.php +0 -64
  974. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/DateFormatTransformationsPlugin.class.php +0 -164
  975. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/DownloadTransformationsPlugin.class.php +0 -95
  976. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ExternalTransformationsPlugin.class.php +0 -155
  977. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/FormattedTransformationsPlugin.class.php +0 -65
  978. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/HexTransformationsPlugin.class.php +0 -72
  979. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ImageLinkTransformationsPlugin.class.php +0 -74
  980. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ImageUploadTransformationsPlugin.class.php +0 -110
  981. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/InlineTransformationsPlugin.class.php +0 -86
  982. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/LongToIPv4TransformationsPlugin.class.php +0 -68
  983. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/PreApPendTransformationsPlugin.class.php +0 -71
  984. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/RegexValidationTransformationsPlugin.class.php +0 -74
  985. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/SQLTransformationsPlugin.class.php +0 -67
  986. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/SubstringTransformationsPlugin.class.php +0 -92
  987. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextFileUploadTransformationsPlugin.class.php +0 -93
  988. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextImageLinkTransformationsPlugin.class.php +0 -81
  989. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextLinkTransformationsPlugin.class.php +0 -82
  990. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/generator_main_class.sh +0 -16
  991. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/generator_plugin.sh +0 -64
  992. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Image_JPEG_Upload.class.php +0 -46
  993. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_Fileupload.class.php +0 -45
  994. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_JsonEditor.class.php +0 -86
  995. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_Regexvalidation.class.php +0 -46
  996. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_SqlEditor.class.php +0 -86
  997. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_XmlEditor.class.php +0 -86
  998. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Application_Octetstream_Download.class.php +0 -44
  999. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Application_Octetstream_Hex.class.php +0 -45
  1000. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_JPEG_Inline.class.php +0 -45
  1001. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_JPEG_Link.class.php +0 -45
  1002. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_PNG_Inline.class.php +0 -45
  1003. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Octetstream_Sql.class.php +0 -45
  1004. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Bool2text.class.php +0 -47
  1005. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Dateformat.class.php +0 -45
  1006. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_External.class.php +0 -45
  1007. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Formatted.class.php +0 -45
  1008. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Imagelink.class.php +0 -45
  1009. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Json.class.php +0 -96
  1010. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Sql.class.php +0 -57
  1011. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Xml.class.php +0 -96
  1012. data/lib/support/phpmyadmin/phpmyadmin/libraries/pmd_common.php +0 -657
  1013. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/PropertyItem.class.php +0 -49
  1014. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyGroup.class.php +0 -99
  1015. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyItem.class.php +0 -127
  1016. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyOneItem.class.php +0 -172
  1017. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertyMainGroup.class.php +0 -35
  1018. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertyRootGroup.class.php +0 -35
  1019. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertySubgroup.class.php +0 -68
  1020. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/BoolPropertyItem.class.php +0 -35
  1021. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/DocPropertyItem.class.php +0 -35
  1022. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/HiddenPropertyItem.class.php +0 -35
  1023. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/MessageOnlyPropertyItem.class.php +0 -35
  1024. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/NumberPropertyItem.class.php +0 -35
  1025. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/RadioPropertyItem.class.php +0 -35
  1026. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/SelectPropertyItem.class.php +0 -35
  1027. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/TextPropertyItem.class.php +0 -35
  1028. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/ExportPluginProperties.class.php +0 -68
  1029. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/ImportPluginProperties.class.php +0 -34
  1030. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/PluginPropertyItem.class.php +0 -183
  1031. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/SchemaPluginProperties.class.php +0 -47
  1032. data/lib/support/phpmyadmin/phpmyadmin/libraries/relation.lib.php +0 -2024
  1033. data/lib/support/phpmyadmin/phpmyadmin/libraries/relation_cleanup.lib.php +0 -216
  1034. data/lib/support/phpmyadmin/phpmyadmin/libraries/replication.inc.php +0 -321
  1035. data/lib/support/phpmyadmin/phpmyadmin/libraries/replication_gui.lib.php +0 -1088
  1036. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_events.lib.php +0 -618
  1037. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_export.lib.php +0 -121
  1038. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_footer.lib.php +0 -130
  1039. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_general.lib.php +0 -88
  1040. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_list.lib.php +0 -387
  1041. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_main.inc.php +0 -94
  1042. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_routines.lib.php +0 -1733
  1043. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_triggers.lib.php +0 -463
  1044. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_words.lib.php +0 -75
  1045. data/lib/support/phpmyadmin/phpmyadmin/libraries/sanitizing.lib.php +0 -191
  1046. data/lib/support/phpmyadmin/phpmyadmin/libraries/select_lang.lib.php +0 -621
  1047. data/lib/support/phpmyadmin/phpmyadmin/libraries/select_server.lib.php +0 -111
  1048. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_bin_log.lib.php +0 -244
  1049. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_collations.lib.php +0 -100
  1050. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_common.inc.php +0 -53
  1051. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_common.lib.php +0 -67
  1052. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_databases.lib.php +0 -498
  1053. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_engines.lib.php +0 -145
  1054. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_plugins.lib.php +0 -207
  1055. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_privileges.lib.php +0 -4692
  1056. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status.lib.php +0 -317
  1057. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_advisor.lib.php +0 -68
  1058. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_monitor.lib.php +0 -825
  1059. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_processes.lib.php +0 -320
  1060. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_queries.lib.php +0 -154
  1061. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_variables.lib.php +0 -765
  1062. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_user_groups.lib.php +0 -360
  1063. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_users.lib.php +0 -58
  1064. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_variables.lib.php +0 -1683
  1065. data/lib/support/phpmyadmin/phpmyadmin/libraries/session.inc.php +0 -130
  1066. data/lib/support/phpmyadmin/phpmyadmin/libraries/special_schema_links.lib.php +0 -461
  1067. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/LICENSE.txt +0 -21
  1068. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/README.md +0 -185
  1069. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/lib/SqlFormatter.php +0 -1085
  1070. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql.lib.php +0 -2293
  1071. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql_query_form.lib.php +0 -477
  1072. data/lib/support/phpmyadmin/phpmyadmin/libraries/sqlparser.data.php +0 -999
  1073. data/lib/support/phpmyadmin/phpmyadmin/libraries/sqlparser.lib.php +0 -2997
  1074. data/lib/support/phpmyadmin/phpmyadmin/libraries/string.lib.php +0 -33
  1075. data/lib/support/phpmyadmin/phpmyadmin/libraries/stringMb.lib.php +0 -78
  1076. data/lib/support/phpmyadmin/phpmyadmin/libraries/stringNative.lib.php +0 -245
  1077. data/lib/support/phpmyadmin/phpmyadmin/libraries/structure.lib.php +0 -3294
  1078. data/lib/support/phpmyadmin/phpmyadmin/libraries/sysinfo.lib.php +0 -369
  1079. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_chart.lib.php +0 -383
  1080. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_columns_definition_form.inc.php +0 -195
  1081. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_columns_definition_form.lib.php +0 -1458
  1082. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_common.inc.php +0 -48
  1083. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_gis_visualization.lib.php +0 -281
  1084. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_indexes.lib.php +0 -480
  1085. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_info.inc.php +0 -108
  1086. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_printview.lib.php +0 -602
  1087. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_relation.lib.php +0 -1222
  1088. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_views.lib.php +0 -161
  1089. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/LICENSE.TXT +0 -858
  1090. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/README.TXT +0 -115
  1091. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/config/tcpdf_config.php +0 -227
  1092. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE +0 -99
  1093. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.ctg.z +0 -0
  1094. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.php +0 -16
  1095. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.z +0 -0
  1096. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.ctg.z +0 -0
  1097. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.php +0 -16
  1098. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.z +0 -0
  1099. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/helvetica.php +0 -13
  1100. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/sRGB.icc +0 -0
  1101. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_colors.php +0 -462
  1102. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_font_data.php +0 -18447
  1103. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_fonts.php +0 -2591
  1104. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_images.php +0 -355
  1105. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_static.php +0 -2528
  1106. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/tcpdf.php +0 -24478
  1107. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/tcpdf_autoconfig.php +0 -241
  1108. data/lib/support/phpmyadmin/phpmyadmin/libraries/tracking.lib.php +0 -1439
  1109. data/lib/support/phpmyadmin/phpmyadmin/libraries/transformations.lib.php +0 -461
  1110. data/lib/support/phpmyadmin/phpmyadmin/libraries/url_generating.lib.php +0 -256
  1111. data/lib/support/phpmyadmin/phpmyadmin/libraries/user_preferences.inc.php +0 -71
  1112. data/lib/support/phpmyadmin/phpmyadmin/libraries/user_preferences.lib.php +0 -301
  1113. data/lib/support/phpmyadmin/phpmyadmin/libraries/vendor_config.php +0 -93
  1114. data/lib/support/phpmyadmin/phpmyadmin/libraries/zip.lib.php +0 -211
  1115. data/lib/support/phpmyadmin/phpmyadmin/libraries/zip_extension.lib.php +0 -195
  1116. data/lib/support/phpmyadmin/phpmyadmin/license.php +0 -31
  1117. data/lib/support/phpmyadmin/phpmyadmin/locale/az/LC_MESSAGES/phpmyadmin.mo +0 -0
  1118. data/lib/support/phpmyadmin/phpmyadmin/locale/bg/LC_MESSAGES/phpmyadmin.mo +0 -0
  1119. data/lib/support/phpmyadmin/phpmyadmin/locale/bn/LC_MESSAGES/phpmyadmin.mo +0 -0
  1120. data/lib/support/phpmyadmin/phpmyadmin/locale/ca/LC_MESSAGES/phpmyadmin.mo +0 -0
  1121. data/lib/support/phpmyadmin/phpmyadmin/locale/cs/LC_MESSAGES/phpmyadmin.mo +0 -0
  1122. data/lib/support/phpmyadmin/phpmyadmin/locale/da/LC_MESSAGES/phpmyadmin.mo +0 -0
  1123. data/lib/support/phpmyadmin/phpmyadmin/locale/de/LC_MESSAGES/phpmyadmin.mo +0 -0
  1124. data/lib/support/phpmyadmin/phpmyadmin/locale/el/LC_MESSAGES/phpmyadmin.mo +0 -0
  1125. data/lib/support/phpmyadmin/phpmyadmin/locale/en_GB/LC_MESSAGES/phpmyadmin.mo +0 -0
  1126. data/lib/support/phpmyadmin/phpmyadmin/locale/es/LC_MESSAGES/phpmyadmin.mo +0 -0
  1127. data/lib/support/phpmyadmin/phpmyadmin/locale/et/LC_MESSAGES/phpmyadmin.mo +0 -0
  1128. data/lib/support/phpmyadmin/phpmyadmin/locale/fi/LC_MESSAGES/phpmyadmin.mo +0 -0
  1129. data/lib/support/phpmyadmin/phpmyadmin/locale/fr/LC_MESSAGES/phpmyadmin.mo +0 -0
  1130. data/lib/support/phpmyadmin/phpmyadmin/locale/gl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1131. data/lib/support/phpmyadmin/phpmyadmin/locale/hi/LC_MESSAGES/phpmyadmin.mo +0 -0
  1132. data/lib/support/phpmyadmin/phpmyadmin/locale/hu/LC_MESSAGES/phpmyadmin.mo +0 -0
  1133. data/lib/support/phpmyadmin/phpmyadmin/locale/ia/LC_MESSAGES/phpmyadmin.mo +0 -0
  1134. data/lib/support/phpmyadmin/phpmyadmin/locale/id/LC_MESSAGES/phpmyadmin.mo +0 -0
  1135. data/lib/support/phpmyadmin/phpmyadmin/locale/it/LC_MESSAGES/phpmyadmin.mo +0 -0
  1136. data/lib/support/phpmyadmin/phpmyadmin/locale/ja/LC_MESSAGES/phpmyadmin.mo +0 -0
  1137. data/lib/support/phpmyadmin/phpmyadmin/locale/ko/LC_MESSAGES/phpmyadmin.mo +0 -0
  1138. data/lib/support/phpmyadmin/phpmyadmin/locale/lt/LC_MESSAGES/phpmyadmin.mo +0 -0
  1139. data/lib/support/phpmyadmin/phpmyadmin/locale/nb/LC_MESSAGES/phpmyadmin.mo +0 -0
  1140. data/lib/support/phpmyadmin/phpmyadmin/locale/nl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1141. data/lib/support/phpmyadmin/phpmyadmin/locale/pl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1142. data/lib/support/phpmyadmin/phpmyadmin/locale/pt/LC_MESSAGES/phpmyadmin.mo +0 -0
  1143. data/lib/support/phpmyadmin/phpmyadmin/locale/pt_BR/LC_MESSAGES/phpmyadmin.mo +0 -0
  1144. data/lib/support/phpmyadmin/phpmyadmin/locale/ro/LC_MESSAGES/phpmyadmin.mo +0 -0
  1145. data/lib/support/phpmyadmin/phpmyadmin/locale/ru/LC_MESSAGES/phpmyadmin.mo +0 -0
  1146. data/lib/support/phpmyadmin/phpmyadmin/locale/si/LC_MESSAGES/phpmyadmin.mo +0 -0
  1147. data/lib/support/phpmyadmin/phpmyadmin/locale/sk/LC_MESSAGES/phpmyadmin.mo +0 -0
  1148. data/lib/support/phpmyadmin/phpmyadmin/locale/sl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1149. data/lib/support/phpmyadmin/phpmyadmin/locale/sq/LC_MESSAGES/phpmyadmin.mo +0 -0
  1150. data/lib/support/phpmyadmin/phpmyadmin/locale/sr@latin/LC_MESSAGES/phpmyadmin.mo +0 -0
  1151. data/lib/support/phpmyadmin/phpmyadmin/locale/sv/LC_MESSAGES/phpmyadmin.mo +0 -0
  1152. data/lib/support/phpmyadmin/phpmyadmin/locale/tr/LC_MESSAGES/phpmyadmin.mo +0 -0
  1153. data/lib/support/phpmyadmin/phpmyadmin/locale/uk/LC_MESSAGES/phpmyadmin.mo +0 -0
  1154. data/lib/support/phpmyadmin/phpmyadmin/locale/zh_CN/LC_MESSAGES/phpmyadmin.mo +0 -0
  1155. data/lib/support/phpmyadmin/phpmyadmin/locale/zh_TW/LC_MESSAGES/phpmyadmin.mo +0 -0
  1156. data/lib/support/phpmyadmin/phpmyadmin/navigation.php +0 -71
  1157. data/lib/support/phpmyadmin/phpmyadmin/normalization.php +0 -122
  1158. data/lib/support/phpmyadmin/phpmyadmin/phpinfo.php +0 -21
  1159. data/lib/support/phpmyadmin/phpmyadmin/phpmyadmin.css.php +0 -39
  1160. data/lib/support/phpmyadmin/phpmyadmin/phpunit.xml.hhvm +0 -30
  1161. data/lib/support/phpmyadmin/phpmyadmin/phpunit.xml.nocoverage +0 -40
  1162. data/lib/support/phpmyadmin/phpmyadmin/prefs_forms.php +0 -92
  1163. data/lib/support/phpmyadmin/phpmyadmin/prefs_manage.php +0 -375
  1164. data/lib/support/phpmyadmin/phpmyadmin/print.css +0 -92
  1165. data/lib/support/phpmyadmin/phpmyadmin/robots.txt +0 -2
  1166. data/lib/support/phpmyadmin/phpmyadmin/schema_export.php +0 -77
  1167. data/lib/support/phpmyadmin/phpmyadmin/server_binlog.php +0 -54
  1168. data/lib/support/phpmyadmin/phpmyadmin/server_collations.php +0 -39
  1169. data/lib/support/phpmyadmin/phpmyadmin/server_databases.php +0 -118
  1170. data/lib/support/phpmyadmin/phpmyadmin/server_engines.php +0 -34
  1171. data/lib/support/phpmyadmin/phpmyadmin/server_export.php +0 -29
  1172. data/lib/support/phpmyadmin/phpmyadmin/server_import.php +0 -27
  1173. data/lib/support/phpmyadmin/phpmyadmin/server_plugins.php +0 -59
  1174. data/lib/support/phpmyadmin/phpmyadmin/server_privileges.php +0 -410
  1175. data/lib/support/phpmyadmin/phpmyadmin/server_replication.php +0 -83
  1176. data/lib/support/phpmyadmin/phpmyadmin/server_sql.php +0 -32
  1177. data/lib/support/phpmyadmin/phpmyadmin/server_status.php +0 -38
  1178. data/lib/support/phpmyadmin/phpmyadmin/server_status_advisor.php +0 -39
  1179. data/lib/support/phpmyadmin/phpmyadmin/server_status_monitor.php +0 -113
  1180. data/lib/support/phpmyadmin/phpmyadmin/server_status_processes.php +0 -64
  1181. data/lib/support/phpmyadmin/phpmyadmin/server_status_queries.php +0 -54
  1182. data/lib/support/phpmyadmin/phpmyadmin/server_status_variables.php +0 -57
  1183. data/lib/support/phpmyadmin/phpmyadmin/server_user_groups.php +0 -72
  1184. data/lib/support/phpmyadmin/phpmyadmin/server_variables.php +0 -60
  1185. data/lib/support/phpmyadmin/phpmyadmin/setup/ajax.js +0 -11
  1186. data/lib/support/phpmyadmin/phpmyadmin/setup/config.php +0 -81
  1187. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/config.inc.php +0 -52
  1188. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/form.inc.php +0 -36
  1189. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/index.inc.php +0 -313
  1190. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/menu.inc.php +0 -37
  1191. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/servers.inc.php +0 -50
  1192. data/lib/support/phpmyadmin/phpmyadmin/setup/index.php +0 -61
  1193. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/ConfigGenerator.class.php +0 -161
  1194. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/common.inc.php +0 -56
  1195. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/form_processing.lib.php +0 -81
  1196. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/index.lib.php +0 -204
  1197. data/lib/support/phpmyadmin/phpmyadmin/setup/scripts.js +0 -216
  1198. data/lib/support/phpmyadmin/phpmyadmin/setup/styles.css +0 -619
  1199. data/lib/support/phpmyadmin/phpmyadmin/setup/validate.php +0 -32
  1200. data/lib/support/phpmyadmin/phpmyadmin/show_config_errors.php +0 -40
  1201. data/lib/support/phpmyadmin/phpmyadmin/sql/create_tables.sql +0 -323
  1202. data/lib/support/phpmyadmin/phpmyadmin/sql/create_tables_drizzle.sql +0 -275
  1203. data/lib/support/phpmyadmin/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql +0 -47
  1204. data/lib/support/phpmyadmin/phpmyadmin/sql/upgrade_tables_mysql_4_1_2+.sql +0 -144
  1205. data/lib/support/phpmyadmin/phpmyadmin/sql.php +0 -203
  1206. data/lib/support/phpmyadmin/phpmyadmin/tbl_addfield.php +0 -124
  1207. data/lib/support/phpmyadmin/phpmyadmin/tbl_change.php +0 -232
  1208. data/lib/support/phpmyadmin/phpmyadmin/tbl_chart.php +0 -142
  1209. data/lib/support/phpmyadmin/phpmyadmin/tbl_create.php +0 -108
  1210. data/lib/support/phpmyadmin/phpmyadmin/tbl_export.php +0 -107
  1211. data/lib/support/phpmyadmin/phpmyadmin/tbl_find_replace.php +0 -66
  1212. data/lib/support/phpmyadmin/phpmyadmin/tbl_get_field.php +0 -55
  1213. data/lib/support/phpmyadmin/phpmyadmin/tbl_gis_visualization.php +0 -115
  1214. data/lib/support/phpmyadmin/phpmyadmin/tbl_import.php +0 -30
  1215. data/lib/support/phpmyadmin/phpmyadmin/tbl_indexes.php +0 -60
  1216. data/lib/support/phpmyadmin/phpmyadmin/tbl_operations.php +0 -423
  1217. data/lib/support/phpmyadmin/phpmyadmin/tbl_printview.php +0 -74
  1218. data/lib/support/phpmyadmin/phpmyadmin/tbl_recent_favorite.php +0 -19
  1219. data/lib/support/phpmyadmin/phpmyadmin/tbl_relation.php +0 -156
  1220. data/lib/support/phpmyadmin/phpmyadmin/tbl_replace.php +0 -468
  1221. data/lib/support/phpmyadmin/phpmyadmin/tbl_row_action.php +0 -146
  1222. data/lib/support/phpmyadmin/phpmyadmin/tbl_select.php +0 -81
  1223. data/lib/support/phpmyadmin/phpmyadmin/tbl_sql.php +0 -52
  1224. data/lib/support/phpmyadmin/phpmyadmin/tbl_structure.php +0 -210
  1225. data/lib/support/phpmyadmin/phpmyadmin/tbl_tracking.php +0 -209
  1226. data/lib/support/phpmyadmin/phpmyadmin/tbl_triggers.php +0 -10
  1227. data/lib/support/phpmyadmin/phpmyadmin/tbl_zoom_select.php +0 -165
  1228. data/lib/support/phpmyadmin/phpmyadmin/themes/dot.gif +0 -0
  1229. data/lib/support/phpmyadmin/phpmyadmin/themes/original/css/common.css.php +0 -3078
  1230. data/lib/support/phpmyadmin/phpmyadmin/themes/original/css/navigation.css.php +0 -424
  1231. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/ajax_clock_small.gif +0 -0
  1232. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/arrow_ltr.png +0 -0
  1233. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/arrow_rtl.png +0 -0
  1234. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_bookmark.png +0 -0
  1235. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_browse.png +0 -0
  1236. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_calendar.png +0 -0
  1237. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_chart.png +0 -0
  1238. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_close.png +0 -0
  1239. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_column_add.png +0 -0
  1240. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_comment.png +0 -0
  1241. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_dbstatistics.png +0 -0
  1242. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_deltbl.png +0 -0
  1243. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_docs.png +0 -0
  1244. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_drop.png +0 -0
  1245. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_edit.png +0 -0
  1246. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_empty.png +0 -0
  1247. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_engine.png +0 -0
  1248. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_event_add.png +0 -0
  1249. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_events.png +0 -0
  1250. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_export.png +0 -0
  1251. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_favorite.png +0 -0
  1252. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_find_replace.png +0 -0
  1253. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_ftext.png +0 -0
  1254. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_globe.gif +0 -0
  1255. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_group.png +0 -0
  1256. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_help.png +0 -0
  1257. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_home.png +0 -0
  1258. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_import.png +0 -0
  1259. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_index.png +0 -0
  1260. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_index_add.png +0 -0
  1261. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_info.png +0 -0
  1262. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_inline_edit.png +0 -0
  1263. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_insrow.png +0 -0
  1264. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_minus.png +0 -0
  1265. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_more.png +0 -0
  1266. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_move.png +0 -0
  1267. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_newdb.png +0 -0
  1268. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_newtbl.png +0 -0
  1269. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_nextpage.png +0 -0
  1270. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_no_favorite.png +0 -0
  1271. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_plus.png +0 -0
  1272. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_primary.png +0 -0
  1273. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_print.png +0 -0
  1274. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_props.png +0 -0
  1275. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_relations.png +0 -0
  1276. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_report.png +0 -0
  1277. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_routine_add.png +0 -0
  1278. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_routines.png +0 -0
  1279. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_save.png +0 -0
  1280. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_saveimage.png +0 -0
  1281. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sbrowse.png +0 -0
  1282. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_search.png +0 -0
  1283. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_selboard.png +0 -0
  1284. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_select.png +0 -0
  1285. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_snewtbl.png +0 -0
  1286. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_spatial.png +0 -0
  1287. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sql.png +0 -0
  1288. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sqlhelp.png +0 -0
  1289. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_table_add.png +0 -0
  1290. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblanalyse.png +0 -0
  1291. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblexport.png +0 -0
  1292. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblimport.png +0 -0
  1293. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblops.png +0 -0
  1294. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tbloptimize.png +0 -0
  1295. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tipp.png +0 -0
  1296. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_trigger_add.png +0 -0
  1297. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_triggers.png +0 -0
  1298. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_undo.png +0 -0
  1299. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_unique.png +0 -0
  1300. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usradd.png +0 -0
  1301. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrcheck.png +0 -0
  1302. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrdrop.png +0 -0
  1303. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usredit.png +0 -0
  1304. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrlist.png +0 -0
  1305. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_versions.png +0 -0
  1306. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_view.png +0 -0
  1307. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_view_add.png +0 -0
  1308. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_views.png +0 -0
  1309. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_browse.png +0 -0
  1310. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_deltbl.png +0 -0
  1311. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_drop.png +0 -0
  1312. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_edit.png +0 -0
  1313. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_empty.png +0 -0
  1314. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_export.png +0 -0
  1315. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_ftext.png +0 -0
  1316. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_index.png +0 -0
  1317. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_insrow.png +0 -0
  1318. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_nextpage.png +0 -0
  1319. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_primary.png +0 -0
  1320. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_routine_add.png +0 -0
  1321. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_sbrowse.png +0 -0
  1322. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_select.png +0 -0
  1323. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_spatial.png +0 -0
  1324. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_unique.png +0 -0
  1325. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns.png +0 -0
  1326. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns_add.png +0 -0
  1327. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns_delete.png +0 -0
  1328. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/cleardot.gif +0 -0
  1329. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_drop.png +0 -0
  1330. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_pointer.png +0 -0
  1331. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_pointer_ver.png +0 -0
  1332. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/console.png +0 -0
  1333. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/east-mini.png +0 -0
  1334. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/error.ico +0 -0
  1335. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/eye.png +0 -0
  1336. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/eye_grey.png +0 -0
  1337. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/lightbulb.png +0 -0
  1338. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/lightbulb_off.png +0 -0
  1339. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/logo_left.png +0 -0
  1340. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/logo_right.png +0 -0
  1341. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/more.png +0 -0
  1342. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data.png +0 -0
  1343. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_hovered.png +0 -0
  1344. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_selected.png +0 -0
  1345. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_selected_hovered.png +0 -0
  1346. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct.png +0 -0
  1347. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_hovered.png +0 -0
  1348. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_selected.png +0 -0
  1349. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_selected_hovered.png +0 -0
  1350. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/normalize.png +0 -0
  1351. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/north-mini.png +0 -0
  1352. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/pause.png +0 -0
  1353. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/play.png +0 -0
  1354. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_asc.png +0 -0
  1355. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_asci.png +0 -0
  1356. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_attention.png +0 -0
  1357. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_cancel.png +0 -0
  1358. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_cog.png +0 -0
  1359. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_collapseall.png +0 -0
  1360. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_db.png +0 -0
  1361. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_desc.png +0 -0
  1362. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_error.png +0 -0
  1363. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_error2.png +0 -0
  1364. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_fulltext.png +0 -0
  1365. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_host.png +0 -0
  1366. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_info.png +0 -0
  1367. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_lang.png +0 -0
  1368. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_link.png +0 -0
  1369. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_lock.png +0 -0
  1370. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_loggoff.png +0 -0
  1371. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_notice.png +0 -0
  1372. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_partialtext.png +0 -0
  1373. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_passwd.png +0 -0
  1374. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_really.png +0 -0
  1375. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_reload.png +0 -0
  1376. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_replication.png +0 -0
  1377. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_rights.png +0 -0
  1378. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_sortable.png +0 -0
  1379. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_status.png +0 -0
  1380. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_success.png +0 -0
  1381. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_sync.png +0 -0
  1382. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_tbl.png +0 -0
  1383. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_theme.png +0 -0
  1384. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_top.png +0 -0
  1385. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_unlink.png +0 -0
  1386. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_vars.png +0 -0
  1387. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_views.png +0 -0
  1388. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/south-mini.png +0 -0
  1389. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/spacer.png +0 -0
  1390. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/sprites.png +0 -0
  1391. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/toggle-ltr.png +0 -0
  1392. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/toggle-rtl.png +0 -0
  1393. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/vertical_line.png +0 -0
  1394. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/west-mini.png +0 -0
  1395. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/window-new.png +0 -0
  1396. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-minus-mini.png +0 -0
  1397. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-plus-mini.png +0 -0
  1398. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-world-mini.png +0 -0
  1399. data/lib/support/phpmyadmin/phpmyadmin/themes/original/info.inc.php +0 -15
  1400. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1401. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1402. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1403. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1404. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1405. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1406. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1407. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1408. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_222222_256x240.png +0 -0
  1409. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  1410. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_454545_256x240.png +0 -0
  1411. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_888888_256x240.png +0 -0
  1412. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  1413. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/jquery-ui-1.11.2.css +0 -1225
  1414. data/lib/support/phpmyadmin/phpmyadmin/themes/original/layout.inc.php +0 -102
  1415. data/lib/support/phpmyadmin/phpmyadmin/themes/original/screen.png +0 -0
  1416. data/lib/support/phpmyadmin/phpmyadmin/themes/original/sprites.lib.php +0 -720
  1417. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/codemirror.css.php +0 -350
  1418. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/common.css.php +0 -3401
  1419. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/enum_editor.css.php +0 -80
  1420. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/gis.css.php +0 -52
  1421. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/jqplot.css.php +0 -277
  1422. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/navigation.css.php +0 -429
  1423. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/pmd.css.php +0 -605
  1424. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/resizable-menu.css.php +0 -57
  1425. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/rte.css.php +0 -43
  1426. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/ajax_clock_small.gif +0 -0
  1427. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/arrow_ltr.png +0 -0
  1428. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/arrow_rtl.png +0 -0
  1429. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/asc_order.png +0 -0
  1430. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_bookmark.png +0 -0
  1431. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_browse.png +0 -0
  1432. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_calendar.png +0 -0
  1433. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_chart.png +0 -0
  1434. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_close.png +0 -0
  1435. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_column_add.png +0 -0
  1436. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_comment.png +0 -0
  1437. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_dbstatistics.png +0 -0
  1438. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_deltbl.png +0 -0
  1439. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_docs.png +0 -0
  1440. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_docsql.png +0 -0
  1441. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_drop.png +0 -0
  1442. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_edit.png +0 -0
  1443. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_empty.png +0 -0
  1444. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_engine.png +0 -0
  1445. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_event_add.png +0 -0
  1446. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_events.png +0 -0
  1447. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_export.png +0 -0
  1448. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_favorite.png +0 -0
  1449. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_find_replace.png +0 -0
  1450. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_firstpage.png +0 -0
  1451. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_ftext.png +0 -0
  1452. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_globe.gif +0 -0
  1453. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_group.png +0 -0
  1454. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_help.png +0 -0
  1455. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_home.png +0 -0
  1456. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_import.png +0 -0
  1457. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_index.png +0 -0
  1458. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_index_add.png +0 -0
  1459. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_info.png +0 -0
  1460. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_inline_edit.png +0 -0
  1461. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_insrow.png +0 -0
  1462. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_lastpage.png +0 -0
  1463. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_minus.png +0 -0
  1464. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_more.png +0 -0
  1465. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_move.png +0 -0
  1466. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_newdb.png +0 -0
  1467. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_newtbl.png +0 -0
  1468. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_nextpage.png +0 -0
  1469. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_no_favorite.png +0 -0
  1470. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_pdfdoc.png +0 -0
  1471. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_plus.png +0 -0
  1472. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_prevpage.png +0 -0
  1473. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_primary.png +0 -0
  1474. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_print.png +0 -0
  1475. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_props.png +0 -0
  1476. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_relations.png +0 -0
  1477. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_report.png +0 -0
  1478. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_routine_add.png +0 -0
  1479. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_routines.png +0 -0
  1480. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_save.png +0 -0
  1481. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_saveimage.png +0 -0
  1482. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sbrowse.png +0 -0
  1483. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sdb.png +0 -0
  1484. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_search.png +0 -0
  1485. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_selboard.png +0 -0
  1486. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_select.png +0 -0
  1487. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_snewtbl.png +0 -0
  1488. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_spatial.png +0 -0
  1489. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sql.png +0 -0
  1490. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sqldoc.png +0 -0
  1491. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sqlhelp.png +0 -0
  1492. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_table_add.png +0 -0
  1493. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblanalyse.png +0 -0
  1494. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblexport.png +0 -0
  1495. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblimport.png +0 -0
  1496. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblops.png +0 -0
  1497. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tbloptimize.png +0 -0
  1498. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tipp.png +0 -0
  1499. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_trigger_add.png +0 -0
  1500. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_triggers.png +0 -0
  1501. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_undo.png +0 -0
  1502. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_unique.png +0 -0
  1503. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usradd.png +0 -0
  1504. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrcheck.png +0 -0
  1505. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrdrop.png +0 -0
  1506. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usredit.png +0 -0
  1507. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrlist.png +0 -0
  1508. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_versions.png +0 -0
  1509. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_view.png +0 -0
  1510. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_view_add.png +0 -0
  1511. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_views.png +0 -0
  1512. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_browse.png +0 -0
  1513. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_deltbl.png +0 -0
  1514. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_drop.png +0 -0
  1515. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_edit.png +0 -0
  1516. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_empty.png +0 -0
  1517. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_export.png +0 -0
  1518. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_firstpage.png +0 -0
  1519. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_ftext.png +0 -0
  1520. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_index.png +0 -0
  1521. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_insrow.png +0 -0
  1522. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_lastpage.png +0 -0
  1523. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_nextpage.png +0 -0
  1524. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_prevpage.png +0 -0
  1525. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_primary.png +0 -0
  1526. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_routine_add.png +0 -0
  1527. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_sbrowse.png +0 -0
  1528. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_select.png +0 -0
  1529. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_spatial.png +0 -0
  1530. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_unique.png +0 -0
  1531. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns.png +0 -0
  1532. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns_add.png +0 -0
  1533. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns_delete.png +0 -0
  1534. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_drop.png +0 -0
  1535. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_pointer.png +0 -0
  1536. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_pointer_ver.png +0 -0
  1537. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/console.png +0 -0
  1538. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/database.png +0 -0
  1539. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/east-mini.png +0 -0
  1540. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/error.ico +0 -0
  1541. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/eye.png +0 -0
  1542. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/eye_grey.png +0 -0
  1543. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/item.png +0 -0
  1544. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/left_nav_bg.png +0 -0
  1545. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/lightbulb.png +0 -0
  1546. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/lightbulb_off.png +0 -0
  1547. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/logo_left.png +0 -0
  1548. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/logo_right.png +0 -0
  1549. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/more.png +0 -0
  1550. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data.png +0 -0
  1551. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_hovered.png +0 -0
  1552. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_selected.png +0 -0
  1553. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_selected_hovered.png +0 -0
  1554. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct.png +0 -0
  1555. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_hovered.png +0 -0
  1556. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_selected.png +0 -0
  1557. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_selected_hovered.png +0 -0
  1558. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/normalize.png +0 -0
  1559. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/north-mini.png +0 -0
  1560. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pause.png +0 -0
  1561. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/php_sym.png +0 -0
  1562. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/play.png +0 -0
  1563. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pma_logo2.png +0 -0
  1564. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/1.png +0 -0
  1565. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2.png +0 -0
  1566. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2leftarrow.png +0 -0
  1567. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2leftarrow_m.png +0 -0
  1568. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2rightarrow.png +0 -0
  1569. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2rightarrow_m.png +0 -0
  1570. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/3.png +0 -0
  1571. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/4.png +0 -0
  1572. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/5.png +0 -0
  1573. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/6.png +0 -0
  1574. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/7.png +0 -0
  1575. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/8.png +0 -0
  1576. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/FieldKey_small.png +0 -0
  1577. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small.png +0 -0
  1578. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_char.png +0 -0
  1579. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_date.png +0 -0
  1580. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_int.png +0 -0
  1581. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Header.png +0 -0
  1582. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Header_Linked.png +0 -0
  1583. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/anchor.png +0 -0
  1584. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/and_icon.png +0 -0
  1585. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/ang_direct.png +0 -0
  1586. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/bord.png +0 -0
  1587. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/bottom.png +0 -0
  1588. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/def.png +0 -0
  1589. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/display_field.png +0 -0
  1590. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow1.png +0 -0
  1591. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow2.png +0 -0
  1592. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow2_m.png +0 -0
  1593. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exec.png +0 -0
  1594. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exec_small.png +0 -0
  1595. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exitFullscreen.png +0 -0
  1596. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/export.png +0 -0
  1597. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/favicon.ico +0 -0
  1598. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/grid.png +0 -0
  1599. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/help.png +0 -0
  1600. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/help_relation.png +0 -0
  1601. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/left_panel_butt.png +0 -0
  1602. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/left_panel_tab.png +0 -0
  1603. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/minus.png +0 -0
  1604. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/or_icon.png +0 -0
  1605. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_add.png +0 -0
  1606. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_delete.png +0 -0
  1607. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_edit.png +0 -0
  1608. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/pdf.png +0 -0
  1609. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/plus.png +0 -0
  1610. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/query_builder.png +0 -0
  1611. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/relation.png +0 -0
  1612. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/reload.png +0 -0
  1613. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/resize.png +0 -0
  1614. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/resizeright.png +0 -0
  1615. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/rightarrow1.png +0 -0
  1616. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/rightarrow2.png +0 -0
  1617. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/save.png +0 -0
  1618. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/save_as.png +0 -0
  1619. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/small_tab.png +0 -0
  1620. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/table.png +0 -0
  1621. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/toggle_lines.png +0 -0
  1622. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/top_panel.png +0 -0
  1623. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/uparrow2_m.png +0 -0
  1624. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/viewInFullscreen.png +0 -0
  1625. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_asc.png +0 -0
  1626. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_asci.png +0 -0
  1627. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_attention.png +0 -0
  1628. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cancel.png +0 -0
  1629. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cancel2.png +0 -0
  1630. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cog.png +0 -0
  1631. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_collapseall.png +0 -0
  1632. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_db.png +0 -0
  1633. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_desc.png +0 -0
  1634. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_error.png +0 -0
  1635. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_error2.png +0 -0
  1636. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_fulltext.png +0 -0
  1637. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_host.png +0 -0
  1638. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_info.png +0 -0
  1639. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_lang.png +0 -0
  1640. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_link.png +0 -0
  1641. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_lock.png +0 -0
  1642. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_loggoff.png +0 -0
  1643. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_notice.png +0 -0
  1644. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_okay.png +0 -0
  1645. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_partialtext.png +0 -0
  1646. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_passwd.png +0 -0
  1647. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_process.png +0 -0
  1648. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_really.png +0 -0
  1649. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_reload.png +0 -0
  1650. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_replication.png +0 -0
  1651. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_rights.png +0 -0
  1652. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_sortable.png +0 -0
  1653. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_status.png +0 -0
  1654. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_success.png +0 -0
  1655. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_sync.png +0 -0
  1656. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_tbl.png +0 -0
  1657. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_theme.png +0 -0
  1658. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_top.png +0 -0
  1659. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_unlink.png +0 -0
  1660. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_vars.png +0 -0
  1661. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_views.png +0 -0
  1662. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/select_bg.png +0 -0
  1663. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/south-mini.png +0 -0
  1664. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/spacer.png +0 -0
  1665. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/sprites.png +0 -0
  1666. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/toggle-ltr.png +0 -0
  1667. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/toggle-rtl.png +0 -0
  1668. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/vertical_line.png +0 -0
  1669. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/west-mini.png +0 -0
  1670. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/window-new.png +0 -0
  1671. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-minus-mini.png +0 -0
  1672. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-plus-mini.png +0 -0
  1673. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-world-mini.png +0 -0
  1674. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/info.inc.php +0 -21
  1675. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1676. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1677. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1678. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1679. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1680. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1681. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1682. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1683. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_222222_256x240.png +0 -0
  1684. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  1685. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_454545_256x240.png +0 -0
  1686. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_888888_256x240.png +0 -0
  1687. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  1688. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/jquery-ui-1.11.2.css +0 -1225
  1689. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/layout.inc.php +0 -104
  1690. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/screen.png +0 -0
  1691. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/sprites.lib.php +0 -805
  1692. data/lib/support/phpmyadmin/phpmyadmin/themes/sprites.css.php +0 -60
  1693. data/lib/support/phpmyadmin/phpmyadmin/themes/svg_gradient.php +0 -53
  1694. data/lib/support/phpmyadmin/phpmyadmin/themes.php +0 -32
  1695. data/lib/support/phpmyadmin/phpmyadmin/transformation_overview.php +0 -74
  1696. data/lib/support/phpmyadmin/phpmyadmin/transformation_wrapper.php +0 -148
  1697. data/lib/support/phpmyadmin/phpmyadmin/url.php +0 -38
  1698. data/lib/support/phpmyadmin/phpmyadmin/user_password.php +0 -200
  1699. data/lib/support/phpmyadmin/phpmyadmin/version_check.php +0 -30
  1700. data/lib/support/phpmyadmin/phpmyadmin/view_create.php +0 -291
  1701. data/lib/support/phpmyadmin/phpmyadmin/view_operations.php +0 -139
  1702. data/lib/support/phpmyadmin/phpmyadmin/webapp.php +0 -55
@@ -1,4692 +0,0 @@
1
- <?php
2
- /* vim: set expandtab sw=4 ts=4 sts=4: */
3
- /**
4
- * set of functions with the Privileges section in pma
5
- *
6
- * @package PhpMyAdmin
7
- */
8
-
9
- if (! defined('PHPMYADMIN')) {
10
- exit;
11
- }
12
-
13
- /**
14
- * Get Html for User Group Dialog
15
- *
16
- * @param string $username username
17
- * @param bool $is_menuswork Is menuswork set in configuration
18
- *
19
- * @return string html
20
- */
21
- function PMA_getHtmlForUserGroupDialog($username, $is_menuswork)
22
- {
23
- $html = '';
24
- if (! empty($_REQUEST['edit_user_group_dialog']) && $is_menuswork) {
25
- $dialog = PMA_getHtmlToChooseUserGroup($username);
26
- $response = PMA_Response::getInstance();
27
- if ($GLOBALS['is_ajax_request']) {
28
- $response->addJSON('message', $dialog);
29
- exit;
30
- } else {
31
- $html .= $dialog;
32
- }
33
- }
34
-
35
- return $html;
36
- }
37
-
38
- /**
39
- * Escapes wildcard in a database+table specification
40
- * before using it in a GRANT statement.
41
- *
42
- * Escaping a wildcard character in a GRANT is only accepted at the global
43
- * or database level, not at table level; this is why I remove
44
- * the escaping character. Internally, in mysql.tables_priv.Db there are
45
- * no escaping (for example test_db) but in mysql.db you'll see test\_db
46
- * for a db-specific privilege.
47
- *
48
- * @param string $dbname Database name
49
- * @param string $tablename Table name
50
- *
51
- * @return string the escaped (if necessary) database.table
52
- */
53
- function PMA_wildcardEscapeForGrant($dbname, $tablename)
54
- {
55
- if (!/*overload*/mb_strlen($dbname)) {
56
- $db_and_table = '*.*';
57
- } else {
58
- if (/*overload*/mb_strlen($tablename)) {
59
- $db_and_table = PMA_Util::backquote(
60
- PMA_Util::unescapeMysqlWildcards($dbname)
61
- )
62
- . '.' . PMA_Util::backquote($tablename);
63
- } else {
64
- $db_and_table = PMA_Util::backquote($dbname) . '.*';
65
- }
66
- }
67
- return $db_and_table;
68
- }
69
-
70
- /**
71
- * Generates a condition on the user name
72
- *
73
- * @param string $initial the user's initial
74
- *
75
- * @return string the generated condition
76
- */
77
- function PMA_rangeOfUsers($initial = '')
78
- {
79
- // strtolower() is used because the User field
80
- // might be BINARY, so LIKE would be case sensitive
81
- if ($initial === null || $initial === '') {
82
- return '';
83
- }
84
-
85
- $ret = " WHERE `User` LIKE '"
86
- . PMA_Util::sqlAddSlashes($initial, true) . "%'"
87
- . " OR `User` LIKE '"
88
- . PMA_Util::sqlAddSlashes(/*overload*/mb_strtolower($initial), true)
89
- . "%'";
90
- return $ret;
91
- } // end function
92
-
93
- /**
94
- * Formats privilege name for a display
95
- *
96
- * @param array $privilege Privilege information
97
- * @param boolean $html Whether to use HTML
98
- *
99
- * @return string
100
- */
101
- function PMA_formatPrivilege($privilege, $html)
102
- {
103
- if ($html) {
104
- return '<dfn title="' . $privilege[2] . '">'
105
- . $privilege[1] . '</dfn>';
106
- } else {
107
- return $privilege[1];
108
- }
109
- }
110
-
111
- /**
112
- * Parses privileges into an array, it modifies the array
113
- *
114
- * @param array &$row Results row from
115
- *
116
- * @return void
117
- */
118
- function PMA_fillInTablePrivileges(&$row)
119
- {
120
- $row1 = $GLOBALS['dbi']->fetchSingleRow(
121
- 'SHOW COLUMNS FROM `mysql`.`tables_priv` LIKE \'Table_priv\';',
122
- 'ASSOC', $GLOBALS['userlink']
123
- );
124
- // note: in MySQL 5.0.3 we get "Create View', 'Show view';
125
- // the View for Create is spelled with uppercase V
126
- // the view for Show is spelled with lowercase v
127
- // and there is a space between the words
128
-
129
- $av_grants = explode(
130
- '\',\'',
131
- /*overload*/mb_substr(
132
- $row1['Type'],
133
- /*overload*/mb_strpos($row1['Type'], '(') + 2,
134
- /*overload*/mb_strpos($row1['Type'], ')')
135
- - /*overload*/mb_strpos($row1['Type'], '(') - 3
136
- )
137
- );
138
-
139
- $users_grants = explode(',', $row['Table_priv']);
140
-
141
- foreach ($av_grants as $current_grant) {
142
- $row[$current_grant . '_priv']
143
- = in_array($current_grant, $users_grants) ? 'Y' : 'N';
144
- }
145
- unset($row['Table_priv']);
146
- }
147
-
148
-
149
- /**
150
- * Extracts the privilege information of a priv table row
151
- *
152
- * @param array|null $row the row
153
- * @param boolean $enableHTML add <dfn> tag with tooltips
154
- * @param boolean $tablePrivs whether row contains table privileges
155
- *
156
- * @global resource $user_link the database connection
157
- *
158
- * @return array
159
- */
160
- function PMA_extractPrivInfo($row = null, $enableHTML = false, $tablePrivs = false)
161
- {
162
- if ($tablePrivs) {
163
- $grants = PMA_getTableGrantsArray();
164
- } else {
165
- $grants = PMA_getGrantsArray();
166
- }
167
-
168
- if (! is_null($row) && isset($row['Table_priv'])) {
169
- PMA_fillInTablePrivileges($row);
170
- }
171
-
172
- $privs = array();
173
- $allPrivileges = true;
174
- foreach ($grants as $current_grant) {
175
- if ((! is_null($row) && isset($row[$current_grant[0]]))
176
- || (is_null($row) && isset($GLOBALS[$current_grant[0]]))
177
- ) {
178
- if ((! is_null($row) && $row[$current_grant[0]] == 'Y')
179
- || (is_null($row)
180
- && ($GLOBALS[$current_grant[0]] == 'Y'
181
- || (is_array($GLOBALS[$current_grant[0]])
182
- && count($GLOBALS[$current_grant[0]]) == $_REQUEST['column_count']
183
- && empty($GLOBALS[$current_grant[0] . '_none']))))
184
- ) {
185
- $privs[] = PMA_formatPrivilege($current_grant, $enableHTML);
186
- } elseif (! empty($GLOBALS[$current_grant[0]])
187
- && is_array($GLOBALS[$current_grant[0]])
188
- && empty($GLOBALS[$current_grant[0] . '_none'])
189
- ) {
190
- $privs[] = PMA_formatPrivilege($current_grant, $enableHTML)
191
- . ' (`' . join('`, `', $GLOBALS[$current_grant[0]]) . '`)';
192
- } else {
193
- $allPrivileges = false;
194
- }
195
- }
196
- }
197
- if (empty($privs)) {
198
- if ($enableHTML) {
199
- $privs[] = '<dfn title="' . __('No privileges.') . '">USAGE</dfn>';
200
- } else {
201
- $privs[] = 'USAGE';
202
- }
203
- } elseif ($allPrivileges
204
- && (! isset($_POST['grant_count']) || count($privs) == $_POST['grant_count'])
205
- ) {
206
- if ($enableHTML) {
207
- $privs = array('<dfn title="'
208
- . __('Includes all privileges except GRANT.')
209
- . '">ALL PRIVILEGES</dfn>'
210
- );
211
- } else {
212
- $privs = array('ALL PRIVILEGES');
213
- }
214
- }
215
- return $privs;
216
- } // end of the 'PMA_extractPrivInfo()' function
217
-
218
- /**
219
- * Returns an array of table grants and their descriptions
220
- *
221
- * @return array array of table grants
222
- */
223
- function PMA_getTableGrantsArray()
224
- {
225
- return array(
226
- array(
227
- 'Delete',
228
- 'DELETE',
229
- $GLOBALS['strPrivDescDelete']
230
- ),
231
- array(
232
- 'Create',
233
- 'CREATE',
234
- $GLOBALS['strPrivDescCreateTbl']
235
- ),
236
- array(
237
- 'Drop',
238
- 'DROP',
239
- $GLOBALS['strPrivDescDropTbl']
240
- ),
241
- array(
242
- 'Index',
243
- 'INDEX',
244
- $GLOBALS['strPrivDescIndex']
245
- ),
246
- array(
247
- 'Alter',
248
- 'ALTER',
249
- $GLOBALS['strPrivDescAlter']
250
- ),
251
- array(
252
- 'Create View',
253
- 'CREATE_VIEW',
254
- $GLOBALS['strPrivDescCreateView']
255
- ),
256
- array(
257
- 'Show view',
258
- 'SHOW_VIEW',
259
- $GLOBALS['strPrivDescShowView']
260
- ),
261
- array(
262
- 'Trigger',
263
- 'TRIGGER',
264
- $GLOBALS['strPrivDescTrigger']
265
- ),
266
- );
267
- }
268
-
269
- /**
270
- * Get the grants array which contains all the privilege types
271
- * and relevant grant messages
272
- *
273
- * @return array
274
- */
275
- function PMA_getGrantsArray()
276
- {
277
- return array(
278
- array(
279
- 'Select_priv',
280
- 'SELECT',
281
- __('Allows reading data.')
282
- ),
283
- array(
284
- 'Insert_priv',
285
- 'INSERT',
286
- __('Allows inserting and replacing data.')
287
- ),
288
- array(
289
- 'Update_priv',
290
- 'UPDATE',
291
- __('Allows changing data.')
292
- ),
293
- array(
294
- 'Delete_priv',
295
- 'DELETE',
296
- __('Allows deleting data.')
297
- ),
298
- array(
299
- 'Create_priv',
300
- 'CREATE',
301
- __('Allows creating new databases and tables.')
302
- ),
303
- array(
304
- 'Drop_priv',
305
- 'DROP',
306
- __('Allows dropping databases and tables.')
307
- ),
308
- array(
309
- 'Reload_priv',
310
- 'RELOAD',
311
- __('Allows reloading server settings and flushing the server\'s caches.')
312
- ),
313
- array(
314
- 'Shutdown_priv',
315
- 'SHUTDOWN',
316
- __('Allows shutting down the server.')
317
- ),
318
- array(
319
- 'Process_priv',
320
- 'PROCESS',
321
- __('Allows viewing processes of all users.')
322
- ),
323
- array(
324
- 'File_priv',
325
- 'FILE',
326
- __('Allows importing data from and exporting data into files.')
327
- ),
328
- array(
329
- 'References_priv',
330
- 'REFERENCES',
331
- __('Has no effect in this MySQL version.')
332
- ),
333
- array(
334
- 'Index_priv',
335
- 'INDEX',
336
- __('Allows creating and dropping indexes.')
337
- ),
338
- array(
339
- 'Alter_priv',
340
- 'ALTER',
341
- __('Allows altering the structure of existing tables.')
342
- ),
343
- array(
344
- 'Show_db_priv',
345
- 'SHOW DATABASES',
346
- __('Gives access to the complete list of databases.')
347
- ),
348
- array(
349
- 'Super_priv',
350
- 'SUPER',
351
- __(
352
- 'Allows connecting, even if maximum number of connections '
353
- . 'is reached; required for most administrative operations '
354
- . 'like setting global variables or killing threads of other users.'
355
- )
356
- ),
357
- array(
358
- 'Create_tmp_table_priv',
359
- 'CREATE TEMPORARY TABLES',
360
- __('Allows creating temporary tables.')
361
- ),
362
- array(
363
- 'Lock_tables_priv',
364
- 'LOCK TABLES',
365
- __('Allows locking tables for the current thread.')
366
- ),
367
- array(
368
- 'Repl_slave_priv',
369
- 'REPLICATION SLAVE',
370
- __('Needed for the replication slaves.')
371
- ),
372
- array(
373
- 'Repl_client_priv',
374
- 'REPLICATION CLIENT',
375
- __('Allows the user to ask where the slaves / masters are.')
376
- ),
377
- array(
378
- 'Create_view_priv',
379
- 'CREATE VIEW',
380
- __('Allows creating new views.')
381
- ),
382
- array(
383
- 'Event_priv',
384
- 'EVENT',
385
- __('Allows to set up events for the event scheduler.')
386
- ),
387
- array(
388
- 'Trigger_priv',
389
- 'TRIGGER',
390
- __('Allows creating and dropping triggers.')
391
- ),
392
- // for table privs:
393
- array(
394
- 'Create View_priv',
395
- 'CREATE VIEW',
396
- __('Allows creating new views.')
397
- ),
398
- array(
399
- 'Show_view_priv',
400
- 'SHOW VIEW',
401
- __('Allows performing SHOW CREATE VIEW queries.')
402
- ),
403
- // for table privs:
404
- array(
405
- 'Show view_priv',
406
- 'SHOW VIEW',
407
- __('Allows performing SHOW CREATE VIEW queries.')
408
- ),
409
- array(
410
- 'Create_routine_priv',
411
- 'CREATE ROUTINE',
412
- __('Allows creating stored routines.')
413
- ),
414
- array(
415
- 'Alter_routine_priv',
416
- 'ALTER ROUTINE',
417
- __('Allows altering and dropping stored routines.')
418
- ),
419
- array(
420
- 'Create_user_priv',
421
- 'CREATE USER',
422
- __('Allows creating, dropping and renaming user accounts.')
423
- ),
424
- array(
425
- 'Execute_priv',
426
- 'EXECUTE',
427
- __('Allows executing stored routines.')
428
- ),
429
- );
430
- }
431
-
432
- /**
433
- * Displays on which column(s) a table-specific privilege is granted
434
- *
435
- * @param array $columns columns array
436
- * @param array $row first row from result or boolean false
437
- * @param string $name_for_select privilege types - Select_priv, Insert_priv
438
- * Update_priv, References_priv
439
- * @param string $priv_for_header privilege for header
440
- * @param string $name privilege name: insert, select, update, references
441
- * @param string $name_for_dfn name for dfn
442
- * @param string $name_for_current name for current
443
- *
444
- * @return string $html_output html snippet
445
- */
446
- function PMA_getHtmlForColumnPrivileges($columns, $row, $name_for_select,
447
- $priv_for_header, $name, $name_for_dfn, $name_for_current
448
- ) {
449
- $html_output = '<div class="item" id="div_item_' . $name . '">' . "\n"
450
- . '<label for="select_' . $name . '_priv">' . "\n"
451
- . '<code><dfn title="' . $name_for_dfn . '">'
452
- . $priv_for_header . '</dfn></code>' . "\n"
453
- . '</label><br />' . "\n"
454
- . '<select id="select_' . $name . '_priv" name="'
455
- . $name_for_select . '[]" multiple="multiple" size="8">' . "\n";
456
-
457
- foreach ($columns as $currCol => $currColPrivs) {
458
- $html_output .= '<option '
459
- . 'value="' . htmlspecialchars($currCol) . '"';
460
- if ($row[$name_for_select] == 'Y'
461
- || $currColPrivs[$name_for_current]
462
- ) {
463
- $html_output .= ' selected="selected"';
464
- }
465
- $html_output .= '>'
466
- . htmlspecialchars($currCol) . '</option>' . "\n";
467
- }
468
-
469
- $html_output .= '</select>' . "\n"
470
- . '<i>' . __('Or') . '</i>' . "\n"
471
- . '<label for="checkbox_' . $name_for_select
472
- . '_none"><input type="checkbox"'
473
- . ' name="' . $name_for_select . '_none" id="checkbox_'
474
- . $name_for_select . '_none" title="'
475
- . _pgettext('None privileges', 'None') . '" />'
476
- . _pgettext('None privileges', 'None') . '</label>' . "\n"
477
- . '</div>' . "\n";
478
- return $html_output;
479
- } // end function
480
-
481
- /**
482
- * Get sql query for display privileges table
483
- *
484
- * @param string $db the database
485
- * @param string $table the table
486
- * @param string $username username for database connection
487
- * @param string $hostname hostname for database connection
488
- *
489
- * @return string sql query
490
- */
491
- function PMA_getSqlQueryForDisplayPrivTable($db, $table, $username, $hostname)
492
- {
493
- if ($db == '*') {
494
- return "SELECT * FROM `mysql`.`user`"
495
- . " WHERE `User` = '" . PMA_Util::sqlAddSlashes($username) . "'"
496
- . " AND `Host` = '" . PMA_Util::sqlAddSlashes($hostname) . "';";
497
- } elseif ($table == '*') {
498
- return "SELECT * FROM `mysql`.`db`"
499
- . " WHERE `User` = '" . PMA_Util::sqlAddSlashes($username) . "'"
500
- . " AND `Host` = '" . PMA_Util::sqlAddSlashes($hostname) . "'"
501
- . " AND '" . PMA_Util::unescapeMysqlWildcards($db) . "'"
502
- . " LIKE `Db`;";
503
- }
504
- return "SELECT `Table_priv`"
505
- . " FROM `mysql`.`tables_priv`"
506
- . " WHERE `User` = '" . PMA_Util::sqlAddSlashes($username) . "'"
507
- . " AND `Host` = '" . PMA_Util::sqlAddSlashes($hostname) . "'"
508
- . " AND `Db` = '" . PMA_Util::unescapeMysqlWildcards($db) . "'"
509
- . " AND `Table_name` = '" . PMA_Util::sqlAddSlashes($table) . "';";
510
- }
511
-
512
- /**
513
- * Displays a dropdown to select the user group
514
- * with menu items configured to each of them.
515
- *
516
- * @param string $username username
517
- *
518
- * @return string html to select the user group
519
- */
520
- function PMA_getHtmlToChooseUserGroup($username)
521
- {
522
- $html_output = '<form class="ajax" id="changeUserGroupForm"'
523
- . ' action="server_privileges.php" method="post">';
524
- $params = array('username' => $username);
525
- $html_output .= PMA_URL_getHiddenInputs($params);
526
- $html_output .= '<fieldset id="fieldset_user_group_selection">';
527
- $html_output .= '<legend>' . __('User group') . '</legend>';
528
-
529
- $cfgRelation = PMA_getRelationsParam();
530
- $groupTable = PMA_Util::backquote($cfgRelation['db'])
531
- . "." . PMA_Util::backquote($cfgRelation['usergroups']);
532
- $userTable = PMA_Util::backquote($cfgRelation['db'])
533
- . "." . PMA_Util::backquote($cfgRelation['users']);
534
-
535
- $userGroups = array();
536
- $sql_query = "SELECT DISTINCT `usergroup` FROM " . $groupTable;
537
- $result = PMA_queryAsControlUser($sql_query, false);
538
- if ($result) {
539
- while ($row = $GLOBALS['dbi']->fetchRow($result)) {
540
- $userGroups[] = $row[0];
541
- }
542
- }
543
- $GLOBALS['dbi']->freeResult($result);
544
-
545
- $userGroup = '';
546
- if (isset($GLOBALS['username'])) {
547
- $sql_query = "SELECT `usergroup` FROM " . $userTable
548
- . " WHERE `username` = '" . PMA_Util::sqlAddSlashes($username) . "'";
549
- $userGroup = $GLOBALS['dbi']->fetchValue(
550
- $sql_query, 0, 0, $GLOBALS['controllink']
551
- );
552
- }
553
-
554
- $html_output .= __('User group') . ': ';
555
- $html_output .= '<select name="userGroup">';
556
- $html_output .= '<option value=""></option>';
557
- foreach ($userGroups as $oneUserGroup) {
558
- $html_output .= '<option value="' . htmlspecialchars($oneUserGroup) . '"'
559
- . ($oneUserGroup == $userGroup ? ' selected="selected"' : '')
560
- . '>'
561
- . htmlspecialchars($oneUserGroup)
562
- . '</option>';
563
- }
564
- $html_output .= '</select>';
565
- $html_output .= '<input type="hidden" name="changeUserGroup" value="1">';
566
- $html_output .= '</fieldset>';
567
- $html_output .= '</form>';
568
- return $html_output;
569
- }
570
-
571
- /**
572
- * Sets the user group from request values
573
- *
574
- * @param string $username username
575
- * @param string $userGroup user group to set
576
- *
577
- * @return void
578
- */
579
- function PMA_setUserGroup($username, $userGroup)
580
- {
581
- $cfgRelation = PMA_getRelationsParam();
582
- $userTable = PMA_Util::backquote($cfgRelation['db'])
583
- . "." . PMA_Util::backquote($cfgRelation['users']);
584
-
585
- $sql_query = "SELECT `usergroup` FROM " . $userTable
586
- . " WHERE `username` = '" . PMA_Util::sqlAddSlashes($username) . "'";
587
- $oldUserGroup = $GLOBALS['dbi']->fetchValue(
588
- $sql_query, 0, 0, $GLOBALS['controllink']
589
- );
590
-
591
- if ($oldUserGroup === false) {
592
- $upd_query = "INSERT INTO " . $userTable . "(`username`, `usergroup`)"
593
- . " VALUES ('" . PMA_Util::sqlAddSlashes($username) . "', "
594
- . "'" . PMA_Util::sqlAddSlashes($userGroup) . "')";
595
- } else {
596
- if (empty($userGroup)) {
597
- $upd_query = "DELETE FROM " . $userTable
598
- . " WHERE `username`='" . PMA_Util::sqlAddSlashes($username) . "'";
599
- } elseif ($oldUserGroup != $userGroup) {
600
- $upd_query = "UPDATE " . $userTable
601
- . " SET `usergroup`='" . PMA_Util::sqlAddSlashes($userGroup) . "'"
602
- . " WHERE `username`='" . PMA_Util::sqlAddSlashes($username) . "'";
603
- }
604
- }
605
- if (isset($upd_query)) {
606
- PMA_queryAsControlUser($upd_query);
607
- }
608
- }
609
-
610
- /**
611
- * Displays the privileges form table
612
- *
613
- * @param string $db the database
614
- * @param string $table the table
615
- * @param boolean $submit whether to display the submit button or not
616
- *
617
- * @global array $cfg the phpMyAdmin configuration
618
- * @global resource $user_link the database connection
619
- *
620
- * @return string html snippet
621
- */
622
- function PMA_getHtmlToDisplayPrivilegesTable($db = '*',
623
- $table = '*', $submit = true
624
- ) {
625
- $html_output = '';
626
- $sql_query = '';
627
-
628
- if ($db == '*') {
629
- $table = '*';
630
- }
631
-
632
- if (isset($GLOBALS['username'])) {
633
- $username = $GLOBALS['username'];
634
- $hostname = $GLOBALS['hostname'];
635
- $sql_query = PMA_getSqlQueryForDisplayPrivTable(
636
- $db, $table, $username, $hostname
637
- );
638
- $row = $GLOBALS['dbi']->fetchSingleRow($sql_query);
639
- }
640
- if (empty($row)) {
641
- if ($table == '*' && $GLOBALS['is_superuser']) {
642
- if ($db == '*') {
643
- $sql_query = 'SHOW COLUMNS FROM `mysql`.`user`;';
644
- } elseif ($table == '*') {
645
- $sql_query = 'SHOW COLUMNS FROM `mysql`.`db`;';
646
- }
647
- $res = $GLOBALS['dbi']->query($sql_query);
648
- while ($row1 = $GLOBALS['dbi']->fetchRow($res)) {
649
- if (mb_substr($row1[0], 0, 4) == 'max_') {
650
- $row[$row1[0]] = 0;
651
- } elseif (mb_substr($row1[0], 0, 5) == 'x509_'
652
- || mb_substr($row1[0], 0, 4) == 'ssl_'
653
- ) {
654
- $row[$row1[0]] = '';
655
- } else {
656
- $row[$row1[0]] = 'N';
657
- }
658
- }
659
- $GLOBALS['dbi']->freeResult($res);
660
- } elseif ($table == '*') {
661
- $row = array();
662
- } else {
663
- $row = array('Table_priv' => '');
664
- }
665
- }
666
- if (isset($row['Table_priv'])) {
667
- PMA_fillInTablePrivileges($row);
668
-
669
- // get columns
670
- $res = $GLOBALS['dbi']->tryQuery(
671
- 'SHOW COLUMNS FROM '
672
- . PMA_Util::backquote(
673
- PMA_Util::unescapeMysqlWildcards($db)
674
- )
675
- . '.' . PMA_Util::backquote($table) . ';'
676
- );
677
- $columns = array();
678
- if ($res) {
679
- while ($row1 = $GLOBALS['dbi']->fetchRow($res)) {
680
- $columns[$row1[0]] = array(
681
- 'Select' => false,
682
- 'Insert' => false,
683
- 'Update' => false,
684
- 'References' => false
685
- );
686
- }
687
- $GLOBALS['dbi']->freeResult($res);
688
- }
689
- unset($res, $row1);
690
- }
691
- // table-specific privileges
692
- if (! empty($columns)) {
693
- $html_output .= PMA_getHtmlForTableSpecificPrivileges(
694
- $username, $hostname, $db, $table, $columns, $row
695
- );
696
- } else {
697
- // global or db-specific
698
- $html_output .= PMA_getHtmlForGlobalOrDbSpecificPrivs($db, $table, $row);
699
- }
700
- $html_output .= '</fieldset>' . "\n";
701
- if ($submit) {
702
- $html_output .= '<fieldset id="fieldset_user_privtable_footer" '
703
- . 'class="tblFooters">' . "\n"
704
- . '<input type="hidden" name="update_privs" value="1" />' . "\n"
705
- . '<input type="submit" value="' . __('Go') . '" />' . "\n"
706
- . '</fieldset>' . "\n";
707
- }
708
- return $html_output;
709
- } // end of the 'PMA_displayPrivTable()' function
710
-
711
- /**
712
- * Get HTML for "Require"
713
- *
714
- * @param array $row privilege array
715
- *
716
- * @return string html snippet
717
- */
718
- function PMA_getHtmlForRequires($row)
719
- {
720
- $html_output = '<fieldset>';
721
-
722
- $html_output .= '<legend>';
723
- $html_output .= '<input type="checkbox" name="SSL_priv" id="checkbox_SSL_priv"'
724
- . ' value="Y" title="'
725
- . __(
726
- 'Requires SSL-encrypted connections.'
727
- )
728
- . '"'
729
- . ((isset($row['ssl_type']) && $row['ssl_type'] != '')
730
- ? ' checked="checked"'
731
- : ''
732
- )
733
- . '/>';
734
- $html_output .= __('Require SSL') . '</legend>';
735
- $html_output .= '<div id="require_ssl_div">';
736
-
737
- // Specified
738
- $html_output .= '<div class="item">';
739
- $html_output .= '<input type="radio" name="ssl_type" id="ssl_type_specified"'
740
- . ' value="specified"'
741
- . ((isset($row['ssl_type']) && $row['ssl_type'] == 'SPECIFIED')
742
- ? ' checked="checked"'
743
- : ''
744
- )
745
- . '/>';
746
-
747
- $html_output .= '<label for="ssl_type_speified"><code>'
748
- . 'SPECIFIED'
749
- . '</code></label>';
750
- $html_output .= '</div>';
751
-
752
- $html_output .= '<div id="specified_div" style="padding-left:20px;">';
753
-
754
- // REQUIRE CIPHER
755
- $html_output .= '<div class="item">';
756
- $html_output .= '<label for="text_ssl_cipher">'
757
- . '<code><dfn title="'
758
- . __(
759
- 'Requires that a specific cipher method be used for a connection.'
760
- )
761
- . '">'
762
- . 'REQUIRE CIPHER'
763
- . '</dfn></code></label>';
764
- $html_output .= '<input type="text" name="ssl_cipher" id="text_ssl_cipher" '
765
- . 'value="' . (isset($row['ssl_cipher']) ? $row['ssl_cipher'] : '') . '" '
766
- . 'size=80" title="'
767
- . __(
768
- 'Requires that a specific cipher method be used for a connection.'
769
- )
770
- . '" />';
771
- $html_output .= '</div>';
772
-
773
- // REQUIRE ISSUER
774
- $html_output .= '<div class="item">';
775
- $html_output .= '<label for="text_x509_issuer">'
776
- . '<code><dfn title="'
777
- . __(
778
- 'Requires that a valid X509 certificate issued by this CA be presented.'
779
- )
780
- . '">'
781
- . 'REQUIRE ISSUER'
782
- . '</dfn></code></label>';
783
- $html_output .= '<input type="text" name="x509_issuer" id="text_x509_issuer" '
784
- . 'value="' . (isset($row['x509_issuer']) ? $row['x509_issuer'] : '') . '" '
785
- . 'size=80" title="'
786
- . __(
787
- 'Requires that a valid X509 certificate issued by this CA be presented.'
788
- )
789
- . '" />';
790
- $html_output .= '</div>';
791
-
792
- // REQUIRE SUBJECT
793
- $html_output .= '<div class="item">';
794
- $html_output .= '<label for="text_x509_subject">'
795
- . '<code><dfn title="'
796
- . __(
797
- 'Requires that a valid X509 certificate with this subject be presented.'
798
- )
799
- . '">'
800
- . 'REQUIRE SUBJECT'
801
- . '</dfn></code></label>';
802
- $html_output .= '<input type="text" name="x509_subject" id="text_x509_subject" '
803
- . 'value="' . (isset($row['x509_subject']) ? $row['x509_subject'] : '') . '" '
804
- . 'size=80" title="'
805
- . __(
806
- 'Requires that a valid X509 certificate with this subject be presented.'
807
- )
808
- . '" />';
809
- $html_output .= '</div>';
810
-
811
- $html_output .= '</div>';
812
-
813
- // REQUIRE X509
814
- $html_output .= '<div class="item">';
815
- $html_output .= '<input type="radio" name="ssl_type" id="ssl_type_X509"'
816
- . ' value="X509" title="'
817
- . __(
818
- 'Requires a valid X509 cetrificate.'
819
- )
820
- . '"'
821
- . ((isset($row['ssl_type']) && $row['ssl_type'] == 'X509')
822
- ? ' checked="checked"'
823
- : ''
824
- )
825
- . '/>';
826
-
827
- $html_output .= '<label for="radio_X509_priv"><code>'
828
- . 'REQUIRE X509'
829
- . '</code></label>';
830
- $html_output .= '</div>';
831
-
832
- // REQUIRE SSL
833
- $html_output .= '<div class="item">';
834
- $html_output .= '<input type="radio" name="ssl_type" id="ssl_type_ANY"'
835
- . ' value="ANY" title="'
836
- . __(
837
- 'Requires SSL-encrypted connections.'
838
- )
839
- . '"'
840
- . ((isset($row['ssl_type']) && ($row['ssl_type'] == 'ANY' || $row['ssl_type'] == ''))
841
- ? ' checked="checked"'
842
- : ''
843
- )
844
- . '/>';
845
-
846
- $html_output .= '<label for="ssl_type_ANY"><code>'
847
- . 'REQUIRE SSL'
848
- . '</code></label>';
849
- $html_output .= '</div>';
850
-
851
- $html_output .= '</div>';
852
- $html_output .= '</fieldset>';
853
-
854
- return $html_output;
855
- }
856
-
857
- /**
858
- * Get HTML for "Resource limits"
859
- *
860
- * @param array $row first row from result or boolean false
861
- *
862
- * @return string html snippet
863
- */
864
- function PMA_getHtmlForResourceLimits($row)
865
- {
866
- $html_output = '<fieldset>' . "\n"
867
- . '<legend>' . __('Resource limits') . '</legend>' . "\n"
868
- . '<p><small>'
869
- . '<i>' . __('Note: Setting these options to 0 (zero) removes the limit.')
870
- . '</i></small></p>' . "\n";
871
-
872
- $html_output .= '<div class="item">' . "\n"
873
- . '<label for="text_max_questions">'
874
- . '<code><dfn title="'
875
- . __(
876
- 'Limits the number of queries the user may send to the server per hour.'
877
- )
878
- . '">'
879
- . 'MAX QUERIES PER HOUR'
880
- . '</dfn></code></label>' . "\n"
881
- . '<input type="number" name="max_questions" id="text_max_questions" '
882
- . 'value="'
883
- . (isset($row['max_questions']) ? $row['max_questions'] : '0')
884
- . '" min="0" '
885
- . 'title="'
886
- . __(
887
- 'Limits the number of queries the user may send to the server per hour.'
888
- )
889
- . '" />' . "\n"
890
- . '</div>' . "\n";
891
-
892
- $html_output .= '<div class="item">' . "\n"
893
- . '<label for="text_max_updates">'
894
- . '<code><dfn title="'
895
- . __(
896
- 'Limits the number of commands that change any table '
897
- . 'or database the user may execute per hour.'
898
- ) . '">'
899
- . 'MAX UPDATES PER HOUR'
900
- . '</dfn></code></label>' . "\n"
901
- . '<input type="number" name="max_updates" id="text_max_updates" '
902
- . 'value="'
903
- . (isset($row['max_updates']) ? $row['max_updates'] : '0')
904
- . '" min="0" '
905
- . 'title="'
906
- . __(
907
- 'Limits the number of commands that change any table '
908
- . 'or database the user may execute per hour.'
909
- )
910
- . '" />' . "\n"
911
- . '</div>' . "\n";
912
-
913
- $html_output .= '<div class="item">' . "\n"
914
- . '<label for="text_max_connections">'
915
- . '<code><dfn title="'
916
- . __(
917
- 'Limits the number of new connections the user may open per hour.'
918
- ) . '">'
919
- . 'MAX CONNECTIONS PER HOUR'
920
- . '</dfn></code></label>' . "\n"
921
- . '<input type="number" name="max_connections" id="text_max_connections" '
922
- . 'value="'
923
- . (isset($row['max_connections']) ? $row['max_connections'] : '0')
924
- . '" min="0" '
925
- . 'title="' . __(
926
- 'Limits the number of new connections the user may open per hour.'
927
- )
928
- . '" />' . "\n"
929
- . '</div>' . "\n";
930
-
931
- $html_output .= '<div class="item">' . "\n"
932
- . '<label for="text_max_user_connections">'
933
- . '<code><dfn title="'
934
- . __('Limits the number of simultaneous connections the user may have.')
935
- . '">'
936
- . 'MAX USER_CONNECTIONS'
937
- . '</dfn></code></label>' . "\n"
938
- . '<input type="number" name="max_user_connections" '
939
- . 'id="text_max_user_connections" '
940
- . 'value="'
941
- . (isset($row['max_user_connections']) ? $row['max_user_connections'] : '0')
942
- . '" '
943
- . 'title="'
944
- . __('Limits the number of simultaneous connections the user may have.')
945
- . '" />' . "\n"
946
- . '</div>' . "\n";
947
-
948
- $html_output .= '</fieldset>' . "\n";
949
-
950
- return $html_output;
951
- }
952
-
953
- /**
954
- * Get the HTML snippet for table specific privileges
955
- *
956
- * @param string $username username for database connection
957
- * @param string $hostname hostname for database connection
958
- * @param string $db the database
959
- * @param string $table the table
960
- * @param array $columns columns array
961
- * @param array $row current privileges row
962
- *
963
- * @return string $html_output
964
- */
965
- function PMA_getHtmlForTableSpecificPrivileges(
966
- $username, $hostname, $db, $table, $columns, $row
967
- ) {
968
- $res = $GLOBALS['dbi']->query(
969
- 'SELECT `Column_name`, `Column_priv`'
970
- . ' FROM `mysql`.`columns_priv`'
971
- . ' WHERE `User`'
972
- . ' = \'' . PMA_Util::sqlAddSlashes($username) . "'"
973
- . ' AND `Host`'
974
- . ' = \'' . PMA_Util::sqlAddSlashes($hostname) . "'"
975
- . ' AND `Db`'
976
- . ' = \'' . PMA_Util::sqlAddSlashes(
977
- PMA_Util::unescapeMysqlWildcards($db)
978
- ) . "'"
979
- . ' AND `Table_name`'
980
- . ' = \'' . PMA_Util::sqlAddSlashes($table) . '\';'
981
- );
982
-
983
- while ($row1 = $GLOBALS['dbi']->fetchRow($res)) {
984
- $row1[1] = explode(',', $row1[1]);
985
- foreach ($row1[1] as $current) {
986
- $columns[$row1[0]][$current] = true;
987
- }
988
- }
989
- $GLOBALS['dbi']->freeResult($res);
990
- unset($res, $row1, $current);
991
-
992
- $html_output = '<input type="hidden" name="grant_count" '
993
- . 'value="' . count($row) . '" />' . "\n"
994
- . '<input type="hidden" name="column_count" '
995
- . 'value="' . count($columns) . '" />' . "\n"
996
- . '<fieldset id="fieldset_user_priv">' . "\n"
997
- . '<legend data-submenu-label="Table">' . __('Table-specific privileges')
998
- . PMA_Util::showHint(
999
- __('Note: MySQL privilege names are expressed in English.')
1000
- )
1001
- . '</legend>' . "\n";
1002
-
1003
- // privs that are attached to a specific column
1004
- $html_output .= PMA_getHtmlForAttachedPrivilegesToTableSpecificColumn(
1005
- $columns, $row
1006
- );
1007
-
1008
- // privs that are not attached to a specific column
1009
- $html_output .= '<div class="item">' . "\n"
1010
- . PMA_getHtmlForNotAttachedPrivilegesToTableSpecificColumn($row)
1011
- . '</div>' . "\n";
1012
-
1013
- // for Safari 2.0.2
1014
- $html_output .= '<div class="clearfloat"></div>' . "\n";
1015
-
1016
- return $html_output;
1017
- }
1018
-
1019
- /**
1020
- * Get HTML snippet for privileges that are attached to a specific column
1021
- *
1022
- * @param array $columns columns array
1023
- * @param array $row first row from result or boolean false
1024
- *
1025
- * @return string $html_output
1026
- */
1027
- function PMA_getHtmlForAttachedPrivilegesToTableSpecificColumn($columns, $row)
1028
- {
1029
- $html_output = PMA_getHtmlForColumnPrivileges(
1030
- $columns, $row, 'Select_priv', 'SELECT',
1031
- 'select', __('Allows reading data.'), 'Select'
1032
- );
1033
-
1034
- $html_output .= PMA_getHtmlForColumnPrivileges(
1035
- $columns, $row, 'Insert_priv', 'INSERT',
1036
- 'insert', __('Allows inserting and replacing data.'), 'Insert'
1037
- );
1038
-
1039
- $html_output .= PMA_getHtmlForColumnPrivileges(
1040
- $columns, $row, 'Update_priv', 'UPDATE',
1041
- 'update', __('Allows changing data.'), 'Update'
1042
- );
1043
-
1044
- $html_output .= PMA_getHtmlForColumnPrivileges(
1045
- $columns, $row, 'References_priv', 'REFERENCES', 'references',
1046
- __('Has no effect in this MySQL version.'), 'References'
1047
- );
1048
- return $html_output;
1049
- }
1050
-
1051
- /**
1052
- * Get HTML for privileges that are not attached to a specific column
1053
- *
1054
- * @param array $row first row from result or boolean false
1055
- *
1056
- * @return string $html_output
1057
- */
1058
- function PMA_getHtmlForNotAttachedPrivilegesToTableSpecificColumn($row)
1059
- {
1060
- $html_output = '';
1061
-
1062
- foreach ($row as $current_grant => $current_grant_value) {
1063
- $grant_type = substr($current_grant, 0, -5);
1064
- if (in_array($grant_type, array('Select', 'Insert', 'Update', 'References'))
1065
- ) {
1066
- continue;
1067
- }
1068
- // make a substitution to match the messages variables;
1069
- // also we must substitute the grant we get, because we can't generate
1070
- // a form variable containing blanks (those would get changed to
1071
- // an underscore when receiving the POST)
1072
- if ($current_grant == 'Create View_priv') {
1073
- $tmp_current_grant = 'CreateView_priv';
1074
- $current_grant = 'Create_view_priv';
1075
- } elseif ($current_grant == 'Show view_priv') {
1076
- $tmp_current_grant = 'ShowView_priv';
1077
- $current_grant = 'Show_view_priv';
1078
- } else {
1079
- $tmp_current_grant = $current_grant;
1080
- }
1081
-
1082
- $html_output .= '<div class="item">' . "\n"
1083
- . '<input type="checkbox"'
1084
- . ' name="' . $current_grant . '" id="checkbox_' . $current_grant
1085
- . '" value="Y" '
1086
- . ($current_grant_value == 'Y' ? 'checked="checked" ' : '')
1087
- . 'title="';
1088
-
1089
- $html_output .= (isset($GLOBALS[
1090
- 'strPrivDesc' . /*overload*/mb_substr(
1091
- $tmp_current_grant,
1092
- 0,
1093
- (/*overload*/mb_strlen($tmp_current_grant) - 5)
1094
- )
1095
- ] )
1096
- ? $GLOBALS[
1097
- 'strPrivDesc' . /*overload*/mb_substr(
1098
- $tmp_current_grant,
1099
- 0,
1100
- (/*overload*/mb_strlen($tmp_current_grant) - 5)
1101
- )
1102
- ]
1103
- : $GLOBALS[
1104
- 'strPrivDesc' . /*overload*/mb_substr(
1105
- $tmp_current_grant,
1106
- 0,
1107
- (/*overload*/mb_strlen($tmp_current_grant) - 5)
1108
- ) . 'Tbl'
1109
- ]
1110
- )
1111
- . '"/>' . "\n";
1112
-
1113
- $html_output .= '<label for="checkbox_' . $current_grant
1114
- . '"><code><dfn title="'
1115
- . (isset($GLOBALS[
1116
- 'strPrivDesc' . /*overload*/mb_substr(
1117
- $tmp_current_grant,
1118
- 0,
1119
- -5
1120
- )
1121
- ])
1122
- ? $GLOBALS[
1123
- 'strPrivDesc' . /*overload*/mb_substr(
1124
- $tmp_current_grant,
1125
- 0,
1126
- -5
1127
- )
1128
- ]
1129
- : $GLOBALS[
1130
- 'strPrivDesc' . /*overload*/mb_substr(
1131
- $tmp_current_grant,
1132
- 0,
1133
- -5
1134
- ) . 'Tbl'
1135
- ]
1136
- )
1137
- . '">'
1138
- . /*overload*/mb_strtoupper(
1139
- /*overload*/mb_substr(
1140
- $current_grant,
1141
- 0,
1142
- -5
1143
- )
1144
- )
1145
- . '</dfn></code></label>' . "\n"
1146
- . '</div>' . "\n";
1147
- } // end foreach ()
1148
- return $html_output;
1149
- }
1150
-
1151
- /**
1152
- * Get HTML for global or database specific privileges
1153
- *
1154
- * @param string $db the database
1155
- * @param string $table the table
1156
- * @param string $row first row from result or boolean false
1157
- *
1158
- * @return string $html_output
1159
- */
1160
- function PMA_getHtmlForGlobalOrDbSpecificPrivs($db, $table, $row)
1161
- {
1162
- $privTable_names = array(0 => __('Data'),
1163
- 1 => __('Structure'),
1164
- 2 => __('Administration')
1165
- );
1166
- $privTable = array();
1167
- // d a t a
1168
- $privTable[0] = PMA_getDataPrivilegeTable($db);
1169
-
1170
- // s t r u c t u r e
1171
- $privTable[1] = PMA_getStructurePrivilegeTable($table, $row);
1172
-
1173
- // a d m i n i s t r a t i o n
1174
- $privTable[2] = PMA_getAdministrationPrivilegeTable($db);
1175
-
1176
- $html_output = '<input type="hidden" name="grant_count" value="'
1177
- . (count($privTable[0])
1178
- + count($privTable[1])
1179
- + count($privTable[2])
1180
- - (isset($row['Grant_priv']) ? 1 : 0)
1181
- )
1182
- . '" />';
1183
- if ($db == '*') {
1184
- $legend = __('Global privileges');
1185
- $menu_label = __('Global');
1186
- } else if ($table == '*') {
1187
- $legend = __('Database-specific privileges');
1188
- $menu_label = __('Database');
1189
- } else {
1190
- $legend = __('Table-specific privileges');
1191
- $menu_label = __('Table');
1192
- }
1193
- $html_output .= '<fieldset id="fieldset_user_global_rights">'
1194
- . '<legend data-submenu-label="' . $menu_label . '">' . $legend
1195
- . '<input type="checkbox" id="addUsersForm_checkall" '
1196
- . 'class="checkall_box" title="' . __('Check All') . '" /> '
1197
- . '<label for="addUsersForm_checkall">' . __('Check All') . '</label> '
1198
- . '</legend>'
1199
- . '<p><small><i>'
1200
- . __('Note: MySQL privilege names are expressed in English.')
1201
- . '</i></small></p>';
1202
-
1203
- // Output the Global privilege tables with checkboxes
1204
- $html_output .= PMA_getHtmlForGlobalPrivTableWithCheckboxes(
1205
- $privTable, $privTable_names, $row
1206
- );
1207
-
1208
- // The "Resource limits" box is not displayed for db-specific privs
1209
- if ($db == '*') {
1210
- $html_output .= PMA_getHtmlForResourceLimits($row);
1211
- $html_output .= PMA_getHtmlForRequires($row);
1212
- }
1213
- // for Safari 2.0.2
1214
- $html_output .= '<div class="clearfloat"></div>';
1215
-
1216
- return $html_output;
1217
- }
1218
-
1219
- /**
1220
- * Get data privilege table as an array
1221
- *
1222
- * @param string $db the database
1223
- *
1224
- * @return string data privilege table
1225
- */
1226
- function PMA_getDataPrivilegeTable($db)
1227
- {
1228
- $data_privTable = array(
1229
- array('Select', 'SELECT', __('Allows reading data.')),
1230
- array('Insert', 'INSERT', __('Allows inserting and replacing data.')),
1231
- array('Update', 'UPDATE', __('Allows changing data.')),
1232
- array('Delete', 'DELETE', __('Allows deleting data.'))
1233
- );
1234
- if ($db == '*') {
1235
- $data_privTable[]
1236
- = array('File',
1237
- 'FILE',
1238
- __('Allows importing data from and exporting data into files.')
1239
- );
1240
- }
1241
- return $data_privTable;
1242
- }
1243
-
1244
- /**
1245
- * Get structure privilege table as an array
1246
- *
1247
- * @param string $table the table
1248
- * @param array $row first row from result or boolean false
1249
- *
1250
- * @return string structure privilege table
1251
- */
1252
- function PMA_getStructurePrivilegeTable($table, $row)
1253
- {
1254
- $structure_privTable = array(
1255
- array('Create',
1256
- 'CREATE',
1257
- ($table == '*'
1258
- ? __('Allows creating new databases and tables.')
1259
- : __('Allows creating new tables.')
1260
- )
1261
- ),
1262
- array('Alter',
1263
- 'ALTER',
1264
- __('Allows altering the structure of existing tables.')
1265
- ),
1266
- array('Index', 'INDEX', __('Allows creating and dropping indexes.')),
1267
- array('Drop',
1268
- 'DROP',
1269
- ($table == '*'
1270
- ? __('Allows dropping databases and tables.')
1271
- : __('Allows dropping tables.')
1272
- )
1273
- ),
1274
- array('Create_tmp_table',
1275
- 'CREATE TEMPORARY TABLES',
1276
- __('Allows creating temporary tables.')
1277
- ),
1278
- array('Show_view',
1279
- 'SHOW VIEW',
1280
- __('Allows performing SHOW CREATE VIEW queries.')
1281
- ),
1282
- array('Create_routine',
1283
- 'CREATE ROUTINE',
1284
- __('Allows creating stored routines.')
1285
- ),
1286
- array('Alter_routine',
1287
- 'ALTER ROUTINE',
1288
- __('Allows altering and dropping stored routines.')
1289
- ),
1290
- array('Execute', 'EXECUTE', __('Allows executing stored routines.')),
1291
- );
1292
- // this one is for a db-specific priv: Create_view_priv
1293
- if (isset($row['Create_view_priv'])) {
1294
- $structure_privTable[] = array('Create_view',
1295
- 'CREATE VIEW',
1296
- __('Allows creating new views.')
1297
- );
1298
- }
1299
- // this one is for a table-specific priv: Create View_priv
1300
- if (isset($row['Create View_priv'])) {
1301
- $structure_privTable[] = array('Create View',
1302
- 'CREATE VIEW',
1303
- __('Allows creating new views.')
1304
- );
1305
- }
1306
- if (isset($row['Event_priv'])) {
1307
- // MySQL 5.1.6
1308
- $structure_privTable[] = array('Event',
1309
- 'EVENT',
1310
- __('Allows to set up events for the event scheduler.')
1311
- );
1312
- $structure_privTable[] = array('Trigger',
1313
- 'TRIGGER',
1314
- __('Allows creating and dropping triggers.')
1315
- );
1316
- }
1317
- return $structure_privTable;
1318
- }
1319
-
1320
- /**
1321
- * Get administration privilege table as an array
1322
- *
1323
- * @param string $db the table
1324
- *
1325
- * @return string administration privilege table
1326
- */
1327
- function PMA_getAdministrationPrivilegeTable($db)
1328
- {
1329
- $adminPrivTable = array(
1330
- array('Grant',
1331
- 'GRANT',
1332
- __(
1333
- 'Allows adding users and privileges '
1334
- . 'without reloading the privilege tables.'
1335
- )
1336
- ),
1337
- );
1338
- if ($db == '*') {
1339
- $adminPrivTable[] = array('Super',
1340
- 'SUPER',
1341
- __(
1342
- 'Allows connecting, even if maximum number '
1343
- . 'of connections is reached; required for '
1344
- . 'most administrative operations like '
1345
- . 'setting global variables or killing threads of other users.'
1346
- )
1347
- );
1348
- $adminPrivTable[] = array('Process',
1349
- 'PROCESS',
1350
- __('Allows viewing processes of all users.')
1351
- );
1352
- $adminPrivTable[] = array('Reload',
1353
- 'RELOAD',
1354
- __('Allows reloading server settings and flushing the server\'s caches.')
1355
- );
1356
- $adminPrivTable[] = array('Shutdown',
1357
- 'SHUTDOWN',
1358
- __('Allows shutting down the server.')
1359
- );
1360
- $adminPrivTable[] = array('Show_db',
1361
- 'SHOW DATABASES',
1362
- __('Gives access to the complete list of databases.')
1363
- );
1364
- }
1365
- $adminPrivTable[] = array('Lock_tables',
1366
- 'LOCK TABLES',
1367
- __('Allows locking tables for the current thread.')
1368
- );
1369
- $adminPrivTable[] = array('References',
1370
- 'REFERENCES',
1371
- __('Has no effect in this MySQL version.')
1372
- );
1373
- if ($db == '*') {
1374
- $adminPrivTable[] = array('Repl_client',
1375
- 'REPLICATION CLIENT',
1376
- __('Allows the user to ask where the slaves / masters are.')
1377
- );
1378
- $adminPrivTable[] = array('Repl_slave',
1379
- 'REPLICATION SLAVE',
1380
- __('Needed for the replication slaves.')
1381
- );
1382
- $adminPrivTable[] = array('Create_user',
1383
- 'CREATE USER',
1384
- __('Allows creating, dropping and renaming user accounts.')
1385
- );
1386
- }
1387
- return $adminPrivTable;
1388
- }
1389
-
1390
- /**
1391
- * Get HTML snippet for global privileges table with check boxes
1392
- *
1393
- * @param array $privTable privileges table array
1394
- * @param array $privTable_names names of the privilege tables
1395
- * (Data, Structure, Administration)
1396
- * @param array $row first row from result or boolean false
1397
- *
1398
- * @return string $html_output
1399
- */
1400
- function PMA_getHtmlForGlobalPrivTableWithCheckboxes(
1401
- $privTable, $privTable_names, $row
1402
- ) {
1403
- $html_output = '';
1404
- foreach ($privTable as $i => $table) {
1405
- $html_output .= '<fieldset>' . "\n"
1406
- . '<legend>' . $privTable_names[$i] . '</legend>' . "\n";
1407
- foreach ($table as $priv) {
1408
- $html_output .= '<div class="item">' . "\n"
1409
- . '<input type="checkbox" class="checkall"'
1410
- . ' name="' . $priv[0] . '_priv" '
1411
- . 'id="checkbox_' . $priv[0] . '_priv"'
1412
- . ' value="Y" title="' . $priv[2] . '"'
1413
- . ((isset($row[$priv[0] . '_priv'])
1414
- && $row[$priv[0] . '_priv'] == 'Y')
1415
- ? ' checked="checked"'
1416
- : ''
1417
- )
1418
- . '/>' . "\n"
1419
- . '<label for="checkbox_' . $priv[0] . '_priv">'
1420
- . '<code>'
1421
- . PMA_formatPrivilege($priv, true)
1422
- . '</code></label>' . "\n"
1423
- . '</div>' . "\n";
1424
- }
1425
- $html_output .= '</fieldset>' . "\n";
1426
- }
1427
- return $html_output;
1428
- }
1429
-
1430
- /**
1431
- * Displays the fields used by the "new user" form as well as the
1432
- * "change login information / copy user" form.
1433
- *
1434
- * @param string $mode are we creating a new user or are we just
1435
- * changing one? (allowed values: 'new', 'change')
1436
- *
1437
- * @global array $cfg the phpMyAdmin configuration
1438
- * @global resource $user_link the database connection
1439
- *
1440
- * @return string $html_output a HTML snippet
1441
- */
1442
- function PMA_getHtmlForLoginInformationFields($mode = 'new')
1443
- {
1444
- list($username_length, $hostname_length) = PMA_getUsernameAndHostnameLength();
1445
-
1446
- if (isset($GLOBALS['username'])
1447
- && /*overload*/mb_strlen($GLOBALS['username']) === 0
1448
- ) {
1449
- $GLOBALS['pred_username'] = 'any';
1450
- }
1451
- $html_output = '<fieldset id="fieldset_add_user_login">' . "\n"
1452
- . '<legend>' . __('Login Information') . '</legend>' . "\n"
1453
- . '<div class="item">' . "\n"
1454
- . '<label for="select_pred_username">' . "\n"
1455
- . ' ' . __('User name:') . "\n"
1456
- . '</label>' . "\n"
1457
- . '<span class="options">' . "\n";
1458
-
1459
- $html_output .= '<select name="pred_username" id="select_pred_username" '
1460
- . 'title="' . __('User name') . '"' . "\n";
1461
-
1462
- $html_output .= ' onchange="'
1463
- . 'if (this.value == \'any\') {'
1464
- . ' username.value = \'\'; '
1465
- . ' user_exists_warning.style.display = \'none\'; '
1466
- . ' username.required = false; '
1467
- . '} else if (this.value == \'userdefined\') {'
1468
- . ' username.focus(); username.select(); '
1469
- . ' username.required = true; '
1470
- . '}">' . "\n";
1471
-
1472
- $html_output .= '<option value="any"'
1473
- . ((isset($GLOBALS['pred_username']) && $GLOBALS['pred_username'] == 'any')
1474
- ? ' selected="selected"'
1475
- : '') . '>'
1476
- . __('Any user')
1477
- . '</option>' . "\n";
1478
-
1479
- $html_output .= '<option value="userdefined"'
1480
- . ((! isset($GLOBALS['pred_username'])
1481
- || $GLOBALS['pred_username'] == 'userdefined'
1482
- )
1483
- ? ' selected="selected"'
1484
- : '') . '>'
1485
- . __('Use text field')
1486
- . ':</option>' . "\n";
1487
-
1488
- $html_output .= '</select>' . "\n"
1489
- . '</span>' . "\n";
1490
-
1491
- $html_output .= '<input type="text" name="username" class="autofocus"'
1492
- . ' maxlength="' . $username_length . '" title="' . __('User name') . '"'
1493
- . (empty($GLOBALS['username'])
1494
- ? ''
1495
- : ' value="' . htmlspecialchars(
1496
- isset($GLOBALS['new_username'])
1497
- ? $GLOBALS['new_username']
1498
- : $GLOBALS['username']
1499
- ) . '"'
1500
- )
1501
- . ' onchange="pred_username.value = \'userdefined\'; this.required = true;" '
1502
- . ((! isset($GLOBALS['pred_username'])
1503
- || $GLOBALS['pred_username'] == 'userdefined'
1504
- )
1505
- ? 'required="required"'
1506
- : '') . ' />' . "\n";
1507
-
1508
- $html_output .= '<div id="user_exists_warning"'
1509
- . ' name="user_exists_warning" style="display:none;">'
1510
- . PMA_Message::notice(
1511
- __(
1512
- 'An account already exists with the same username '
1513
- . 'but possibly a different hostname.'
1514
- )
1515
- )->getDisplay()
1516
- . '</div>';
1517
- $html_output .= '</div>';
1518
-
1519
- $html_output .= '<div class="item">' . "\n"
1520
- . '<label for="select_pred_hostname">' . "\n"
1521
- . ' ' . __('Host:') . "\n"
1522
- . '</label>' . "\n";
1523
-
1524
- $html_output .= '<span class="options">' . "\n"
1525
- . ' <select name="pred_hostname" id="select_pred_hostname" '
1526
- . 'title="' . __('Host') . '"' . "\n";
1527
- $_current_user = $GLOBALS['dbi']->fetchValue('SELECT USER();');
1528
- if (! empty($_current_user)) {
1529
- $thishost = str_replace(
1530
- "'",
1531
- '',
1532
- /*overload*/mb_substr(
1533
- $_current_user,
1534
- (/*overload*/mb_strrpos($_current_user, '@') + 1)
1535
- )
1536
- );
1537
- if ($thishost == 'localhost' || $thishost == '127.0.0.1') {
1538
- unset($thishost);
1539
- }
1540
- }
1541
- $html_output .= ' onchange="'
1542
- . 'if (this.value == \'any\') { '
1543
- . ' hostname.value = \'%\'; '
1544
- . '} else if (this.value == \'localhost\') { '
1545
- . ' hostname.value = \'localhost\'; '
1546
- . '} '
1547
- . (empty($thishost)
1548
- ? ''
1549
- : 'else if (this.value == \'thishost\') { '
1550
- . ' hostname.value = \'' . addslashes(htmlspecialchars($thishost))
1551
- . '\'; '
1552
- . '} '
1553
- )
1554
- . 'else if (this.value == \'hosttable\') { '
1555
- . ' hostname.value = \'\'; '
1556
- . ' hostname.required = false; '
1557
- . '} else if (this.value == \'userdefined\') {'
1558
- . ' hostname.focus(); hostname.select(); '
1559
- . ' hostname.required = true; '
1560
- . '}">' . "\n";
1561
- unset($_current_user);
1562
-
1563
- // when we start editing a user, $GLOBALS['pred_hostname'] is not defined
1564
- if (! isset($GLOBALS['pred_hostname']) && isset($GLOBALS['hostname'])) {
1565
- switch (/*overload*/mb_strtolower($GLOBALS['hostname'])) {
1566
- case 'localhost':
1567
- case '127.0.0.1':
1568
- $GLOBALS['pred_hostname'] = 'localhost';
1569
- break;
1570
- case '%':
1571
- $GLOBALS['pred_hostname'] = 'any';
1572
- break;
1573
- default:
1574
- $GLOBALS['pred_hostname'] = 'userdefined';
1575
- break;
1576
- }
1577
- }
1578
- $html_output .= '<option value="any"'
1579
- . ((isset($GLOBALS['pred_hostname'])
1580
- && $GLOBALS['pred_hostname'] == 'any'
1581
- )
1582
- ? ' selected="selected"'
1583
- : '') . '>'
1584
- . __('Any host')
1585
- . '</option>' . "\n"
1586
- . '<option value="localhost"'
1587
- . ((isset($GLOBALS['pred_hostname'])
1588
- && $GLOBALS['pred_hostname'] == 'localhost'
1589
- )
1590
- ? ' selected="selected"'
1591
- : '') . '>'
1592
- . __('Local')
1593
- . '</option>' . "\n";
1594
- if (! empty($thishost)) {
1595
- $html_output .= '<option value="thishost"'
1596
- . ((isset($GLOBALS['pred_hostname'])
1597
- && $GLOBALS['pred_hostname'] == 'thishost'
1598
- )
1599
- ? ' selected="selected"'
1600
- : '') . '>'
1601
- . __('This Host')
1602
- . '</option>' . "\n";
1603
- }
1604
- unset($thishost);
1605
- $html_output .= '<option value="hosttable"'
1606
- . ((isset($GLOBALS['pred_hostname'])
1607
- && $GLOBALS['pred_hostname'] == 'hosttable'
1608
- )
1609
- ? ' selected="selected"'
1610
- : '') . '>'
1611
- . __('Use Host Table')
1612
- . '</option>' . "\n";
1613
-
1614
- $html_output .= '<option value="userdefined"'
1615
- . ((isset($GLOBALS['pred_hostname'])
1616
- && $GLOBALS['pred_hostname'] == 'userdefined'
1617
- )
1618
- ? ' selected="selected"'
1619
- : '') . '>'
1620
- . __('Use text field:') . '</option>' . "\n"
1621
- . '</select>' . "\n"
1622
- . '</span>' . "\n";
1623
-
1624
- $html_output .= '<input type="text" name="hostname" maxlength="'
1625
- . $hostname_length . '" value="'
1626
- // use default value of '%' to match with the default 'Any host'
1627
- . htmlspecialchars(isset($GLOBALS['hostname']) ? $GLOBALS['hostname'] : '%')
1628
- . '" title="' . __('Host')
1629
- . '" onchange="pred_hostname.value = \'userdefined\'; this.required = true;" '
1630
- . ((isset($GLOBALS['pred_hostname'])
1631
- && $GLOBALS['pred_hostname'] == 'userdefined'
1632
- )
1633
- ? 'required="required"'
1634
- : '')
1635
- . ' />' . "\n"
1636
- . PMA_Util::showHint(
1637
- __(
1638
- 'When Host table is used, this field is ignored '
1639
- . 'and values stored in Host table are used instead.'
1640
- )
1641
- )
1642
- . '</div>' . "\n";
1643
-
1644
- $html_output .= '<div class="item">' . "\n"
1645
- . '<label for="select_pred_password">' . "\n"
1646
- . ' ' . __('Password:') . "\n"
1647
- . '</label>' . "\n"
1648
- . '<span class="options">' . "\n"
1649
- . '<select name="pred_password" id="select_pred_password" title="'
1650
- . __('Password') . '"' . "\n";
1651
-
1652
- $html_output .= ' onchange="'
1653
- . 'if (this.value == \'none\') { '
1654
- . ' pma_pw.value = \'\'; pma_pw2.value = \'\'; '
1655
- . ' pma_pw.required = false; pma_pw2.required = false; '
1656
- . '} else if (this.value == \'userdefined\') { '
1657
- . ' pma_pw.focus(); pma_pw.select(); '
1658
- . ' pma_pw.required = true; pma_pw2.required = true; '
1659
- . '} else { '
1660
- . ' pma_pw.required = false; pma_pw2.required = false; '
1661
- . '}">' . "\n"
1662
- . ($mode == 'change' ? '<option value="keep" selected="selected">'
1663
- . __('Do not change the password')
1664
- . '</option>' . "\n" : '')
1665
- . '<option value="none"';
1666
-
1667
- if (isset($GLOBALS['username']) && $mode != 'change') {
1668
- $html_output .= ' selected="selected"';
1669
- }
1670
- $html_output .= '>' . __('No Password') . '</option>' . "\n"
1671
- . '<option value="userdefined"'
1672
- . (isset($GLOBALS['username']) ? '' : ' selected="selected"') . '>'
1673
- . __('Use text field')
1674
- . ':</option>' . "\n"
1675
- . '</select>' . "\n"
1676
- . '</span>' . "\n"
1677
- . '<input type="password" id="text_pma_pw" name="pma_pw" '
1678
- . 'title="' . __('Password') . '" '
1679
- . 'onchange="pred_password.value = \'userdefined\'; this.required = true; pma_pw2.required = true;" '
1680
- . (isset($GLOBALS['username']) ? '' : 'required="required"')
1681
- . '/>' . "\n"
1682
- . '</div>' . "\n";
1683
-
1684
- $html_output .= '<div class="item" '
1685
- . 'id="div_element_before_generate_password">' . "\n"
1686
- . '<label for="text_pma_pw2">' . "\n"
1687
- . ' ' . __('Re-type:') . "\n"
1688
- . '</label>' . "\n"
1689
- . '<span class="options">&nbsp;</span>' . "\n"
1690
- . '<input type="password" name="pma_pw2" id="text_pma_pw2" '
1691
- . 'title="' . __('Re-type') . '" '
1692
- . 'onchange="pred_password.value = \'userdefined\'; this.required = true; pma_pw.required = true;" '
1693
- . (isset($GLOBALS['username']) ? '' : 'required="required"')
1694
- . '/>' . "\n"
1695
- . '</div>' . "\n"
1696
- // Generate password added here via jQuery
1697
- . '</fieldset>' . "\n";
1698
-
1699
- return $html_output;
1700
- } // end of the 'PMA_displayUserAndHostFields()' function
1701
-
1702
- /**
1703
- * Get username and hostname length
1704
- *
1705
- * @return array username length and hostname length
1706
- */
1707
- function PMA_getUsernameAndHostnameLength()
1708
- {
1709
- /* Fallback values */
1710
- $username_length = 16;
1711
- $hostname_length = 41;
1712
-
1713
- /* Try to get real lengths from the database */
1714
- $fields_info = $GLOBALS['dbi']->fetchResult(
1715
- 'SELECT COLUMN_NAME, CHARACTER_MAXIMUM_LENGTH '
1716
- . 'FROM information_schema.columns '
1717
- . "WHERE table_schema = 'mysql' AND table_name = 'user' "
1718
- . "AND COLUMN_NAME IN ('User', 'Host')"
1719
- );
1720
- foreach ($fields_info as $val) {
1721
- if ($val['COLUMN_NAME'] == 'User') {
1722
- $username_length = $val['CHARACTER_MAXIMUM_LENGTH'];
1723
- } elseif ($val['COLUMN_NAME'] == 'Host') {
1724
- $hostname_length = $val['CHARACTER_MAXIMUM_LENGTH'];
1725
- }
1726
- }
1727
- return array($username_length, $hostname_length);
1728
- }
1729
-
1730
- /**
1731
- * Returns all the grants for a certain user on a certain host
1732
- * Used in the export privileges for all users section
1733
- *
1734
- * @param string $user User name
1735
- * @param string $host Host name
1736
- *
1737
- * @return string containing all the grants text
1738
- */
1739
- function PMA_getGrants($user, $host)
1740
- {
1741
- $grants = $GLOBALS['dbi']->fetchResult(
1742
- "SHOW GRANTS FOR '"
1743
- . PMA_Util::sqlAddSlashes($user) . "'@'"
1744
- . PMA_Util::sqlAddSlashes($host) . "'"
1745
- );
1746
- $response = '';
1747
- foreach ($grants as $one_grant) {
1748
- $response .= $one_grant . ";\n\n";
1749
- }
1750
- return $response;
1751
- } // end of the 'PMA_getGrants()' function
1752
-
1753
- /**
1754
- * Update password and get message for password updating
1755
- *
1756
- * @param string $err_url error url
1757
- * @param string $username username
1758
- * @param string $hostname hostname
1759
- *
1760
- * @return string $message success or error message after updating password
1761
- */
1762
- function PMA_updatePassword($err_url, $username, $hostname)
1763
- {
1764
- // similar logic in user_password.php
1765
- $message = '';
1766
-
1767
- if (empty($_REQUEST['nopass'])
1768
- && isset($_POST['pma_pw'])
1769
- && isset($_POST['pma_pw2'])
1770
- ) {
1771
- if ($_POST['pma_pw'] != $_POST['pma_pw2']) {
1772
- $message = PMA_Message::error(__('The passwords aren\'t the same!'));
1773
- } elseif (empty($_POST['pma_pw']) || empty($_POST['pma_pw2'])) {
1774
- $message = PMA_Message::error(__('The password is empty!'));
1775
- }
1776
- }
1777
-
1778
- // here $nopass could be == 1
1779
- if (empty($message)) {
1780
- if (PMA_Util::getServerType() == 'MySQL'
1781
- && PMA_MYSQL_INT_VERSION >= 50706
1782
- ) {
1783
- $query_prefix = "ALTER USER '"
1784
- . PMA_Util::sqlAddSlashes($username)
1785
- . "'@'" . PMA_Util::sqlAddSlashes($hostname) . "'"
1786
- . " IDENTIFIED BY '";
1787
-
1788
- // in $sql_query which will be displayed, hide the password
1789
- $sql_query = $query_prefix . "*'";
1790
-
1791
- $local_query = $query_prefix
1792
- . PMA_Util::sqlAddSlashes($_POST['pma_pw']) . "'";
1793
- } else {
1794
- $hashing_function
1795
- = (! empty($_REQUEST['pw_hash']) && $_REQUEST['pw_hash'] == 'old'
1796
- ? 'OLD_'
1797
- : ''
1798
- )
1799
- . 'PASSWORD';
1800
-
1801
- $sql_query = 'SET PASSWORD FOR \''
1802
- . PMA_Util::sqlAddSlashes($username)
1803
- . '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\' = '
1804
- . (($_POST['pma_pw'] == '')
1805
- ? '\'\''
1806
- : $hashing_function . '(\''
1807
- . preg_replace('@.@s', '*', $_POST['pma_pw']) . '\')');
1808
-
1809
- $local_query = 'SET PASSWORD FOR \''
1810
- . PMA_Util::sqlAddSlashes($username)
1811
- . '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\' = '
1812
- . (($_POST['pma_pw'] == '') ? '\'\'' : $hashing_function
1813
- . '(\'' . PMA_Util::sqlAddSlashes($_POST['pma_pw']) . '\')');
1814
- }
1815
-
1816
- $GLOBALS['dbi']->tryQuery($local_query)
1817
- or PMA_Util::mysqlDie(
1818
- $GLOBALS['dbi']->getError(), $sql_query, false, $err_url
1819
- );
1820
- $message = PMA_Message::success(
1821
- __('The password for %s was changed successfully.')
1822
- );
1823
- $message->addParam(
1824
- '\'' . htmlspecialchars($username)
1825
- . '\'@\'' . htmlspecialchars($hostname) . '\''
1826
- );
1827
- }
1828
- return $message;
1829
- }
1830
-
1831
- /**
1832
- * Revokes privileges and get message and SQL query for privileges revokes
1833
- *
1834
- * @param string $dbname database name
1835
- * @param string $tablename table name
1836
- * @param string $username username
1837
- * @param string $hostname host name
1838
- *
1839
- * @return array ($message, $sql_query)
1840
- */
1841
- function PMA_getMessageAndSqlQueryForPrivilegesRevoke($dbname,
1842
- $tablename, $username, $hostname
1843
- ) {
1844
- $db_and_table = PMA_wildcardEscapeForGrant($dbname, $tablename);
1845
-
1846
- $sql_query0 = 'REVOKE ALL PRIVILEGES ON ' . $db_and_table
1847
- . ' FROM \''
1848
- . PMA_Util::sqlAddSlashes($username) . '\'@\''
1849
- . PMA_Util::sqlAddSlashes($hostname) . '\';';
1850
-
1851
- $sql_query1 = 'REVOKE GRANT OPTION ON ' . $db_and_table
1852
- . ' FROM \'' . PMA_Util::sqlAddSlashes($username) . '\'@\''
1853
- . PMA_Util::sqlAddSlashes($hostname) . '\';';
1854
-
1855
- $GLOBALS['dbi']->query($sql_query0);
1856
- if (! $GLOBALS['dbi']->tryQuery($sql_query1)) {
1857
- // this one may fail, too...
1858
- $sql_query1 = '';
1859
- }
1860
- $sql_query = $sql_query0 . ' ' . $sql_query1;
1861
- $message = PMA_Message::success(
1862
- __('You have revoked the privileges for %s.')
1863
- );
1864
- $message->addParam(
1865
- '\'' . htmlspecialchars($username)
1866
- . '\'@\'' . htmlspecialchars($hostname) . '\''
1867
- );
1868
-
1869
- return array($message, $sql_query);
1870
- }
1871
-
1872
- /**
1873
- * Get REQUIRE cluase
1874
- *
1875
- * @return stirng REQUIRE clause
1876
- */
1877
- function PMA_getRequireClause()
1878
- {
1879
- $require_clause = "";
1880
- if (isset($_POST['SSL_priv']) && $_POST['SSL_priv'] == 'Y') {
1881
- if (isset($_POST['ssl_type']) && $_POST['ssl_type'] == 'specified') {
1882
- $require = array();
1883
- if (! empty($_POST['ssl_cipher'])) {
1884
- $require[] = "CIPHER '"
1885
- . PMA_Util::sqlAddSlashes($_POST['ssl_cipher']) . "'";
1886
- }
1887
- if (! empty($_POST['x509_issuer'])) {
1888
- $require[] = "ISSUER '"
1889
- . PMA_Util::sqlAddSlashes($_POST['x509_issuer']) . "'";
1890
- }
1891
- if (! empty($_POST['x509_subject'])) {
1892
- $require[] = "SUBJECT '"
1893
- . PMA_Util::sqlAddSlashes($_POST['x509_subject']) . "'";
1894
- }
1895
- if (count($require)) {
1896
- $require_clause = " REQUIRE " . implode(" AND ", $require);
1897
- } else {
1898
- $require_clause = " REQUIRE NONE";
1899
- }
1900
- } elseif (isset($_POST['ssl_type']) && $_POST['ssl_type'] == 'X509') {
1901
- $require_clause = " REQUIRE X509";
1902
- } elseif (isset($_POST['ssl_type']) && $_POST['ssl_type'] == 'ANY') {
1903
- $require_clause = " REQUIRE SSL";
1904
- }
1905
- } else {
1906
- $require_clause = " REQUIRE NONE";
1907
- }
1908
-
1909
- return $require_clause;
1910
- }
1911
-
1912
- /**
1913
- * Get a WITH clause for 'update privileges' and 'add user'
1914
- *
1915
- * @return string $sql_query
1916
- */
1917
- function PMA_getWithClauseForAddUserAndUpdatePrivs()
1918
- {
1919
- $sql_query = '';
1920
- if (isset($_POST['Grant_priv']) && $_POST['Grant_priv'] == 'Y') {
1921
- $sql_query .= ' GRANT OPTION';
1922
- }
1923
- if (isset($_POST['max_questions'])) {
1924
- $max_questions = max(0, (int)$_POST['max_questions']);
1925
- $sql_query .= ' MAX_QUERIES_PER_HOUR ' . $max_questions;
1926
- }
1927
- if (isset($_POST['max_connections'])) {
1928
- $max_connections = max(0, (int)$_POST['max_connections']);
1929
- $sql_query .= ' MAX_CONNECTIONS_PER_HOUR ' . $max_connections;
1930
- }
1931
- if (isset($_POST['max_updates'])) {
1932
- $max_updates = max(0, (int)$_POST['max_updates']);
1933
- $sql_query .= ' MAX_UPDATES_PER_HOUR ' . $max_updates;
1934
- }
1935
- if (isset($_POST['max_user_connections'])) {
1936
- $max_user_connections = max(0, (int)$_POST['max_user_connections']);
1937
- $sql_query .= ' MAX_USER_CONNECTIONS ' . $max_user_connections;
1938
- }
1939
- return ((!empty($sql_query)) ? ' WITH' . $sql_query : '');
1940
- }
1941
-
1942
- /**
1943
- * Get HTML for addUsersForm, This function call if isset($_REQUEST['adduser'])
1944
- *
1945
- * @param string $dbname database name
1946
- *
1947
- * @return string HTML for addUserForm
1948
- */
1949
- function PMA_getHtmlForAddUser($dbname)
1950
- {
1951
- $html_output = '<h2>' . "\n"
1952
- . PMA_Util::getIcon('b_usradd.png') . __('Add user') . "\n"
1953
- . '</h2>' . "\n"
1954
- . '<form name="usersForm" id="addUsersForm"'
1955
- . ' onsubmit="return checkAddUser(this);"'
1956
- . ' action="server_privileges.php" method="post" autocomplete="off" >' . "\n"
1957
- . PMA_URL_getHiddenInputs('', '')
1958
- . PMA_getHtmlForLoginInformationFields('new');
1959
-
1960
- $html_output .= '<fieldset id="fieldset_add_user_database">' . "\n"
1961
- . '<legend>' . __('Database for user') . '</legend>' . "\n";
1962
-
1963
- $html_output .= PMA_Util::getCheckbox(
1964
- 'createdb-1',
1965
- __('Create database with same name and grant all privileges.'),
1966
- false, false, 'createdb-1'
1967
- );
1968
- $html_output .= '<br />' . "\n";
1969
- $html_output .= PMA_Util::getCheckbox(
1970
- 'createdb-2',
1971
- __('Grant all privileges on wildcard name (username\\_%).'),
1972
- false, false, 'createdb-2'
1973
- );
1974
- $html_output .= '<br />' . "\n";
1975
-
1976
- if (! empty($dbname) ) {
1977
- $html_output .= PMA_Util::getCheckbox(
1978
- 'createdb-3',
1979
- sprintf(
1980
- __('Grant all privileges on database "%s".'),
1981
- htmlspecialchars($dbname)
1982
- ),
1983
- true,
1984
- false,
1985
- 'createdb-3'
1986
- );
1987
- $html_output .= '<input type="hidden" name="dbname" value="'
1988
- . htmlspecialchars($dbname) . '" />' . "\n";
1989
- $html_output .= '<br />' . "\n";
1990
- }
1991
-
1992
- $html_output .= '</fieldset>' . "\n";
1993
- if ($GLOBALS['is_grantuser']) {
1994
- $html_output .= PMA_getHtmlToDisplayPrivilegesTable('*', '*', false);
1995
- }
1996
- $html_output .= '<fieldset id="fieldset_add_user_footer" class="tblFooters">'
1997
- . "\n"
1998
- . '<input type="hidden" name="adduser_submit" value="1" />' . "\n"
1999
- . '<input type="submit" id="adduser_submit" value="' . __('Go') . '" />'
2000
- . "\n"
2001
- . '</fieldset>' . "\n"
2002
- . '</form>' . "\n";
2003
-
2004
- return $html_output;
2005
- }
2006
-
2007
- /**
2008
- * Get the list of privileges and list of compared privileges as strings
2009
- * and return a array that contains both strings
2010
- *
2011
- * @return array $list_of_privileges, $list_of_compared_privileges
2012
- */
2013
- function PMA_getListOfPrivilegesAndComparedPrivileges()
2014
- {
2015
- $list_of_privileges
2016
- = '`User`, '
2017
- . '`Host`, '
2018
- . '`Select_priv`, '
2019
- . '`Insert_priv`, '
2020
- . '`Update_priv`, '
2021
- . '`Delete_priv`, '
2022
- . '`Create_priv`, '
2023
- . '`Drop_priv`, '
2024
- . '`Grant_priv`, '
2025
- . '`Index_priv`, '
2026
- . '`Alter_priv`, '
2027
- . '`References_priv`, '
2028
- . '`Create_tmp_table_priv`, '
2029
- . '`Lock_tables_priv`, '
2030
- . '`Create_view_priv`, '
2031
- . '`Show_view_priv`, '
2032
- . '`Create_routine_priv`, '
2033
- . '`Alter_routine_priv`, '
2034
- . '`Execute_priv`';
2035
-
2036
- $listOfComparedPrivs
2037
- = '`Select_priv` = \'N\''
2038
- . ' AND `Insert_priv` = \'N\''
2039
- . ' AND `Update_priv` = \'N\''
2040
- . ' AND `Delete_priv` = \'N\''
2041
- . ' AND `Create_priv` = \'N\''
2042
- . ' AND `Drop_priv` = \'N\''
2043
- . ' AND `Grant_priv` = \'N\''
2044
- . ' AND `References_priv` = \'N\''
2045
- . ' AND `Create_tmp_table_priv` = \'N\''
2046
- . ' AND `Lock_tables_priv` = \'N\''
2047
- . ' AND `Create_view_priv` = \'N\''
2048
- . ' AND `Show_view_priv` = \'N\''
2049
- . ' AND `Create_routine_priv` = \'N\''
2050
- . ' AND `Alter_routine_priv` = \'N\''
2051
- . ' AND `Execute_priv` = \'N\'';
2052
-
2053
- $list_of_privileges .=
2054
- ', `Event_priv`, '
2055
- . '`Trigger_priv`';
2056
- $listOfComparedPrivs .=
2057
- ' AND `Event_priv` = \'N\''
2058
- . ' AND `Trigger_priv` = \'N\'';
2059
- return array($list_of_privileges, $listOfComparedPrivs);
2060
- }
2061
-
2062
- /**
2063
- * Get the HTML for user form and check the privileges for a particular database.
2064
- *
2065
- * @param string $db database name
2066
- *
2067
- * @return string $html_output
2068
- */
2069
- function PMA_getHtmlForSpecificDbPrivileges($db)
2070
- {
2071
- $html_output = '';
2072
- if ($GLOBALS['is_superuser']) {
2073
- // check the privileges for a particular database.
2074
- $html_output = '<form id="usersForm" action="server_privileges.php">';
2075
- $html_output .= PMA_URL_getHiddenInputs($db);
2076
- $html_output .= '<fieldset>';
2077
- $html_output .= '<legend>' . "\n"
2078
- . PMA_Util::getIcon('b_usrcheck.png')
2079
- . ' '
2080
- . sprintf(
2081
- __('Users having access to "%s"'),
2082
- '<a href="' . $GLOBALS['cfg']['DefaultTabDatabase']
2083
- . PMA_URL_getCommon(array('db' => $db)) . '">'
2084
- . htmlspecialchars($db)
2085
- . '</a>'
2086
- )
2087
- . "\n"
2088
- . '</legend>' . "\n";
2089
-
2090
- $html_output .= '<table id="dbspecificuserrights" class="data">';
2091
- $html_output .= PMA_getHtmlForPrivsTableHead();
2092
- $privMap = PMA_getPrivMap($db);
2093
- $html_output .= PMA_getHtmlTableBodyForSpecificDbOrTablePrivs($privMap, $db);
2094
- $html_output .= '</table>';
2095
-
2096
- $html_output .= '<div style="float:left;">';
2097
- $html_output .= PMA_Util::getWithSelected(
2098
- $GLOBALS['pmaThemeImage'], $GLOBALS['text_dir'], "usersForm"
2099
- );
2100
- $html_output .= PMA_Util::getButtonOrImage(
2101
- 'submit_mult', 'mult_submit', 'submit_mult_export',
2102
- __('Export'), 'b_tblexport.png', 'export'
2103
- );
2104
-
2105
- $html_output .= '</fieldset>';
2106
- $html_output .= '</form>';
2107
- } else {
2108
- $html_output .= PMA_getHtmlForViewUsersError();
2109
- }
2110
-
2111
- if ($GLOBALS['is_ajax_request'] == true
2112
- && empty($_REQUEST['ajax_page_request'])
2113
- ) {
2114
- $message = PMA_Message::success(__('User has been added.'));
2115
- $response = PMA_Response::getInstance();
2116
- $response->addJSON('message', $message);
2117
- $response->addJSON('user_form', $html_output);
2118
- exit;
2119
- } else {
2120
- // Offer to create a new user for the current database
2121
- $html_output .= PMA_getAddUserHtmlFieldset($db);
2122
- }
2123
- return $html_output;
2124
- }
2125
-
2126
- /**
2127
- * Get the HTML for user form and check the privileges for a particular table.
2128
- *
2129
- * @param string $db database name
2130
- * @param string $table table name
2131
- *
2132
- * @return string $html_output
2133
- */
2134
- function PMA_getHtmlForSpecificTablePrivileges($db, $table)
2135
- {
2136
- $html_output = '';
2137
- if ($GLOBALS['is_superuser']) {
2138
- // check the privileges for a particular table.
2139
- $html_output = '<form id="usersForm" action="server_privileges.php">';
2140
- $html_output .= PMA_URL_getHiddenInputs($db, $table);
2141
- $html_output .= '<fieldset>';
2142
- $html_output .= '<legend>'
2143
- . PMA_Util::getIcon('b_usrcheck.png')
2144
- . sprintf(
2145
- __('Users having access to "%s"'),
2146
- '<a href="' . $GLOBALS['cfg']['DefaultTabTable']
2147
- . PMA_URL_getCommon(
2148
- array(
2149
- 'db' => $db,
2150
- 'table' => $table,
2151
- )
2152
- ) . '">'
2153
- . htmlspecialchars($db) . '.' . htmlspecialchars($table)
2154
- . '</a>'
2155
- )
2156
- . '</legend>';
2157
-
2158
- $html_output .= '<table id="tablespecificuserrights" class="data">';
2159
- $html_output .= PMA_getHtmlForPrivsTableHead();
2160
- $privMap = PMA_getPrivMap($db);
2161
- $sql_query = "SELECT `User`, `Host`, `Db`,"
2162
- . " 't' AS `Type`, `Table_name`, `Table_priv`"
2163
- . " FROM `mysql`.`tables_priv`"
2164
- . " WHERE '" . PMA_Util::sqlAddSlashes($db) . "' LIKE `Db`"
2165
- . " AND '" . PMA_Util::sqlAddSlashes($table) . "' LIKE `Table_name`"
2166
- . " AND NOT (`Table_priv` = '' AND Column_priv = '')"
2167
- . " ORDER BY `User` ASC, `Host` ASC, `Db` ASC, `Table_priv` ASC;";
2168
- $res = $GLOBALS['dbi']->query($sql_query);
2169
- PMA_mergePrivMapFromResult($privMap, $res);
2170
- $html_output .= PMA_getHtmlTableBodyForSpecificDbOrTablePrivs($privMap, $db);
2171
- $html_output .= '</table>';
2172
-
2173
- $html_output .= '<div style="float:left;">';
2174
- $html_output .= PMA_Util::getWithSelected(
2175
- $GLOBALS['pmaThemeImage'], $GLOBALS['text_dir'], "usersForm"
2176
- );
2177
- $html_output .= PMA_Util::getButtonOrImage(
2178
- 'submit_mult', 'mult_submit', 'submit_mult_export',
2179
- __('Export'), 'b_tblexport.png', 'export'
2180
- );
2181
-
2182
- $html_output .= '</fieldset>';
2183
- $html_output .= '</form>';
2184
- } else {
2185
- $html_output .= PMA_getHtmlForViewUsersError();
2186
- }
2187
- // Offer to create a new user for the current database
2188
- $html_output .= PMA_getAddUserHtmlFieldset($db, $table);
2189
- return $html_output;
2190
- }
2191
-
2192
- /**
2193
- * gets privilege map
2194
- *
2195
- * @param string $db the database
2196
- *
2197
- * @return array $privMap the privilege map
2198
- */
2199
- function PMA_getPrivMap($db)
2200
- {
2201
- list($listOfPrivs, $listOfComparedPrivs)
2202
- = PMA_getListOfPrivilegesAndComparedPrivileges();
2203
- $sql_query
2204
- = "("
2205
- . " SELECT " . $listOfPrivs . ", '*' AS `Db`, 'g' AS `Type`"
2206
- . " FROM `mysql`.`user`"
2207
- . " WHERE NOT (" . $listOfComparedPrivs . ")"
2208
- . ")"
2209
- . " UNION "
2210
- . "("
2211
- . " SELECT " . $listOfPrivs . ", `Db`, 'd' AS `Type`"
2212
- . " FROM `mysql`.`db`"
2213
- . " WHERE '" . PMA_Util::sqlAddSlashes($db) . "' LIKE `Db`"
2214
- . " AND NOT (" . $listOfComparedPrivs . ")"
2215
- . ")"
2216
- . " ORDER BY `User` ASC, `Host` ASC, `Db` ASC;";
2217
- $res = $GLOBALS['dbi']->query($sql_query);
2218
- $privMap = array();
2219
- PMA_mergePrivMapFromResult($privMap, $res);
2220
- return $privMap;
2221
- }
2222
-
2223
- /**
2224
- * merge privilege map and rows from resultset
2225
- *
2226
- * @param array &$privMap the privilege map reference
2227
- * @param object $result the resultset of query
2228
- *
2229
- * @return void
2230
- */
2231
- function PMA_mergePrivMapFromResult(&$privMap, $result)
2232
- {
2233
- while ($row = $GLOBALS['dbi']->fetchAssoc($result)) {
2234
- $user = $row['User'];
2235
- $host = $row['Host'];
2236
- if (! isset($privMap[$user])) {
2237
- $privMap[$user] = array();
2238
- }
2239
- if (! isset($privMap[$user][$host])) {
2240
- $privMap[$user][$host] = array();
2241
- }
2242
- $privMap[$user][$host][] = $row;
2243
- }
2244
- }
2245
-
2246
- /**
2247
- * Get HTML snippet for privileges table head
2248
- *
2249
- * @return string $html_output
2250
- */
2251
- function PMA_getHtmlForPrivsTableHead()
2252
- {
2253
- return '<thead>'
2254
- . '<tr>'
2255
- . '<th></th>'
2256
- . '<th>' . __('User') . '</th>'
2257
- . '<th>' . __('Host') . '</th>'
2258
- . '<th>' . __('Type') . '</th>'
2259
- . '<th>' . __('Privileges') . '</th>'
2260
- . '<th>' . __('Grant') . '</th>'
2261
- . '<th>' . __('Action') . '</th>'
2262
- . '</tr>'
2263
- . '</thead>';
2264
- }
2265
-
2266
- /**
2267
- * Get HTML error for View Users form
2268
- * For non superusers such as grant/create users
2269
- *
2270
- * @return string $html_output
2271
- */
2272
- function PMA_getHtmlForViewUsersError()
2273
- {
2274
- return PMA_Message::error(
2275
- __('Not enough privilege to view users.')
2276
- )->getDisplay();
2277
- }
2278
-
2279
- /**
2280
- * Get HTML snippet for table body of specific database or table privileges
2281
- *
2282
- * @param array $privMap privilege map
2283
- * @param string $db database
2284
- *
2285
- * @return string $html_output
2286
- */
2287
- function PMA_getHtmlTableBodyForSpecificDbOrTablePrivs($privMap, $db)
2288
- {
2289
- $html_output = '<tbody>';
2290
- $index_checkbox = 0;
2291
- $odd_row = true;
2292
- if (empty($privMap)) {
2293
- $html_output .= '<tr class="odd">'
2294
- . '<td colspan="6">'
2295
- . __('No user found.')
2296
- . '</td>'
2297
- . '</tr>'
2298
- . '</tbody>';
2299
- return $html_output;
2300
- }
2301
-
2302
- foreach ($privMap as $current_user => $val) {
2303
- foreach ($val as $current_host => $current_privileges) {
2304
- $nbPrivileges = count($current_privileges);
2305
- $html_output .= '<tr class="noclick '
2306
- . ($odd_row ? 'odd' : 'even') . '">';
2307
-
2308
- $value = htmlspecialchars($current_user . '&amp;#27;' . $current_host);
2309
- $html_output .= '<td';
2310
- if ($nbPrivileges > 1) {
2311
- $html_output .= ' rowspan="' . $nbPrivileges . '"';
2312
- }
2313
- $html_output .= '>';
2314
- $html_output .= '<input type="checkbox" class="checkall" name="selected_usr[]" '
2315
- . 'id="checkbox_sel_users_' . ($index_checkbox++) . '" '
2316
- . 'value="' . $value . '" /></td>' . "\n";
2317
-
2318
- // user
2319
- $html_output .= '<td';
2320
- if ($nbPrivileges > 1) {
2321
- $html_output .= ' rowspan="' . $nbPrivileges . '"';
2322
- }
2323
- $html_output .= '>';
2324
- if (empty($current_user)) {
2325
- $html_output .= '<span style="color: #FF0000">'
2326
- . __('Any') . '</span>';
2327
- } else {
2328
- $html_output .= htmlspecialchars($current_user);
2329
- }
2330
- $html_output .= '</td>';
2331
-
2332
- // host
2333
- $html_output .= '<td';
2334
- if ($nbPrivileges > 1) {
2335
- $html_output .= ' rowspan="' . $nbPrivileges . '"';
2336
- }
2337
- $html_output .= '>';
2338
- $html_output .= htmlspecialchars($current_host);
2339
- $html_output .= '</td>';
2340
-
2341
- $html_output .= PMA_getHtmlListOfPrivs(
2342
- $db, $current_privileges, $current_user,
2343
- $current_host, $odd_row
2344
- );
2345
-
2346
- $odd_row = ! $odd_row;
2347
- }
2348
- }
2349
- $html_output .= '</tbody>';
2350
-
2351
- return $html_output;
2352
- }
2353
-
2354
- /**
2355
- * Get HTML to display privileges
2356
- *
2357
- * @param string $db Database name
2358
- * @param array $current_privileges List of privileges
2359
- * @param string $current_user Current user
2360
- * @param string $current_host Current host
2361
- * @param boolean $odd_row Current row is odd
2362
- *
2363
- * @return string HTML to display privileges
2364
- */
2365
- function PMA_getHtmlListOfPrivs(
2366
- $db, $current_privileges, $current_user,
2367
- $current_host, $odd_row
2368
- ) {
2369
- $nbPrivileges = count($current_privileges);
2370
- $html_output = null;
2371
- for ($i = 0; $i < $nbPrivileges; $i++) {
2372
- $current = $current_privileges[$i];
2373
-
2374
- // type
2375
- $html_output .= '<td>';
2376
- if ($current['Type'] == 'g') {
2377
- $html_output .= __('global');
2378
- } elseif ($current['Type'] == 'd') {
2379
- if ($current['Db'] == PMA_Util::escapeMysqlWildcards($db)) {
2380
- $html_output .= __('database-specific');
2381
- } else {
2382
- $html_output .= __('wildcard') . ': '
2383
- . '<code>'
2384
- . htmlspecialchars($current['Db'])
2385
- . '</code>';
2386
- }
2387
- } elseif ($current['Type'] == 't') {
2388
- $html_output .= __('table-specific');
2389
- }
2390
- $html_output .= '</td>';
2391
-
2392
- // privileges
2393
- $html_output .= '<td>';
2394
- if (isset($current['Table_name'])) {
2395
- $privList = explode(',', $current['Table_priv']);
2396
- $privs = array();
2397
- $grantsArr = PMA_getTableGrantsArray();
2398
- foreach ($grantsArr as $grant) {
2399
- $privs[$grant[0]] = 'N';
2400
- foreach ($privList as $priv) {
2401
- if ($grant[0] == $priv) {
2402
- $privs[$grant[0]] = 'Y';
2403
- }
2404
- }
2405
- }
2406
- $html_output .= '<code>'
2407
- . join(
2408
- ',',
2409
- PMA_extractPrivInfo($privs, true, true)
2410
- )
2411
- . '</code>';
2412
- } else {
2413
- $html_output .= '<code>'
2414
- . join(
2415
- ',',
2416
- PMA_extractPrivInfo($current, true, false)
2417
- )
2418
- . '</code>';
2419
- }
2420
- $html_output .= '</td>';
2421
-
2422
- // grant
2423
- $html_output .= '<td>';
2424
- $containsGrant = false;
2425
- if (isset($current['Table_name'])) {
2426
- $privList = explode(',', $current['Table_priv']);
2427
- foreach ($privList as $priv) {
2428
- if ($priv == 'Grant') {
2429
- $containsGrant = true;
2430
- }
2431
- }
2432
- } else {
2433
- $containsGrant = $current['Grant_priv'] == 'Y';
2434
- }
2435
- $html_output .= ($containsGrant ? __('Yes') : __('No'));
2436
- $html_output .= '</td>';
2437
-
2438
- // action
2439
- $html_output .= '<td>';
2440
- if ($GLOBALS['is_grantuser']) {
2441
- $specific_db = (isset($current['Db']) && $current['Db'] != '*')
2442
- ? $current['Db'] : '';
2443
- $specific_table = (isset($current['Table_name'])
2444
- && $current['Table_name'] != '*')
2445
- ? $current['Table_name'] : '';
2446
- $html_output .= PMA_getUserLink(
2447
- 'edit',
2448
- $current_user,
2449
- $current_host,
2450
- $specific_db,
2451
- $specific_table
2452
- );
2453
- }
2454
- $html_output .= '</td>';
2455
-
2456
- $html_output .= '</tr>';
2457
- if (($i + 1) < $nbPrivileges) {
2458
- $html_output .= '<tr class="noclick '
2459
- . ($odd_row ? 'odd' : 'even') . '">';
2460
- }
2461
- }
2462
- return $html_output;
2463
- }
2464
-
2465
- /**
2466
- * Returns edit, revoke or export link for a user.
2467
- *
2468
- * @param string $linktype The link type (edit | revoke | export)
2469
- * @param string $username User name
2470
- * @param string $hostname Host name
2471
- * @param string $dbname Database name
2472
- * @param string $tablename Table name
2473
- * @param string $initial Initial value
2474
- *
2475
- * @return string HTML code with link
2476
- */
2477
- function PMA_getUserLink(
2478
- $linktype, $username, $hostname, $dbname = '', $tablename = '', $initial = ''
2479
- ) {
2480
- $html = '<a';
2481
- switch($linktype) {
2482
- case 'edit':
2483
- $html .= ' class="edit_user_anchor"';
2484
- break;
2485
- case 'export':
2486
- $html .= ' class="export_user_anchor ajax"';
2487
- break;
2488
- }
2489
- $params = array(
2490
- 'username' => $username,
2491
- 'hostname' => $hostname
2492
- );
2493
- switch($linktype) {
2494
- case 'edit':
2495
- $params['dbname'] = $dbname;
2496
- $params['tablename'] = $tablename;
2497
- break;
2498
- case 'revoke':
2499
- $params['dbname'] = $dbname;
2500
- $params['tablename'] = $tablename;
2501
- $params['revokeall'] = 1;
2502
- break;
2503
- case 'export':
2504
- $params['initial'] = $initial;
2505
- $params['export'] = 1;
2506
- break;
2507
- }
2508
-
2509
- $html .= ' href="server_privileges.php'
2510
- . PMA_URL_getCommon($params)
2511
- . '">';
2512
-
2513
- switch($linktype) {
2514
- case 'edit':
2515
- $html .= PMA_Util::getIcon('b_usredit.png', __('Edit Privileges'));
2516
- break;
2517
- case 'revoke':
2518
- $html .= PMA_Util::getIcon('b_usrdrop.png', __('Revoke'));
2519
- break;
2520
- case 'export':
2521
- $html .= PMA_Util::getIcon('b_tblexport.png', __('Export'));
2522
- break;
2523
- }
2524
- $html .= '</a>';
2525
-
2526
- return $html;
2527
- }
2528
-
2529
- /**
2530
- * Returns user group edit link
2531
- *
2532
- * @param string $username User name
2533
- *
2534
- * @return HTML code with link
2535
- */
2536
- function PMA_getUserGroupEditLink($username)
2537
- {
2538
- return '<a class="edit_user_group_anchor ajax"'
2539
- . ' href="server_privileges.php'
2540
- . PMA_URL_getCommon(array('username' => $username))
2541
- . '">'
2542
- . PMA_Util::getIcon('b_usrlist.png', __('Edit user group'))
2543
- . '</a>';
2544
- }
2545
-
2546
- /**
2547
- * Returns number of defined user groups
2548
- *
2549
- * @return integer $user_group_count
2550
- */
2551
- function PMA_getUserGroupCount()
2552
- {
2553
- $cfgRelation = PMA_getRelationsParam();
2554
- $user_group_table = PMA_Util::backquote($cfgRelation['db'])
2555
- . '.' . PMA_Util::backquote($cfgRelation['usergroups']);
2556
- $sql_query = 'SELECT COUNT(*) FROM ' . $user_group_table;
2557
- $user_group_count = $GLOBALS['dbi']->fetchValue(
2558
- $sql_query, 0, 0, $GLOBALS['controllink']
2559
- );
2560
-
2561
- return $user_group_count;
2562
- }
2563
-
2564
- /**
2565
- * This function return the extra data array for the ajax behavior
2566
- *
2567
- * @param string $password password
2568
- * @param string $sql_query sql query
2569
- * @param string $hostname hostname
2570
- * @param string $username username
2571
- *
2572
- * @return array $extra_data
2573
- */
2574
- function PMA_getExtraDataForAjaxBehavior(
2575
- $password, $sql_query, $hostname, $username
2576
- ) {
2577
- if (isset($GLOBALS['dbname'])) {
2578
- //if (preg_match('/\\\\(?:_|%)/i', $dbname)) {
2579
- if (preg_match('/(?<!\\\\)(?:_|%)/i', $GLOBALS['dbname'])) {
2580
- $dbname_is_wildcard = true;
2581
- } else {
2582
- $dbname_is_wildcard = false;
2583
- }
2584
- }
2585
-
2586
- $user_group_count = 0;
2587
- if ($GLOBALS['cfgRelation']['menuswork']) {
2588
- $user_group_count = PMA_getUserGroupCount();
2589
- }
2590
-
2591
- $extra_data = array();
2592
- if (/*overload*/mb_strlen($sql_query)) {
2593
- $extra_data['sql_query'] = PMA_Util::getMessage(null, $sql_query);
2594
- }
2595
-
2596
- if (isset($_REQUEST['change_copy'])) {
2597
- /**
2598
- * generate html on the fly for the new user that was just created.
2599
- */
2600
- $new_user_string = '<tr>' . "\n"
2601
- . '<td> <input type="checkbox" name="selected_usr[]" '
2602
- . 'id="checkbox_sel_users_"'
2603
- . 'value="'
2604
- . htmlspecialchars($username)
2605
- . '&amp;#27;' . htmlspecialchars($hostname) . '" />'
2606
- . '</td>' . "\n"
2607
- . '<td><label for="checkbox_sel_users_">'
2608
- . (empty($_REQUEST['username'])
2609
- ? '<span style="color: #FF0000">' . __('Any') . '</span>'
2610
- : htmlspecialchars($username) ) . '</label></td>' . "\n"
2611
- . '<td>' . htmlspecialchars($hostname) . '</td>' . "\n";
2612
-
2613
- $new_user_string .= '<td>';
2614
-
2615
- if (! empty($password) || isset($_POST['pma_pw'])) {
2616
- $new_user_string .= __('Yes');
2617
- } else {
2618
- $new_user_string .= '<span style="color: #FF0000">'
2619
- . __('No')
2620
- . '</span>';
2621
- };
2622
-
2623
- $new_user_string .= '</td>' . "\n";
2624
- $new_user_string .= '<td>'
2625
- . '<code>' . join(', ', PMA_extractPrivInfo(null, true)) . '</code>'
2626
- . '</td>'; //Fill in privileges here
2627
-
2628
- // if $cfg['Servers'][$i]['users'] and $cfg['Servers'][$i]['usergroups'] are
2629
- // enabled
2630
- $cfgRelation = PMA_getRelationsParam();
2631
- if (isset($cfgRelation['users']) && isset($cfgRelation['usergroups'])) {
2632
- $new_user_string .= '<td class="usrGroup"></td>';
2633
- }
2634
-
2635
- $new_user_string .= '<td>';
2636
- if ((isset($_POST['Grant_priv']) && $_POST['Grant_priv'] == 'Y')) {
2637
- $new_user_string .= __('Yes');
2638
- } else {
2639
- $new_user_string .= __('No');
2640
- }
2641
- $new_user_string .='</td>';
2642
-
2643
- if ($GLOBALS['is_grantuser']) {
2644
- $new_user_string .= '<td>'
2645
- . PMA_getUserLink('edit', $username, $hostname)
2646
- . '</td>' . "\n";
2647
- }
2648
-
2649
- if (isset($cfgRelation['menuswork']) && $user_group_count > 0) {
2650
- $new_user_string .= '<td>'
2651
- . PMA_getUserGroupEditLink($username)
2652
- . '</td>' . "\n";
2653
- }
2654
-
2655
- $new_user_string .= '<td>'
2656
- . PMA_getUserLink(
2657
- 'export',
2658
- $username,
2659
- $hostname,
2660
- '',
2661
- '',
2662
- isset($_GET['initial']) ? $_GET['initial'] : ''
2663
- )
2664
- . '</td>' . "\n";
2665
-
2666
- $new_user_string .= '</tr>';
2667
-
2668
- $extra_data['new_user_string'] = $new_user_string;
2669
-
2670
- /**
2671
- * Generate the string for this alphabet's initial, to update the user
2672
- * pagination
2673
- */
2674
- $new_user_initial = /*overload*/mb_strtoupper(
2675
- /*overload*/mb_substr($username, 0, 1)
2676
- );
2677
- $newUserInitialString = '<a href="server_privileges.php'
2678
- . PMA_URL_getCommon(array('initial' => $new_user_initial)) . '">'
2679
- . $new_user_initial . '</a>';
2680
- $extra_data['new_user_initial'] = $new_user_initial;
2681
- $extra_data['new_user_initial_string'] = $newUserInitialString;
2682
- }
2683
-
2684
- if (isset($_POST['update_privs'])) {
2685
- $extra_data['db_specific_privs'] = false;
2686
- $extra_data['db_wildcard_privs'] = false;
2687
- if (isset($dbname_is_wildcard)) {
2688
- $extra_data['db_specific_privs'] = ! $dbname_is_wildcard;
2689
- $extra_data['db_wildcard_privs'] = $dbname_is_wildcard;
2690
- }
2691
- $new_privileges = join(', ', PMA_extractPrivInfo(null, true));
2692
-
2693
- $extra_data['new_privileges'] = $new_privileges;
2694
- }
2695
-
2696
- if (isset($_REQUEST['validate_username'])) {
2697
- $sql_query = "SELECT * FROM `mysql`.`user` WHERE `User` = '"
2698
- . $_REQUEST['username'] . "';";
2699
- $res = $GLOBALS['dbi']->query($sql_query);
2700
- $row = $GLOBALS['dbi']->fetchRow($res);
2701
- if (empty($row)) {
2702
- $extra_data['user_exists'] = false;
2703
- } else {
2704
- $extra_data['user_exists'] = true;
2705
- }
2706
- }
2707
-
2708
- return $extra_data;
2709
- }
2710
-
2711
- /**
2712
- * Get the HTML snippet for change user login information
2713
- *
2714
- * @param string $username username
2715
- * @param string $hostname host name
2716
- *
2717
- * @return string HTML snippet
2718
- */
2719
- function PMA_getChangeLoginInformationHtmlForm($username, $hostname)
2720
- {
2721
- $choices = array(
2722
- '4' => __('… keep the old one.'),
2723
- '1' => __('… delete the old one from the user tables.'),
2724
- '2' => __(
2725
- '… revoke all active privileges from '
2726
- . 'the old one and delete it afterwards.'
2727
- ),
2728
- '3' => __(
2729
- '… delete the old one from the user tables '
2730
- . 'and reload the privileges afterwards.'
2731
- )
2732
- );
2733
-
2734
- $html_output = '<form action="server_privileges.php" '
2735
- . 'onsubmit="return checkAddUser(this);" '
2736
- . 'method="post" class="copyUserForm submenu-item">' . "\n"
2737
- . PMA_URL_getHiddenInputs('', '')
2738
- . '<input type="hidden" name="old_username" '
2739
- . 'value="' . htmlspecialchars($username) . '" />' . "\n"
2740
- . '<input type="hidden" name="old_hostname" '
2741
- . 'value="' . htmlspecialchars($hostname) . '" />' . "\n"
2742
- . '<fieldset id="fieldset_change_copy_user">' . "\n"
2743
- . '<legend data-submenu-label="' . __('Login Information') . '">' . "\n"
2744
- . __('Change Login Information / Copy User')
2745
- . '</legend>' . "\n"
2746
- . PMA_getHtmlForLoginInformationFields('change');
2747
-
2748
- $html_output .= '<fieldset id="fieldset_mode">' . "\n"
2749
- . ' <legend>'
2750
- . __('Create a new user with the same privileges and …')
2751
- . '</legend>' . "\n";
2752
- $html_output .= PMA_Util::getRadioFields(
2753
- 'mode', $choices, '4', true
2754
- );
2755
- $html_output .= '</fieldset>' . "\n"
2756
- . '</fieldset>' . "\n";
2757
-
2758
- $html_output .= '<fieldset id="fieldset_change_copy_user_footer" '
2759
- . 'class="tblFooters">' . "\n"
2760
- . '<input type="hidden" name="change_copy" value="1" />' . "\n"
2761
- . '<input type="submit" value="' . __('Go') . '" />' . "\n"
2762
- . '</fieldset>' . "\n"
2763
- . '</form>' . "\n";
2764
-
2765
- return $html_output;
2766
- }
2767
-
2768
- /**
2769
- * Provide a line with links to the relevant database and table
2770
- *
2771
- * @param string $url_dbname url database name that urlencode() string
2772
- * @param string $dbname database name
2773
- * @param string $tablename table name
2774
- *
2775
- * @return string HTML snippet
2776
- */
2777
- function PMA_getLinkToDbAndTable($url_dbname, $dbname, $tablename)
2778
- {
2779
- $html_output = '[ ' . __('Database')
2780
- . ' <a href="' . $GLOBALS['cfg']['DefaultTabDatabase']
2781
- . PMA_URL_getCommon(
2782
- array(
2783
- 'db' => $url_dbname,
2784
- 'reload' => 1
2785
- )
2786
- )
2787
- . '">'
2788
- . htmlspecialchars($dbname) . ': '
2789
- . PMA_Util::getTitleForTarget(
2790
- $GLOBALS['cfg']['DefaultTabDatabase']
2791
- )
2792
- . "</a> ]\n";
2793
-
2794
- if (/*overload*/mb_strlen($tablename)) {
2795
- $html_output .= ' [ ' . __('Table') . ' <a href="'
2796
- . $GLOBALS['cfg']['DefaultTabTable']
2797
- . PMA_URL_getCommon(
2798
- array(
2799
- 'db' => $url_dbname,
2800
- 'table' => $tablename,
2801
- 'reload' => 1,
2802
- )
2803
- )
2804
- . '">' . htmlspecialchars($tablename) . ': '
2805
- . PMA_Util::getTitleForTarget(
2806
- $GLOBALS['cfg']['DefaultTabTable']
2807
- )
2808
- . "</a> ]\n";
2809
- }
2810
- return $html_output;
2811
- }
2812
-
2813
- /**
2814
- * no db name given, so we want all privs for the given user
2815
- * db name was given, so we want all user specific rights for this db
2816
- * So this function returns user rights as an array
2817
- *
2818
- * @param array $tables tables
2819
- * @param string $user_host_condition a where clause that contained user's host
2820
- * condition
2821
- * @param string $dbname database name
2822
- *
2823
- * @return array $db_rights database rights
2824
- */
2825
- function PMA_getUserSpecificRights($tables, $user_host_condition, $dbname)
2826
- {
2827
- if (!/*overload*/mb_strlen($dbname)) {
2828
- $tables_to_search_for_users = array(
2829
- 'tables_priv', 'columns_priv',
2830
- );
2831
- $dbOrTableName = 'Db';
2832
- } else {
2833
- $user_host_condition .=
2834
- ' AND `Db`'
2835
- . ' LIKE \''
2836
- . PMA_Util::sqlAddSlashes($dbname, true) . "'";
2837
- $tables_to_search_for_users = array('columns_priv',);
2838
- $dbOrTableName = 'Table_name';
2839
- }
2840
-
2841
- $db_rights_sqls = array();
2842
- foreach ($tables_to_search_for_users as $table_search_in) {
2843
- if (in_array($table_search_in, $tables)) {
2844
- $db_rights_sqls[] = '
2845
- SELECT DISTINCT `' . $dbOrTableName . '`
2846
- FROM `mysql`.' . PMA_Util::backquote($table_search_in)
2847
- . $user_host_condition;
2848
- }
2849
- }
2850
-
2851
- $user_defaults = array(
2852
- $dbOrTableName => '',
2853
- 'Grant_priv' => 'N',
2854
- 'privs' => array('USAGE'),
2855
- 'Column_priv' => true,
2856
- );
2857
-
2858
- // for the rights
2859
- $db_rights = array();
2860
-
2861
- $db_rights_sql = '(' . implode(') UNION (', $db_rights_sqls) . ')'
2862
- . ' ORDER BY `' . $dbOrTableName . '` ASC';
2863
-
2864
- $db_rights_result = $GLOBALS['dbi']->query($db_rights_sql);
2865
-
2866
- while ($db_rights_row = $GLOBALS['dbi']->fetchAssoc($db_rights_result)) {
2867
- $db_rights_row = array_merge($user_defaults, $db_rights_row);
2868
- if (!/*overload*/mb_strlen($dbname)) {
2869
- // only Db names in the table `mysql`.`db` uses wildcards
2870
- // as we are in the db specific rights display we want
2871
- // all db names escaped, also from other sources
2872
- $db_rights_row['Db'] = PMA_Util::escapeMysqlWildcards(
2873
- $db_rights_row['Db']
2874
- );
2875
- }
2876
- $db_rights[$db_rights_row[$dbOrTableName]] = $db_rights_row;
2877
- }
2878
-
2879
- $GLOBALS['dbi']->freeResult($db_rights_result);
2880
-
2881
- if (!/*overload*/mb_strlen($dbname)) {
2882
- $sql_query = 'SELECT * FROM `mysql`.`db`'
2883
- . $user_host_condition . ' ORDER BY `Db` ASC';
2884
- } else {
2885
- $sql_query = 'SELECT `Table_name`,'
2886
- . ' `Table_priv`,'
2887
- . ' IF(`Column_priv` = _latin1 \'\', 0, 1)'
2888
- . ' AS \'Column_priv\''
2889
- . ' FROM `mysql`.`tables_priv`'
2890
- . $user_host_condition
2891
- . ' ORDER BY `Table_name` ASC;';
2892
- }
2893
-
2894
- $result = $GLOBALS['dbi']->query($sql_query);
2895
-
2896
- while ($row = $GLOBALS['dbi']->fetchAssoc($result)) {
2897
- if (isset($db_rights[$row[$dbOrTableName]])) {
2898
- $db_rights[$row[$dbOrTableName]]
2899
- = array_merge($db_rights[$row[$dbOrTableName]], $row);
2900
- } else {
2901
- $db_rights[$row[$dbOrTableName]] = $row;
2902
- }
2903
- if (!/*overload*/mb_strlen($dbname)) {
2904
- // there are db specific rights for this user
2905
- // so we can drop this db rights
2906
- $db_rights[$row['Db']]['can_delete'] = true;
2907
- }
2908
- }
2909
- $GLOBALS['dbi']->freeResult($result);
2910
- return $db_rights;
2911
- }
2912
-
2913
- /**
2914
- * Display user rights in table rows(Table specific or database specific privs)
2915
- *
2916
- * @param array $db_rights user's database rights array
2917
- * @param string $dbname database name
2918
- * @param string $hostname host name
2919
- * @param string $username username
2920
- *
2921
- * @return array $found_rows, $html_output
2922
- */
2923
- function PMA_getHtmlForUserRights($db_rights, $dbname,
2924
- $hostname, $username
2925
- ) {
2926
- $html_output = '';
2927
- $found_rows = array();
2928
-
2929
- // display rows
2930
- if (count($db_rights) < 1) {
2931
- $html_output .= '<tr class="odd">' . "\n"
2932
- . '<td colspan="6"><center><i>' . __('None') . '</i></center></td>' . "\n"
2933
- . '</tr>' . "\n";
2934
- return array($found_rows, $html_output);
2935
- }
2936
-
2937
- $odd_row = true;
2938
- //while ($row = $GLOBALS['dbi']->fetchAssoc($res)) {
2939
- foreach ($db_rights as $row) {
2940
- $dbNameLength = /*overload*/mb_strlen($dbname);
2941
- $found_rows[] = (!$dbNameLength)
2942
- ? $row['Db']
2943
- : $row['Table_name'];
2944
-
2945
- $html_output .= '<tr class="' . ($odd_row ? 'odd' : 'even') . '">' . "\n"
2946
- . '<td>'
2947
- . htmlspecialchars(
2948
- (!$dbNameLength)
2949
- ? $row['Db']
2950
- : $row['Table_name']
2951
- )
2952
- . '</td>' . "\n"
2953
- . '<td><code>' . "\n"
2954
- . ' '
2955
- . join(
2956
- ',' . "\n" . ' ',
2957
- PMA_extractPrivInfo($row, true)
2958
- ) . "\n"
2959
- . '</code></td>' . "\n"
2960
- . '<td>'
2961
- . ((((!$dbNameLength) && $row['Grant_priv'] == 'Y')
2962
- || ($dbNameLength
2963
- && in_array('Grant', explode(',', $row['Table_priv']))))
2964
- ? __('Yes')
2965
- : __('No'))
2966
- . '</td>' . "\n"
2967
- . '<td>';
2968
- if (! empty($row['Table_privs']) || ! empty ($row['Column_priv'])) {
2969
- $html_output .= __('Yes');
2970
- } else {
2971
- $html_output .= __('No');
2972
- }
2973
- $html_output .= '</td>';
2974
-
2975
- $html_output .= '<td>';
2976
- if ($GLOBALS['is_grantuser']) {
2977
- $html_output .= PMA_getUserLink(
2978
- 'edit',
2979
- $username,
2980
- $hostname,
2981
- (!$dbNameLength) ? $row['Db'] : $dbname,
2982
- (!$dbNameLength) ? '' : $row['Table_name']
2983
- );
2984
- }
2985
- $html_output .= '</td>';
2986
-
2987
- $html_output .= '<td>';
2988
- if (! empty($row['can_delete'])
2989
- || isset($row['Table_name'])
2990
- && /*overload*/mb_strlen($row['Table_name'])
2991
- ) {
2992
- $html_output .= PMA_getUserLink(
2993
- 'revoke',
2994
- $username,
2995
- $hostname,
2996
- (!$dbNameLength) ? $row['Db'] : $dbname,
2997
- (!$dbNameLength) ? '' : $row['Table_name']
2998
- );
2999
- }
3000
- $html_output .= '</td>' . "\n"
3001
- . '</tr>' . "\n";
3002
- $odd_row = ! $odd_row;
3003
- } // end while
3004
-
3005
- return array($found_rows, $html_output);
3006
- }
3007
-
3008
- /**
3009
- * Get a HTML table for display user's tabel specific or database specific rights
3010
- *
3011
- * @param string $username username
3012
- * @param string $hostname host name
3013
- * @param string $dbname database name
3014
- *
3015
- * @return array $html_output, $found_rows
3016
- */
3017
- function PMA_getHtmlForAllTableSpecificRights(
3018
- $username, $hostname, $dbname
3019
- ) {
3020
- // table header
3021
- $html_output = PMA_URL_getHiddenInputs('', '')
3022
- . '<input type="hidden" name="username" '
3023
- . 'value="' . htmlspecialchars($username) . '" />' . "\n"
3024
- . '<input type="hidden" name="hostname" '
3025
- . 'value="' . htmlspecialchars($hostname) . '" />' . "\n"
3026
- . '<fieldset>' . "\n"
3027
- . '<legend data-submenu-label="'
3028
- . (!/*overload*/mb_strlen($dbname)
3029
- ? __('Database')
3030
- : __('Table')
3031
- )
3032
- . '">'
3033
- . (!/*overload*/mb_strlen($dbname)
3034
- ? __('Database-specific privileges')
3035
- : __('Table-specific privileges')
3036
- )
3037
- . '</legend>' . "\n"
3038
- . '<table class="data">' . "\n"
3039
- . '<thead>' . "\n"
3040
- . '<tr><th>'
3041
- . (!/*overload*/mb_strlen($dbname) ? __('Database') : __('Table'))
3042
- . '</th>' . "\n"
3043
- . '<th>' . __('Privileges') . '</th>' . "\n"
3044
- . '<th>' . __('Grant') . '</th>' . "\n"
3045
- . '<th>'
3046
- . (!/*overload*/mb_strlen($dbname)
3047
- ? __('Table-specific privileges')
3048
- : __('Column-specific privileges')
3049
- )
3050
- . '</th>' . "\n"
3051
- . '<th colspan="2">' . __('Action') . '</th>' . "\n"
3052
- . '</tr>' . "\n"
3053
- . '</thead>' . "\n";
3054
-
3055
- $user_host_condition = ' WHERE `User`'
3056
- . ' = \'' . PMA_Util::sqlAddSlashes($username) . "'"
3057
- . ' AND `Host`'
3058
- . ' = \'' . PMA_Util::sqlAddSlashes($hostname) . "'";
3059
-
3060
- // table body
3061
- // get data
3062
-
3063
- // we also want privileges for this user not in table `db` but in other table
3064
- $tables = $GLOBALS['dbi']->fetchResult('SHOW TABLES FROM `mysql`;');
3065
-
3066
- /**
3067
- * no db name given, so we want all privs for the given user
3068
- * db name was given, so we want all user specific rights for this db
3069
- */
3070
- $db_rights = PMA_getUserSpecificRights($tables, $user_host_condition, $dbname);
3071
-
3072
- ksort($db_rights);
3073
-
3074
- $html_output .= '<tbody>' . "\n";
3075
- // display rows
3076
- list ($found_rows, $html_out) = PMA_getHtmlForUserRights(
3077
- $db_rights, $dbname, $hostname, $username
3078
- );
3079
-
3080
- $html_output .= $html_out;
3081
- $html_output .= '</tbody>' . "\n";
3082
- $html_output .='</table>' . "\n";
3083
-
3084
- return array($html_output, $found_rows);
3085
- }
3086
-
3087
- /**
3088
- * Get HTML for display select db
3089
- *
3090
- * @param array $found_rows isset($dbname)) ? $row['Db'] : $row['Table_name']
3091
- *
3092
- * @return string HTML snippet
3093
- */
3094
- function PMA_getHtmlForSelectDbInEditPrivs($found_rows)
3095
- {
3096
- // we already have the list of databases from libraries/common.inc.php
3097
- // via $pma = new PMA;
3098
- $pred_db_array = $GLOBALS['pma']->databases;
3099
-
3100
- $databases_to_skip = array('information_schema', 'performance_schema');
3101
-
3102
- $html_output = '<label for="text_dbname">'
3103
- . __('Add privileges on the following database(s):') . '</label>' . "\n";
3104
- if (! empty($pred_db_array)) {
3105
- $html_output .= '<select name="pred_dbname[]" multiple="multiple">' . "\n";
3106
- foreach ($pred_db_array as $current_db) {
3107
- if (in_array($current_db, $databases_to_skip)) {
3108
- continue;
3109
- }
3110
- $current_db_show = $current_db;
3111
- $current_db = PMA_Util::escapeMysqlWildcards($current_db);
3112
- // cannot use array_diff() once, outside of the loop,
3113
- // because the list of databases has special characters
3114
- // already escaped in $found_rows,
3115
- // contrary to the output of SHOW DATABASES
3116
- if (empty($found_rows) || ! in_array($current_db, $found_rows)) {
3117
- $html_output .= '<option value="'
3118
- . htmlspecialchars($current_db) . '">'
3119
- . htmlspecialchars($current_db_show) . '</option>' . "\n";
3120
- }
3121
- }
3122
- $html_output .= '</select>' . "\n";
3123
- }
3124
- $html_output .= '<input type="text" id="text_dbname" name="dbname" />'
3125
- . "\n"
3126
- . PMA_Util::showHint(
3127
- __('Wildcards % and _ should be escaped with a \ to use them literally.')
3128
- );
3129
- return $html_output;
3130
- }
3131
-
3132
- /**
3133
- * Get HTML for display table in edit privilege
3134
- *
3135
- * @param string $dbname database naame
3136
- * @param array $found_rows isset($dbname)) ? $row['Db'] : $row['Table_name']
3137
- *
3138
- * @return string HTML snippet
3139
- */
3140
- function PMA_displayTablesInEditPrivs($dbname, $found_rows)
3141
- {
3142
- $html_output = '<input type="hidden" name="dbname"
3143
- ' . 'value="' . htmlspecialchars($dbname) . '"/>' . "\n";
3144
- $html_output .= '<label for="text_tablename">'
3145
- . __('Add privileges on the following table:') . '</label>' . "\n";
3146
-
3147
- $result = @$GLOBALS['dbi']->tryQuery(
3148
- 'SHOW TABLES FROM ' . PMA_Util::backquote(
3149
- PMA_Util::unescapeMysqlWildcards($dbname)
3150
- ) . ';',
3151
- null,
3152
- PMA_DatabaseInterface::QUERY_STORE
3153
- );
3154
-
3155
- if ($result) {
3156
- $pred_tbl_array = array();
3157
- while ($row = $GLOBALS['dbi']->fetchRow($result)) {
3158
- if (! isset($found_rows) || ! in_array($row[0], $found_rows)) {
3159
- $pred_tbl_array[] = $row[0];
3160
- }
3161
- }
3162
- $GLOBALS['dbi']->freeResult($result);
3163
-
3164
- if (! empty($pred_tbl_array)) {
3165
- $html_output .= '<select name="pred_tablename" '
3166
- . 'class="autosubmit">' . "\n"
3167
- . '<option value="" selected="selected">' . __('Use text field')
3168
- . ':</option>' . "\n";
3169
- foreach ($pred_tbl_array as $current_table) {
3170
- $html_output .= '<option '
3171
- . 'value="' . htmlspecialchars($current_table) . '">'
3172
- . htmlspecialchars($current_table)
3173
- . '</option>' . "\n";
3174
- }
3175
- $html_output .= '</select>' . "\n";
3176
- }
3177
- }
3178
- $html_output .= '<input type="text" id="text_tablename" name="tablename" />'
3179
- . "\n";
3180
-
3181
- return $html_output;
3182
- }
3183
-
3184
- /**
3185
- * Get HTML for display the users overview
3186
- * (if less than 50 users, display them immediately)
3187
- *
3188
- * @param array $result ran sql query
3189
- * @param array $db_rights user's database rights array
3190
- * @param string $pmaThemeImage a image source link
3191
- * @param string $text_dir text directory
3192
- *
3193
- * @return string HTML snippet
3194
- */
3195
- function PMA_getUsersOverview($result, $db_rights, $pmaThemeImage, $text_dir)
3196
- {
3197
- while ($row = $GLOBALS['dbi']->fetchAssoc($result)) {
3198
- $row['privs'] = PMA_extractPrivInfo($row, true);
3199
- $db_rights[$row['User']][$row['Host']] = $row;
3200
- }
3201
- @$GLOBALS['dbi']->freeResult($result);
3202
- $user_group_count = 0;
3203
- if ($GLOBALS['cfgRelation']['menuswork']) {
3204
- $user_group_count = PMA_getUserGroupCount();
3205
- }
3206
-
3207
- $html_output
3208
- = '<form name="usersForm" id="usersForm" action="server_privileges.php" '
3209
- . 'method="post">' . "\n"
3210
- . PMA_URL_getHiddenInputs('', '')
3211
- . '<table id="tableuserrights" class="data">' . "\n"
3212
- . '<thead>' . "\n"
3213
- . '<tr><th></th>' . "\n"
3214
- . '<th>' . __('User') . '</th>' . "\n"
3215
- . '<th>' . __('Host') . '</th>' . "\n"
3216
- . '<th>' . __('Password') . '</th>' . "\n"
3217
- . '<th>' . __('Global privileges') . ' '
3218
- . PMA_Util::showHint(
3219
- __('Note: MySQL privilege names are expressed in English.')
3220
- )
3221
- . '</th>' . "\n";
3222
- if ($GLOBALS['cfgRelation']['menuswork']) {
3223
- $html_output .= '<th>' . __('User group') . '</th>' . "\n";
3224
- }
3225
- $html_output .= '<th>' . __('Grant') . '</th>' . "\n"
3226
- . '<th colspan="' . ($user_group_count > 0 ? '3' : '2') . '">'
3227
- . __('Action') . '</th>' . "\n"
3228
- . '</tr>' . "\n"
3229
- . '</thead>' . "\n";
3230
-
3231
- $html_output .= '<tbody>' . "\n";
3232
- $html_output .= PMA_getHtmlTableBodyForUserRights($db_rights);
3233
- $html_output .= '</tbody>'
3234
- . '</table>' . "\n";
3235
-
3236
- $html_output .= '<div style="float:left;">'
3237
- . PMA_Util::getWithSelected($pmaThemeImage, $text_dir, "usersForm") . "\n";
3238
-
3239
- $html_output .= PMA_Util::getButtonOrImage(
3240
- 'submit_mult', 'mult_submit', 'submit_mult_export',
3241
- __('Export'), 'b_tblexport.png', 'export'
3242
- );
3243
- $html_output .= '<input type="hidden" name="initial" '
3244
- . 'value="' . (isset($_GET['initial']) ? $_GET['initial'] : '') . '" />';
3245
- $html_output .= '</div>'
3246
- . '<div class="clear_both" style="clear:both"></div>';
3247
-
3248
- // add/delete user fieldset
3249
- $html_output .= PMA_getFieldsetForAddDeleteUser();
3250
- $html_output .= '</form>' . "\n";
3251
-
3252
- return $html_output;
3253
- }
3254
-
3255
- /**
3256
- * Get table body for 'tableuserrights' table in userform
3257
- *
3258
- * @param array $db_rights user's database rights array
3259
- *
3260
- * @return string HTML snippet
3261
- */
3262
- function PMA_getHtmlTableBodyForUserRights($db_rights)
3263
- {
3264
- $cfgRelation = PMA_getRelationsParam();
3265
- if ($cfgRelation['menuswork']) {
3266
- $users_table = PMA_Util::backquote($cfgRelation['db'])
3267
- . "." . PMA_Util::backquote($cfgRelation['users']);
3268
- $sql_query = 'SELECT * FROM ' . $users_table;
3269
- $result = PMA_queryAsControlUser($sql_query, false);
3270
- $group_assignment = array();
3271
- if ($result) {
3272
- while ($row = $GLOBALS['dbi']->fetchAssoc($result)) {
3273
- $group_assignment[$row['username']] = $row['usergroup'];
3274
- }
3275
- }
3276
- $GLOBALS['dbi']->freeResult($result);
3277
-
3278
- $user_group_count = PMA_getUserGroupCount();
3279
- }
3280
-
3281
- $odd_row = true;
3282
- $index_checkbox = 0;
3283
- $html_output = '';
3284
- foreach ($db_rights as $user) {
3285
- ksort($user);
3286
- foreach ($user as $host) {
3287
- $index_checkbox++;
3288
- $html_output .= '<tr class="' . ($odd_row ? 'odd' : 'even') . '">'
3289
- . "\n";
3290
- $html_output .= '<td>'
3291
- . '<input type="checkbox" class="checkall" name="selected_usr[]" '
3292
- . 'id="checkbox_sel_users_'
3293
- . $index_checkbox . '" value="'
3294
- . htmlspecialchars($host['User'] . '&amp;#27;' . $host['Host'])
3295
- . '"'
3296
- . ' /></td>' . "\n";
3297
-
3298
- $html_output .= '<td><label '
3299
- . 'for="checkbox_sel_users_' . $index_checkbox . '">'
3300
- . (empty($host['User'])
3301
- ? '<span style="color: #FF0000">' . __('Any') . '</span>'
3302
- : htmlspecialchars($host['User'])) . '</label></td>' . "\n"
3303
- . '<td>' . htmlspecialchars($host['Host']) . '</td>' . "\n";
3304
-
3305
- $html_output .= '<td>';
3306
- switch ($host['Password']) {
3307
- case 'Y':
3308
- $html_output .= __('Yes');
3309
- break;
3310
- case 'N':
3311
- $html_output .= '<span style="color: #FF0000">' . __('No')
3312
- . '</span>';
3313
- break;
3314
- // this happens if this is a definition not coming from mysql.user
3315
- default:
3316
- $html_output .= '--'; // in future version, replace by "not present"
3317
- break;
3318
- } // end switch
3319
- $html_output .= '</td>' . "\n";
3320
-
3321
- $html_output .= '<td><code>' . "\n"
3322
- . '' . implode(',' . "\n" . ' ', $host['privs']) . "\n"
3323
- . '</code></td>' . "\n";
3324
- if ($cfgRelation['menuswork']) {
3325
- $html_output .= '<td class="usrGroup">' . "\n"
3326
- . (isset($group_assignment[$host['User']])
3327
- ? $group_assignment[$host['User']]
3328
- : ''
3329
- )
3330
- . '</td>' . "\n";
3331
- }
3332
- $html_output .= '<td>'
3333
- . ($host['Grant_priv'] == 'Y' ? __('Yes') : __('No'))
3334
- . '</td>' . "\n";
3335
-
3336
- if ($GLOBALS['is_grantuser']) {
3337
- $html_output .= '<td class="center">'
3338
- . PMA_getUserLink(
3339
- 'edit',
3340
- $host['User'],
3341
- $host['Host']
3342
- )
3343
- . '</td>';
3344
- }
3345
- if ($cfgRelation['menuswork'] && $user_group_count > 0) {
3346
- if (empty($host['User'])) {
3347
- $html_output .= '<td class="center"></td>';
3348
- } else {
3349
- $html_output .= '<td class="center">'
3350
- . PMA_getUserGroupEditLink($host['User'])
3351
- . '</td>';
3352
- }
3353
- }
3354
- $html_output .= '<td class="center">'
3355
- . PMA_getUserLink(
3356
- 'export',
3357
- $host['User'],
3358
- $host['Host'],
3359
- '',
3360
- '',
3361
- isset($_GET['initial']) ? $_GET['initial'] : ''
3362
- )
3363
- . '</td>';
3364
- $html_output .= '</tr>';
3365
- $odd_row = ! $odd_row;
3366
- }
3367
- }
3368
- return $html_output;
3369
- }
3370
-
3371
- /**
3372
- * Get HTML fieldset for Add/Delete user
3373
- *
3374
- * @return string HTML snippet
3375
- */
3376
- function PMA_getFieldsetForAddDeleteUser()
3377
- {
3378
- $html_output = PMA_getAddUserHtmlFieldset();
3379
- $html_output .= '<fieldset id="fieldset_delete_user">'
3380
- . '<legend>' . "\n"
3381
- . PMA_Util::getIcon('b_usrdrop.png')
3382
- . ' ' . __('Remove selected users') . '' . "\n"
3383
- . '</legend>' . "\n";
3384
-
3385
- $html_output .= '<input type="hidden" name="mode" value="2" />' . "\n"
3386
- . '('
3387
- . __(
3388
- 'Revoke all active privileges from the users '
3389
- . 'and delete them afterwards.'
3390
- )
3391
- . ')'
3392
- . '<br />' . "\n";
3393
-
3394
- $html_output .= '<input type="checkbox" '
3395
- . 'title="'
3396
- . __('Drop the databases that have the same names as the users.')
3397
- . '" '
3398
- . 'name="drop_users_db" id="checkbox_drop_users_db" />' . "\n";
3399
-
3400
- $html_output .= '<label for="checkbox_drop_users_db" '
3401
- . 'title="'
3402
- . __('Drop the databases that have the same names as the users.')
3403
- . '">' . "\n"
3404
- . ' '
3405
- . __('Drop the databases that have the same names as the users.')
3406
- . "\n"
3407
- . '</label>' . "\n"
3408
- . '</fieldset>' . "\n";
3409
-
3410
- $html_output .= '<fieldset id="fieldset_delete_user_footer" class="tblFooters">'
3411
- . "\n";
3412
- $html_output .= '<input type="submit" name="delete" '
3413
- . 'value="' . __('Go') . '" id="buttonGo" '
3414
- . 'class="ajax"/>' . "\n";
3415
-
3416
- $html_output .= '</fieldset>' . "\n";
3417
-
3418
- return $html_output;
3419
- }
3420
-
3421
- /**
3422
- * Get HTML for Displays the initials
3423
- *
3424
- * @param array $array_initials array for all initials, even non A-Z
3425
- *
3426
- * @return string HTML snippet
3427
- */
3428
- function PMA_getHtmlForInitials($array_initials)
3429
- {
3430
- // initialize to false the letters A-Z
3431
- for ($letter_counter = 1; $letter_counter < 27; $letter_counter++) {
3432
- if (! isset($array_initials[/*overload*/mb_chr($letter_counter + 64)])) {
3433
- $array_initials[/*overload*/mb_chr($letter_counter + 64)] = false;
3434
- }
3435
- }
3436
-
3437
- $initials = $GLOBALS['dbi']->tryQuery(
3438
- 'SELECT DISTINCT UPPER(LEFT(`User`,1)) FROM `user` ORDER BY `User` ASC',
3439
- null,
3440
- PMA_DatabaseInterface::QUERY_STORE
3441
- );
3442
- while (list($tmp_initial) = $GLOBALS['dbi']->fetchRow($initials)) {
3443
- $array_initials[$tmp_initial] = true;
3444
- }
3445
-
3446
- // Display the initials, which can be any characters, not
3447
- // just letters. For letters A-Z, we add the non-used letters
3448
- // as greyed out.
3449
-
3450
- uksort($array_initials, "strnatcasecmp");
3451
-
3452
- $html_output = '<table id="initials_table" cellspacing="5">'
3453
- . '<tr>';
3454
- foreach ($array_initials as $tmp_initial => $initial_was_found) {
3455
- if ($tmp_initial === null) {
3456
- continue;
3457
- }
3458
-
3459
- if (!$initial_was_found) {
3460
- $html_output .= '<td>' . $tmp_initial . '</td>';
3461
- continue;
3462
- }
3463
-
3464
- $html_output .= '<td>'
3465
- . '<a class="ajax'
3466
- . ((isset($_REQUEST['initial'])
3467
- && $_REQUEST['initial'] === $tmp_initial
3468
- ) ? ' active' : '')
3469
- . '" href="server_privileges.php'
3470
- . PMA_URL_getCommon(array('initial' => $tmp_initial))
3471
- . '">' . $tmp_initial
3472
- . '</a>'
3473
- . '</td>' . "\n";
3474
- }
3475
- $html_output .= '<td>'
3476
- . '<a href="server_privileges.php'
3477
- . PMA_URL_getCommon(array('showall' => 1))
3478
- . '" class="nowrap">' . __('Show all') . '</a></td>' . "\n";
3479
- $html_output .= '</tr></table>';
3480
-
3481
- return $html_output;
3482
- }
3483
-
3484
- /**
3485
- * Get the database rights array for Display user overview
3486
- *
3487
- * @return array $db_rights database rights array
3488
- */
3489
- function PMA_getDbRightsForUserOverview()
3490
- {
3491
- // we also want users not in table `user` but in other table
3492
- $tables = $GLOBALS['dbi']->fetchResult('SHOW TABLES FROM `mysql`;');
3493
-
3494
- $tablesSearchForUsers = array(
3495
- 'user', 'db', 'tables_priv', 'columns_priv', 'procs_priv',
3496
- );
3497
-
3498
- $db_rights_sqls = array();
3499
- foreach ($tablesSearchForUsers as $table_search_in) {
3500
- if (in_array($table_search_in, $tables)) {
3501
- $db_rights_sqls[] = 'SELECT DISTINCT `User`, `Host` FROM `mysql`.`'
3502
- . $table_search_in . '` '
3503
- . (isset($_GET['initial'])
3504
- ? PMA_rangeOfUsers($_GET['initial'])
3505
- : '');
3506
- }
3507
- }
3508
- $user_defaults = array(
3509
- 'User' => '',
3510
- 'Host' => '%',
3511
- 'Password' => '?',
3512
- 'Grant_priv' => 'N',
3513
- 'privs' => array('USAGE'),
3514
- );
3515
-
3516
- // for the rights
3517
- $db_rights = array();
3518
-
3519
- $db_rights_sql = '(' . implode(') UNION (', $db_rights_sqls) . ')'
3520
- . ' ORDER BY `User` ASC, `Host` ASC';
3521
-
3522
- $db_rights_result = $GLOBALS['dbi']->query($db_rights_sql);
3523
-
3524
- while ($db_rights_row = $GLOBALS['dbi']->fetchAssoc($db_rights_result)) {
3525
- $db_rights_row = array_merge($user_defaults, $db_rights_row);
3526
- $db_rights[$db_rights_row['User']][$db_rights_row['Host']]
3527
- = $db_rights_row;
3528
- }
3529
- $GLOBALS['dbi']->freeResult($db_rights_result);
3530
- ksort($db_rights);
3531
-
3532
- return $db_rights;
3533
- }
3534
-
3535
- /**
3536
- * Delete user and get message and sql query for delete user in privileges
3537
- *
3538
- * @param array $queries queries
3539
- *
3540
- * @return array PMA_message
3541
- */
3542
- function PMA_deleteUser($queries)
3543
- {
3544
- $sql_query = '';
3545
- if (empty($queries)) {
3546
- $message = PMA_Message::error(__('No users selected for deleting!'));
3547
- } else {
3548
- if ($_REQUEST['mode'] == 3) {
3549
- $queries[] = '# ' . __('Reloading the privileges') . ' …';
3550
- $queries[] = 'FLUSH PRIVILEGES;';
3551
- }
3552
- $drop_user_error = '';
3553
- foreach ($queries as $sql_query) {
3554
- if ($sql_query{0} != '#') {
3555
- if (! $GLOBALS['dbi']->tryQuery($sql_query, $GLOBALS['userlink'])) {
3556
- $drop_user_error .= $GLOBALS['dbi']->getError() . "\n";
3557
- }
3558
- }
3559
- }
3560
- // tracking sets this, causing the deleted db to be shown in navi
3561
- unset($GLOBALS['db']);
3562
-
3563
- $sql_query = join("\n", $queries);
3564
- if (! empty($drop_user_error)) {
3565
- $message = PMA_Message::rawError($drop_user_error);
3566
- } else {
3567
- $message = PMA_Message::success(
3568
- __('The selected users have been deleted successfully.')
3569
- );
3570
- }
3571
- }
3572
- return array($sql_query, $message);
3573
- }
3574
-
3575
- /**
3576
- * Update the privileges and return the success or error message
3577
- *
3578
- * @param string $username username
3579
- * @param string $hostname host name
3580
- * @param string $tablename table name
3581
- * @param string $dbname database name
3582
- *
3583
- * @return PMA_message success message or error message for update
3584
- */
3585
- function PMA_updatePrivileges($username, $hostname, $tablename, $dbname)
3586
- {
3587
- $db_and_table = PMA_wildcardEscapeForGrant($dbname, $tablename);
3588
-
3589
- $sql_query0 = 'REVOKE ALL PRIVILEGES ON ' . $db_and_table
3590
- . ' FROM \'' . PMA_Util::sqlAddSlashes($username)
3591
- . '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\';';
3592
-
3593
- if (! isset($_POST['Grant_priv']) || $_POST['Grant_priv'] != 'Y') {
3594
- $sql_query1 = 'REVOKE GRANT OPTION ON ' . $db_and_table
3595
- . ' FROM \'' . PMA_Util::sqlAddSlashes($username) . '\'@\''
3596
- . PMA_Util::sqlAddSlashes($hostname) . '\';';
3597
- } else {
3598
- $sql_query1 = '';
3599
- }
3600
-
3601
- // Should not do a GRANT USAGE for a table-specific privilege, it
3602
- // causes problems later (cannot revoke it)
3603
- if (! (/*overload*/mb_strlen($tablename)
3604
- && 'USAGE' == implode('', PMA_extractPrivInfo()))
3605
- ) {
3606
- $sql_query2 = 'GRANT ' . join(', ', PMA_extractPrivInfo())
3607
- . ' ON ' . $db_and_table
3608
- . ' TO \'' . PMA_Util::sqlAddSlashes($username) . '\'@\''
3609
- . PMA_Util::sqlAddSlashes($hostname) . '\'';
3610
-
3611
- if (! /*overload*/mb_strlen($dbname)) {
3612
- // add REQUIRE clause
3613
- $sql_query2 .= PMA_getRequireClause();
3614
- }
3615
-
3616
- if ((isset($_POST['Grant_priv']) && $_POST['Grant_priv'] == 'Y')
3617
- || (! /*overload*/mb_strlen($dbname)
3618
- && (isset($_POST['max_questions']) || isset($_POST['max_connections'])
3619
- || isset($_POST['max_updates'])
3620
- || isset($_POST['max_user_connections'])))
3621
- ) {
3622
- $sql_query2 .= PMA_getWithClauseForAddUserAndUpdatePrivs();
3623
- }
3624
- $sql_query2 .= ';';
3625
- }
3626
- if (! $GLOBALS['dbi']->tryQuery($sql_query0)) {
3627
- // This might fail when the executing user does not have
3628
- // ALL PRIVILEGES himself.
3629
- // See https://sourceforge.net/p/phpmyadmin/bugs/3270/
3630
- $sql_query0 = '';
3631
- }
3632
- if (! empty($sql_query1) && ! $GLOBALS['dbi']->tryQuery($sql_query1)) {
3633
- // this one may fail, too...
3634
- $sql_query1 = '';
3635
- }
3636
- if (! empty($sql_query2)) {
3637
- $GLOBALS['dbi']->query($sql_query2);
3638
- } else {
3639
- $sql_query2 = '';
3640
- }
3641
- $sql_query = $sql_query0 . ' ' . $sql_query1 . ' ' . $sql_query2;
3642
- $message = PMA_Message::success(__('You have updated the privileges for %s.'));
3643
- $message->addParam(
3644
- '\'' . htmlspecialchars($username)
3645
- . '\'@\'' . htmlspecialchars($hostname) . '\''
3646
- );
3647
-
3648
- return array($sql_query, $message);
3649
- }
3650
-
3651
- /**
3652
- * Get List of information: Changes / copies a user
3653
- *
3654
- * @return array
3655
- */
3656
- function PMA_getDataForChangeOrCopyUser()
3657
- {
3658
- $queries = null;
3659
- $password = null;
3660
-
3661
- if (isset($_REQUEST['change_copy'])) {
3662
- $user_host_condition = ' WHERE `User` = '
3663
- . "'" . PMA_Util::sqlAddSlashes($_REQUEST['old_username']) . "'"
3664
- . ' AND `Host` = '
3665
- . "'" . PMA_Util::sqlAddSlashes($_REQUEST['old_hostname']) . "';";
3666
- $row = $GLOBALS['dbi']->fetchSingleRow(
3667
- 'SELECT * FROM `mysql`.`user` ' . $user_host_condition
3668
- );
3669
- if (! $row) {
3670
- $response = PMA_Response::getInstance();
3671
- $response->addHTML(
3672
- PMA_Message::notice(__('No user found.'))->getDisplay()
3673
- );
3674
- unset($_REQUEST['change_copy']);
3675
- } else {
3676
- extract($row, EXTR_OVERWRITE);
3677
- // Recent MySQL versions have the field "Password" in mysql.user,
3678
- // so the previous extract creates $Password but this script
3679
- // uses $password
3680
- if (! isset($password) && isset($Password)) {
3681
- $password = $Password;
3682
- }
3683
- $queries = array();
3684
- }
3685
- }
3686
-
3687
- return array($queries, $password);
3688
- }
3689
-
3690
- /**
3691
- * Update Data for information: Deletes users
3692
- *
3693
- * @param array $queries queries array
3694
- *
3695
- * @return array
3696
- */
3697
- function PMA_getDataForDeleteUsers($queries)
3698
- {
3699
- if (isset($_REQUEST['change_copy'])) {
3700
- $selected_usr = array(
3701
- $_REQUEST['old_username'] . '&amp;#27;' . $_REQUEST['old_hostname']
3702
- );
3703
- } else {
3704
- $selected_usr = $_REQUEST['selected_usr'];
3705
- $queries = array();
3706
- }
3707
- foreach ($selected_usr as $each_user) {
3708
- list($this_user, $this_host) = explode('&amp;#27;', $each_user);
3709
- $queries[] = '# '
3710
- . sprintf(
3711
- __('Deleting %s'),
3712
- '\'' . $this_user . '\'@\'' . $this_host . '\''
3713
- )
3714
- . ' ...';
3715
- $queries[] = 'DROP USER \''
3716
- . PMA_Util::sqlAddSlashes($this_user)
3717
- . '\'@\'' . PMA_Util::sqlAddSlashes($this_host) . '\';';
3718
-
3719
- if (isset($_REQUEST['drop_users_db'])) {
3720
- $queries[] = 'DROP DATABASE IF EXISTS '
3721
- . PMA_Util::backquote($this_user) . ';';
3722
- $GLOBALS['reload'] = true;
3723
- }
3724
- }
3725
- return $queries;
3726
- }
3727
-
3728
- /**
3729
- * update Message For Reload
3730
- *
3731
- * @return array
3732
- */
3733
- function PMA_updateMessageForReload()
3734
- {
3735
- $message = null;
3736
- if (isset($_REQUEST['flush_privileges'])) {
3737
- $sql_query = 'FLUSH PRIVILEGES;';
3738
- $GLOBALS['dbi']->query($sql_query);
3739
- $message = PMA_Message::success(
3740
- __('The privileges were reloaded successfully.')
3741
- );
3742
- }
3743
-
3744
- if (isset($_REQUEST['validate_username'])) {
3745
- $message = PMA_Message::success();
3746
- }
3747
-
3748
- return $message;
3749
- }
3750
-
3751
- /**
3752
- * update Data For Queries from queries_for_display
3753
- *
3754
- * @param array $queries queries array
3755
- * @param array|null $queries_for_display queries array for display
3756
- *
3757
- * @return null
3758
- */
3759
- function PMA_getDataForQueries($queries, $queries_for_display)
3760
- {
3761
- $tmp_count = 0;
3762
- foreach ($queries as $sql_query) {
3763
- if ($sql_query{0} != '#') {
3764
- $GLOBALS['dbi']->query($sql_query);
3765
- }
3766
- // when there is a query containing a hidden password, take it
3767
- // instead of the real query sent
3768
- if (isset($queries_for_display[$tmp_count])) {
3769
- $queries[$tmp_count] = $queries_for_display[$tmp_count];
3770
- }
3771
- $tmp_count++;
3772
- }
3773
-
3774
- return $queries;
3775
- }
3776
-
3777
- /**
3778
- * update Data for information: Adds a user
3779
- *
3780
- * @param string $dbname db name
3781
- * @param string $username user name
3782
- * @param string $hostname host name
3783
- * @param string $password password
3784
- * @param bool $is_menuwork is_menuwork set?
3785
- *
3786
- * @return array
3787
- */
3788
- function PMA_addUser(
3789
- $dbname, $username, $hostname,
3790
- $password, $is_menuwork
3791
- ) {
3792
- $_add_user_error = false;
3793
- $message = null;
3794
- $queries = null;
3795
- $queries_for_display = null;
3796
- $sql_query = null;
3797
-
3798
- if (isset($_REQUEST['adduser_submit']) || isset($_REQUEST['change_copy'])) {
3799
- $sql_query = '';
3800
- if ($_POST['pred_username'] == 'any') {
3801
- $username = '';
3802
- }
3803
- switch ($_POST['pred_hostname']) {
3804
- case 'any':
3805
- $hostname = '%';
3806
- break;
3807
- case 'localhost':
3808
- $hostname = 'localhost';
3809
- break;
3810
- case 'hosttable':
3811
- $hostname = '';
3812
- break;
3813
- case 'thishost':
3814
- $_user_name = $GLOBALS['dbi']->fetchValue('SELECT USER()');
3815
- $hostname = /*overload*/mb_substr(
3816
- $_user_name,
3817
- (/*overload*/mb_strrpos($_user_name, '@') + 1)
3818
- );
3819
- unset($_user_name);
3820
- break;
3821
- }
3822
- $sql = "SELECT '1' FROM `mysql`.`user`"
3823
- . " WHERE `User` = '" . PMA_Util::sqlAddSlashes($username) . "'"
3824
- . " AND `Host` = '" . PMA_Util::sqlAddSlashes($hostname) . "';";
3825
- if ($GLOBALS['dbi']->fetchValue($sql) == 1) {
3826
- $message = PMA_Message::error(__('The user %s already exists!'));
3827
- $message->addParam(
3828
- '[em]\'' . $username . '\'@\'' . $hostname . '\'[/em]'
3829
- );
3830
- $_REQUEST['adduser'] = true;
3831
- $_add_user_error = true;
3832
- } else {
3833
- list($create_user_real, $create_user_show, $real_sql_query, $sql_query)
3834
- = PMA_getSqlQueriesForDisplayAndAddUser(
3835
- $username, $hostname, (isset ($password) ? $password : '')
3836
- );
3837
-
3838
- if (empty($_REQUEST['change_copy'])) {
3839
- $_error = false;
3840
-
3841
- if (isset($create_user_real)) {
3842
- if (! $GLOBALS['dbi']->tryQuery($create_user_real)) {
3843
- $_error = true;
3844
- }
3845
- $sql_query = $create_user_show . $sql_query;
3846
- }
3847
- list($sql_query, $message) = PMA_addUserAndCreateDatabase(
3848
- $_error, $real_sql_query, $sql_query, $username, $hostname,
3849
- isset($dbname) ? $dbname : null
3850
- );
3851
- if (! empty($_REQUEST['userGroup']) && $is_menuwork) {
3852
- PMA_setUserGroup($GLOBALS['username'], $_REQUEST['userGroup']);
3853
- }
3854
-
3855
- } else {
3856
- if (isset($create_user_real)) {
3857
- $queries[] = $create_user_real;
3858
- }
3859
- $queries[] = $real_sql_query;
3860
- // we put the query containing the hidden password in
3861
- // $queries_for_display, at the same position occupied
3862
- // by the real query in $queries
3863
- $tmp_count = count($queries);
3864
- if (isset($create_user_real)) {
3865
- $queries_for_display[$tmp_count - 2] = $create_user_show;
3866
- }
3867
- $queries_for_display[$tmp_count - 1] = $sql_query;
3868
- }
3869
- unset($real_sql_query);
3870
- }
3871
- }
3872
-
3873
- return array(
3874
- $message, $queries, $queries_for_display, $sql_query, $_add_user_error
3875
- );
3876
- }
3877
-
3878
- /**
3879
- * Update DB information: DB, Table, isWildcard
3880
- *
3881
- * @return array
3882
- */
3883
- function PMA_getDataForDBInfo()
3884
- {
3885
- $username = null;
3886
- $hostname = null;
3887
- $dbname = null;
3888
- $tablename = null;
3889
- $dbname_is_wildcard = null;
3890
-
3891
- if (isset ($_REQUEST['username'])) {
3892
- $username = $_REQUEST['username'];
3893
- }
3894
- if (isset ($_REQUEST['hostname'])) {
3895
- $hostname = $_REQUEST['hostname'];
3896
- }
3897
- /**
3898
- * Checks if a dropdown box has been used for selecting a database / table
3899
- */
3900
- if (PMA_isValid($_REQUEST['pred_tablename'])) {
3901
- $tablename = $_REQUEST['pred_tablename'];
3902
- } elseif (PMA_isValid($_REQUEST['tablename'])) {
3903
- $tablename = $_REQUEST['tablename'];
3904
- } else {
3905
- unset($tablename);
3906
- }
3907
-
3908
- if (isset($_REQUEST['pred_dbname'])) {
3909
- $is_valid_pred_dbname = true;
3910
- foreach ($_REQUEST['pred_dbname'] as $key => $db_name) {
3911
- if (! PMA_isValid($db_name)) {
3912
- $is_valid_pred_dbname = false;
3913
- break;
3914
- }
3915
- }
3916
- }
3917
-
3918
- if (isset($_REQUEST['dbname'])) {
3919
- $is_valid_dbname = true;
3920
- if (is_array($_REQUEST['dbname'])) {
3921
- foreach ($_REQUEST['dbname'] as $key => $db_name) {
3922
- if (! PMA_isValid($db_name)) {
3923
- $is_valid_dbname = false;
3924
- break;
3925
- }
3926
- }
3927
- } else {
3928
- if (! PMA_isValid($_REQUEST['dbname'])) {
3929
- $is_valid_dbname = false;
3930
- }
3931
- }
3932
- }
3933
-
3934
- if (isset($is_valid_pred_dbname) && $is_valid_pred_dbname) {
3935
- $dbname = $_REQUEST['pred_dbname'];
3936
- // If dbname contains only one database.
3937
- if (count($dbname) == 1) {
3938
- $dbname = $dbname[0];
3939
- }
3940
- } elseif (isset($is_valid_dbname) && $is_valid_dbname) {
3941
- $dbname = $_REQUEST['dbname'];
3942
- } else {
3943
- unset($dbname);
3944
- unset($tablename);
3945
- }
3946
-
3947
- if (isset($dbname)) {
3948
- if (is_array($dbname)) {
3949
- $db_and_table = $dbname;
3950
- foreach ($db_and_table as $key => $db_name) {
3951
- $db_and_table[$key] .= '.';
3952
- }
3953
- } else {
3954
- $unescaped_db = PMA_Util::unescapeMysqlWildcards($dbname);
3955
- $db_and_table = PMA_Util::backquote($unescaped_db) . '.';
3956
- }
3957
- if (isset($tablename)) {
3958
- $db_and_table .= PMA_Util::backquote($tablename);
3959
- } else {
3960
- if (is_array($db_and_table)) {
3961
- foreach ($db_and_table as $key => $db_name) {
3962
- $db_and_table[$key] .= '*';
3963
- }
3964
- } else {
3965
- $db_and_table .= '*';
3966
- }
3967
- }
3968
- } else {
3969
- $db_and_table = '*.*';
3970
- }
3971
-
3972
- // check if given $dbname is a wildcard or not
3973
- if (isset($dbname)) {
3974
- //if (preg_match('/\\\\(?:_|%)/i', $dbname)) {
3975
- if (! is_array($dbname) && preg_match('/(?<!\\\\)(?:_|%)/i', $dbname)) {
3976
- $dbname_is_wildcard = true;
3977
- } else {
3978
- $dbname_is_wildcard = false;
3979
- }
3980
- }
3981
-
3982
- return array(
3983
- $username, $hostname,
3984
- isset($dbname)? $dbname : null,
3985
- isset($tablename)? $tablename : null,
3986
- $db_and_table,
3987
- $dbname_is_wildcard,
3988
- );
3989
- }
3990
-
3991
- /**
3992
- * Get title and textarea for export user definition in Privileges
3993
- *
3994
- * @param string $username username
3995
- * @param string $hostname host name
3996
- *
3997
- * @return array ($title, $export)
3998
- */
3999
- function PMA_getListForExportUserDefinition($username, $hostname)
4000
- {
4001
- $export = '<textarea class="export" cols="' . $GLOBALS['cfg']['TextareaCols']
4002
- . '" rows="' . $GLOBALS['cfg']['TextareaRows'] . '">';
4003
-
4004
- if (isset($_REQUEST['selected_usr'])) {
4005
- // export privileges for selected users
4006
- $title = __('Privileges');
4007
-
4008
- foreach ($_REQUEST['selected_usr'] as $export_user) {
4009
- $export_username = /*overload*/mb_substr(
4010
- $export_user, 0, /*overload*/mb_strpos($export_user, '&')
4011
- );
4012
- $export_hostname = /*overload*/mb_substr(
4013
- $export_user, /*overload*/mb_strrpos($export_user, ';') + 1
4014
- );
4015
- $export .= '# '
4016
- . sprintf(
4017
- __('Privileges for %s'),
4018
- '`' . htmlspecialchars($export_username)
4019
- . '`@`' . htmlspecialchars($export_hostname) . '`'
4020
- )
4021
- . "\n\n";
4022
- $export .= PMA_getGrants($export_username, $export_hostname) . "\n";
4023
- }
4024
- } else {
4025
- // export privileges for a single user
4026
- $title = __('User') . ' `' . htmlspecialchars($username)
4027
- . '`@`' . htmlspecialchars($hostname) . '`';
4028
- $export .= PMA_getGrants($username, $hostname);
4029
- }
4030
- // remove trailing whitespace
4031
- $export = trim($export);
4032
-
4033
- $export .= '</textarea>';
4034
-
4035
- return array($title, $export);
4036
- }
4037
-
4038
- /**
4039
- * Get HTML for display Add userfieldset
4040
- *
4041
- * @param string $db the database
4042
- * @param string $table the table name
4043
- *
4044
- * @return string html output
4045
- */
4046
- function PMA_getAddUserHtmlFieldset($db = '', $table = '')
4047
- {
4048
- if (!$GLOBALS['is_createuser']) {
4049
- return '';
4050
- }
4051
- $rel_params = array();
4052
- $url_params = array(
4053
- 'adduser' => 1
4054
- );
4055
- if (!empty($db)) {
4056
- $url_params['dbname']
4057
- = $rel_params['checkprivsdb']
4058
- = $db;
4059
- }
4060
- if (!empty($table)) {
4061
- $url_params['tablename']
4062
- = $rel_params['checkprivstable']
4063
- = $table;
4064
- }
4065
-
4066
- return '<fieldset id="fieldset_add_user">' . "\n"
4067
- . '<legend>' . _pgettext('Create new user', 'New') . '</legend>'
4068
- . '<a id="add_user_anchor" href="server_privileges.php'
4069
- . PMA_URL_getCommon($url_params) . '" '
4070
- . (!empty($rel_params)
4071
- ? ('rel="' . PMA_URL_getCommon($rel_params) . '" ')
4072
- : '')
4073
- . '>' . "\n"
4074
- . PMA_Util::getIcon('b_usradd.png')
4075
- . ' ' . __('Add user') . '</a>' . "\n"
4076
- . '</fieldset>' . "\n";
4077
- }
4078
-
4079
- /**
4080
- * Get HTML header for display User's properties
4081
- *
4082
- * @param boolean $dbname_is_wildcard whether database name is wildcard or not
4083
- * @param string $url_dbname url database name that urlencode() string
4084
- * @param string $dbname database name
4085
- * @param string $username username
4086
- * @param string $hostname host name
4087
- * @param string $tablename table name
4088
- *
4089
- * @return string $html_output
4090
- */
4091
- function PMA_getHtmlHeaderForUserProperties(
4092
- $dbname_is_wildcard, $url_dbname, $dbname, $username, $hostname, $tablename
4093
- ) {
4094
- $html_output = '<h2>' . "\n"
4095
- . PMA_Util::getIcon('b_usredit.png')
4096
- . __('Edit Privileges:') . ' '
4097
- . __('User');
4098
-
4099
- if (! empty($dbname)) {
4100
- $html_output .= ' <i><a class="edit_user_anchor"'
4101
- . ' href="server_privileges.php'
4102
- . PMA_URL_getCommon(
4103
- array(
4104
- 'username' => $username,
4105
- 'hostname' => $hostname,
4106
- 'dbname' => '',
4107
- 'tablename' => '',
4108
- )
4109
- )
4110
- . '">\'' . htmlspecialchars($username)
4111
- . '\'@\'' . htmlspecialchars($hostname)
4112
- . '\'</a></i>' . "\n";
4113
-
4114
- $html_output .= ' - ';
4115
- $html_output .= ($dbname_is_wildcard
4116
- || is_array($dbname) && count($dbname) > 1)
4117
- ? __('Databases') : __('Database');
4118
- if (! empty($_REQUEST['tablename'])) {
4119
- $html_output .= ' <i><a href="server_privileges.php'
4120
- . PMA_URL_getCommon(
4121
- array(
4122
- 'username' => $username,
4123
- 'hostname' => $hostname,
4124
- 'dbname' => $url_dbname,
4125
- 'tablename' => '',
4126
- )
4127
- )
4128
- . '">' . htmlspecialchars($dbname)
4129
- . '</a></i>';
4130
-
4131
- $html_output .= ' - ' . __('Table')
4132
- . ' <i>' . htmlspecialchars($tablename) . '</i>';
4133
- } else {
4134
- if (! is_array($dbname)) {
4135
- $dbname = array($dbname);
4136
- }
4137
- $html_output .= ' <i>'
4138
- . htmlspecialchars(implode(', ', $dbname))
4139
- . '</i>';
4140
- }
4141
-
4142
- } else {
4143
- $html_output .= ' <i>\'' . htmlspecialchars($username)
4144
- . '\'@\'' . htmlspecialchars($hostname)
4145
- . '\'</i>' . "\n";
4146
-
4147
- }
4148
- $html_output .= '</h2>' . "\n";
4149
- $cur_user = htmlspecialchars($GLOBALS['dbi']->getCurrentUser());
4150
- $user = htmlspecialchars($username . '@' . $hostname);
4151
- // Add a short notice for the user
4152
- // to remind him that he is editing his own privileges
4153
- if ($user === $cur_user) {
4154
- $html_output .= PMA_Message::notice(
4155
- __(
4156
- 'Note: You are attempting to edit privileges of the '
4157
- . 'user with which you are currently logged in.'
4158
- )
4159
- )->getDisplay();
4160
- }
4161
- return $html_output;
4162
- }
4163
-
4164
- /**
4165
- * Get HTML snippet for display user overview page
4166
- *
4167
- * @param string $pmaThemeImage a image source link
4168
- * @param string $text_dir text directory
4169
- *
4170
- * @return string $html_output
4171
- */
4172
- function PMA_getHtmlForUserOverview($pmaThemeImage, $text_dir)
4173
- {
4174
- $html_output = '<h2>' . "\n"
4175
- . PMA_Util::getIcon('b_usrlist.png')
4176
- . __('Users overview') . "\n"
4177
- . '</h2>' . "\n";
4178
-
4179
- $password_column = 'Password';
4180
- if (PMA_Util::getServerType() == 'MySQL'
4181
- && PMA_MYSQL_INT_VERSION >= 50706
4182
- ) {
4183
- $password_column = 'authentication_string';
4184
- }
4185
- // $sql_query is for the initial-filtered,
4186
- // $sql_query_all is for counting the total no. of users
4187
-
4188
- $sql_query = $sql_query_all = 'SELECT *,' .
4189
- " IF(`" . $password_column . "` = _latin1 '', 'N', 'Y') AS 'Password'" .
4190
- ' FROM `mysql`.`user`';
4191
-
4192
- $sql_query .= (isset($_REQUEST['initial'])
4193
- ? PMA_rangeOfUsers($_REQUEST['initial'])
4194
- : '');
4195
-
4196
- $sql_query .= ' ORDER BY `User` ASC, `Host` ASC;';
4197
- $sql_query_all .= ' ;';
4198
-
4199
- $res = $GLOBALS['dbi']->tryQuery(
4200
- $sql_query, null, PMA_DatabaseInterface::QUERY_STORE
4201
- );
4202
- $res_all = $GLOBALS['dbi']->tryQuery(
4203
- $sql_query_all, null, PMA_DatabaseInterface::QUERY_STORE
4204
- );
4205
-
4206
- if (! $res) {
4207
- // the query failed! This may have two reasons:
4208
- // - the user does not have enough privileges
4209
- // - the privilege tables use a structure of an earlier version.
4210
- // so let's try a more simple query
4211
-
4212
- $GLOBALS['dbi']->freeResult($res);
4213
- $GLOBALS['dbi']->freeResult($res_all);
4214
- $sql_query = 'SELECT * FROM `mysql`.`user`';
4215
- $res = $GLOBALS['dbi']->tryQuery(
4216
- $sql_query, null, PMA_DatabaseInterface::QUERY_STORE
4217
- );
4218
-
4219
- if (! $res) {
4220
- $html_output .= PMA_getHtmlForViewUsersError();
4221
- $html_output .= PMA_getAddUserHtmlFieldset();
4222
- } else {
4223
- // This message is hardcoded because I will replace it by
4224
- // a automatic repair feature soon.
4225
- $raw = 'Your privilege table structure seems to be older than'
4226
- . ' this MySQL version!<br />'
4227
- . 'Please run the <code>mysql_upgrade</code> command'
4228
- . '(<code>mysql_fix_privilege_tables</code> on older systems)'
4229
- . ' that should be included in your MySQL server distribution'
4230
- . ' to solve this problem!';
4231
- $html_output .= PMA_Message::rawError($raw)->getDisplay();
4232
- }
4233
- $GLOBALS['dbi']->freeResult($res);
4234
- } else {
4235
- $db_rights = PMA_getDbRightsForUserOverview();
4236
- // for all initials, even non A-Z
4237
- $array_initials = array();
4238
-
4239
- /**
4240
- * Displays the initials
4241
- * Also not necessary if there is less than 20 privileges
4242
- */
4243
- if ($GLOBALS['dbi']->numRows($res_all) > 20) {
4244
- $html_output .= PMA_getHtmlForInitials($array_initials);
4245
- }
4246
-
4247
- /**
4248
- * Display the user overview
4249
- * (if less than 50 users, display them immediately)
4250
- */
4251
- if (isset($_REQUEST['initial'])
4252
- || isset($_REQUEST['showall'])
4253
- || $GLOBALS['dbi']->numRows($res) < 50
4254
- ) {
4255
- $html_output .= PMA_getUsersOverview(
4256
- $res, $db_rights, $pmaThemeImage, $text_dir
4257
- );
4258
- } else {
4259
- $html_output .= PMA_getAddUserHtmlFieldset();
4260
- } // end if (display overview)
4261
-
4262
- if (! $GLOBALS['is_ajax_request']
4263
- || ! empty($_REQUEST['ajax_page_request'])
4264
- ) {
4265
- $flushnote = new PMA_Message(
4266
- __(
4267
- 'Note: phpMyAdmin gets the users\' privileges directly '
4268
- . 'from MySQL\'s privilege tables. The content of these tables '
4269
- . 'may differ from the privileges the server uses, '
4270
- . 'if they have been changed manually. In this case, '
4271
- . 'you should %sreload the privileges%s before you continue.'
4272
- ),
4273
- PMA_Message::NOTICE
4274
- );
4275
- $flushLink = '<a href="server_privileges.php'
4276
- . PMA_URL_getCommon(array('flush_privileges' => 1))
4277
- . '" id="reload_privileges_anchor">';
4278
- $flushnote->addParam(
4279
- $flushLink,
4280
- false
4281
- );
4282
- $flushnote->addParam('</a>', false);
4283
- $html_output .= $flushnote->getDisplay();
4284
- }
4285
- }
4286
-
4287
- return $html_output;
4288
- }
4289
-
4290
- /**
4291
- * Get HTML snippet for display user properties
4292
- *
4293
- * @param boolean $dbname_is_wildcard whether database name is wildcard or not
4294
- * @param string $url_dbname url database name that urlencode() string
4295
- * @param string $username username
4296
- * @param string $hostname host name
4297
- * @param string $dbname database name
4298
- * @param string $tablename table name
4299
- *
4300
- * @return string $html_output
4301
- */
4302
- function PMA_getHtmlForUserProperties($dbname_is_wildcard,$url_dbname,
4303
- $username, $hostname, $dbname, $tablename
4304
- ) {
4305
- $html_output = '<div id="edit_user_dialog">';
4306
- $html_output .= PMA_getHtmlHeaderForUserProperties(
4307
- $dbname_is_wildcard, $url_dbname, $dbname, $username, $hostname, $tablename
4308
- );
4309
-
4310
- $sql = "SELECT '1' FROM `mysql`.`user`"
4311
- . " WHERE `User` = '" . PMA_Util::sqlAddSlashes($username) . "'"
4312
- . " AND `Host` = '" . PMA_Util::sqlAddSlashes($hostname) . "';";
4313
-
4314
- $user_does_not_exists = (bool) ! $GLOBALS['dbi']->fetchValue($sql);
4315
-
4316
- if ($user_does_not_exists) {
4317
- $html_output .= PMA_Message::error(
4318
- __('The selected user was not found in the privilege table.')
4319
- )->getDisplay();
4320
- $html_output .= PMA_getHtmlForLoginInformationFields();
4321
- //exit;
4322
- }
4323
-
4324
- $_params = array(
4325
- 'username' => $username,
4326
- 'hostname' => $hostname,
4327
- );
4328
- if (! is_array($dbname) && /*overload*/mb_strlen($dbname)) {
4329
- $_params['dbname'] = $dbname;
4330
- if (/*overload*/mb_strlen($tablename)) {
4331
- $_params['tablename'] = $tablename;
4332
- }
4333
- } else {
4334
- $_params['dbname'] = $dbname;
4335
- }
4336
-
4337
- $html_output .= '<form class="submenu-item" name="usersForm" '
4338
- . 'id="addUsersForm" action="server_privileges.php" method="post">' . "\n";
4339
- $html_output .= PMA_URL_getHiddenInputs($_params);
4340
- $html_output .= PMA_getHtmlToDisplayPrivilegesTable(
4341
- // If $dbname is an array, pass any one db as all have same privs.
4342
- PMA_ifSetOr($dbname, (is_array($dbname)) ? $dbname[0] : '*', 'length'),
4343
- PMA_ifSetOr($tablename, '*', 'length')
4344
- );
4345
-
4346
- $html_output .= '</form>' . "\n";
4347
-
4348
- if (! is_array($dbname) && ! /*overload*/mb_strlen($tablename)
4349
- && empty($dbname_is_wildcard)
4350
- ) {
4351
-
4352
- // no table name was given, display all table specific rights
4353
- // but only if $dbname contains no wildcards
4354
-
4355
- $html_output .= '<form class="submenu-item" action="server_privileges.php" '
4356
- . 'id="db_or_table_specific_priv" method="post">' . "\n";
4357
-
4358
- // unescape wildcards in dbname at table level
4359
- $unescaped_db = PMA_Util::unescapeMysqlWildcards($dbname);
4360
- list($html_rightsTable, $found_rows)
4361
- = PMA_getHtmlForAllTableSpecificRights(
4362
- $username, $hostname, $unescaped_db
4363
- );
4364
- $html_output .= $html_rightsTable;
4365
-
4366
- if (! /*overload*/mb_strlen($dbname)) {
4367
- // no database name was given, display select db
4368
- $html_output .= PMA_getHtmlForSelectDbInEditPrivs($found_rows);
4369
-
4370
- } else {
4371
- $html_output .= PMA_displayTablesInEditPrivs($dbname, $found_rows);
4372
- }
4373
- $html_output .= '</fieldset>' . "\n";
4374
-
4375
- $html_output .= '<fieldset class="tblFooters">' . "\n"
4376
- . ' <input type="submit" value="' . __('Go') . '" />'
4377
- . '</fieldset>' . "\n"
4378
- . '</form>' . "\n";
4379
- }
4380
-
4381
- // Provide a line with links to the relevant database and table
4382
- if (! is_array($dbname) && /*overload*/mb_strlen($dbname)
4383
- && empty($dbname_is_wildcard)
4384
- ) {
4385
- $html_output .= PMA_getLinkToDbAndTable($url_dbname, $dbname, $tablename);
4386
-
4387
- }
4388
-
4389
- if (! is_array($dbname) && ! /*overload*/mb_strlen($dbname)
4390
- && ! $user_does_not_exists
4391
- ) {
4392
- //change login information
4393
- $html_output .= PMA_getHtmlForChangePassword($username, $hostname);
4394
- $html_output .= PMA_getChangeLoginInformationHtmlForm($username, $hostname);
4395
- }
4396
- $html_output .= '</div>';
4397
-
4398
- return $html_output;
4399
- }
4400
-
4401
- /**
4402
- * Get queries for Table privileges to change or copy user
4403
- *
4404
- * @param string $user_host_condition user host condition to
4405
- * select relevant table privileges
4406
- * @param array $queries queries array
4407
- * @param string $username username
4408
- * @param string $hostname host name
4409
- *
4410
- * @return array $queries
4411
- */
4412
- function PMA_getTablePrivsQueriesForChangeOrCopyUser($user_host_condition,
4413
- $queries, $username, $hostname
4414
- ) {
4415
- $res = $GLOBALS['dbi']->query(
4416
- 'SELECT `Db`, `Table_name`, `Table_priv` FROM `mysql`.`tables_priv`'
4417
- . $user_host_condition,
4418
- $GLOBALS['userlink'],
4419
- PMA_DatabaseInterface::QUERY_STORE
4420
- );
4421
- while ($row = $GLOBALS['dbi']->fetchAssoc($res)) {
4422
-
4423
- $res2 = $GLOBALS['dbi']->query(
4424
- 'SELECT `Column_name`, `Column_priv`'
4425
- . ' FROM `mysql`.`columns_priv`'
4426
- . ' WHERE `User`'
4427
- . ' = \'' . PMA_Util::sqlAddSlashes($_REQUEST['old_username']) . "'"
4428
- . ' AND `Host`'
4429
- . ' = \'' . PMA_Util::sqlAddSlashes($_REQUEST['old_username']) . '\''
4430
- . ' AND `Db`'
4431
- . ' = \'' . PMA_Util::sqlAddSlashes($row['Db']) . "'"
4432
- . ' AND `Table_name`'
4433
- . ' = \'' . PMA_Util::sqlAddSlashes($row['Table_name']) . "'"
4434
- . ';',
4435
- null,
4436
- PMA_DatabaseInterface::QUERY_STORE
4437
- );
4438
-
4439
- $tmp_privs1 = PMA_extractPrivInfo($row);
4440
- $tmp_privs2 = array(
4441
- 'Select' => array(),
4442
- 'Insert' => array(),
4443
- 'Update' => array(),
4444
- 'References' => array()
4445
- );
4446
-
4447
- while ($row2 = $GLOBALS['dbi']->fetchAssoc($res2)) {
4448
- $tmp_array = explode(',', $row2['Column_priv']);
4449
- if (in_array('Select', $tmp_array)) {
4450
- $tmp_privs2['Select'][] = $row2['Column_name'];
4451
- }
4452
- if (in_array('Insert', $tmp_array)) {
4453
- $tmp_privs2['Insert'][] = $row2['Column_name'];
4454
- }
4455
- if (in_array('Update', $tmp_array)) {
4456
- $tmp_privs2['Update'][] = $row2['Column_name'];
4457
- }
4458
- if (in_array('References', $tmp_array)) {
4459
- $tmp_privs2['References'][] = $row2['Column_name'];
4460
- }
4461
- }
4462
- if (count($tmp_privs2['Select']) > 0 && ! in_array('SELECT', $tmp_privs1)) {
4463
- $tmp_privs1[] = 'SELECT (`' . join('`, `', $tmp_privs2['Select']) . '`)';
4464
- }
4465
- if (count($tmp_privs2['Insert']) > 0 && ! in_array('INSERT', $tmp_privs1)) {
4466
- $tmp_privs1[] = 'INSERT (`' . join('`, `', $tmp_privs2['Insert']) . '`)';
4467
- }
4468
- if (count($tmp_privs2['Update']) > 0 && ! in_array('UPDATE', $tmp_privs1)) {
4469
- $tmp_privs1[] = 'UPDATE (`' . join('`, `', $tmp_privs2['Update']) . '`)';
4470
- }
4471
- if (count($tmp_privs2['References']) > 0
4472
- && ! in_array('REFERENCES', $tmp_privs1)
4473
- ) {
4474
- $tmp_privs1[]
4475
- = 'REFERENCES (`' . join('`, `', $tmp_privs2['References']) . '`)';
4476
- }
4477
-
4478
- $queries[] = 'GRANT ' . join(', ', $tmp_privs1)
4479
- . ' ON ' . PMA_Util::backquote($row['Db']) . '.'
4480
- . PMA_Util::backquote($row['Table_name'])
4481
- . ' TO \'' . PMA_Util::sqlAddSlashes($username)
4482
- . '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\''
4483
- . (in_array('Grant', explode(',', $row['Table_priv']))
4484
- ? ' WITH GRANT OPTION;'
4485
- : ';');
4486
- }
4487
- return $queries;
4488
- }
4489
-
4490
- /**
4491
- * Get queries for database specific privileges for change or copy user
4492
- *
4493
- * @param array $queries queries array with string
4494
- * @param string $username username
4495
- * @param string $hostname host name
4496
- *
4497
- * @return array $queries
4498
- */
4499
- function PMA_getDbSpecificPrivsQueriesForChangeOrCopyUser(
4500
- $queries, $username, $hostname
4501
- ) {
4502
- $user_host_condition = ' WHERE `User`'
4503
- . ' = \'' . PMA_Util::sqlAddSlashes($_REQUEST['old_username']) . "'"
4504
- . ' AND `Host`'
4505
- . ' = \'' . PMA_Util::sqlAddSlashes($_REQUEST['old_hostname']) . '\';';
4506
-
4507
- $res = $GLOBALS['dbi']->query(
4508
- 'SELECT * FROM `mysql`.`db`' . $user_host_condition
4509
- );
4510
-
4511
- while ($row = $GLOBALS['dbi']->fetchAssoc($res)) {
4512
- $queries[] = 'GRANT ' . join(', ', PMA_extractPrivInfo($row))
4513
- . ' ON ' . PMA_Util::backquote($row['Db']) . '.*'
4514
- . ' TO \'' . PMA_Util::sqlAddSlashes($username)
4515
- . '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\''
4516
- . ($row['Grant_priv'] == 'Y' ? ' WITH GRANT OPTION;' : ';');
4517
- }
4518
- $GLOBALS['dbi']->freeResult($res);
4519
-
4520
- $queries = PMA_getTablePrivsQueriesForChangeOrCopyUser(
4521
- $user_host_condition, $queries, $username, $hostname
4522
- );
4523
-
4524
- return $queries;
4525
- }
4526
-
4527
- /**
4528
- * Prepares queries for adding users and
4529
- * also create database and return query and message
4530
- *
4531
- * @param boolean $_error whether user create or not
4532
- * @param string $real_sql_query SQL query for add a user
4533
- * @param string $sql_query SQL query to be displayed
4534
- * @param string $username username
4535
- * @param string $hostname host name
4536
- * @param string $dbname database name
4537
- *
4538
- * @return array $sql_query, $message
4539
- */
4540
- function PMA_addUserAndCreateDatabase($_error, $real_sql_query, $sql_query,
4541
- $username, $hostname, $dbname
4542
- ) {
4543
- if ($_error || (!empty($real_sql_query)
4544
- && !$GLOBALS['dbi']->tryQuery($real_sql_query))
4545
- ) {
4546
- $_REQUEST['createdb-1'] = $_REQUEST['createdb-2']
4547
- = $_REQUEST['createdb-3'] = null;
4548
- $message = PMA_Message::rawError($GLOBALS['dbi']->getError());
4549
- } else {
4550
- $message = PMA_Message::success(__('You have added a new user.'));
4551
- }
4552
-
4553
- if (isset($_REQUEST['createdb-1'])) {
4554
- // Create database with same name and grant all privileges
4555
- $q = 'CREATE DATABASE IF NOT EXISTS '
4556
- . PMA_Util::backquote(
4557
- PMA_Util::sqlAddSlashes($username)
4558
- ) . ';';
4559
- $sql_query .= $q;
4560
- if (! $GLOBALS['dbi']->tryQuery($q)) {
4561
- $message = PMA_Message::rawError($GLOBALS['dbi']->getError());
4562
- }
4563
-
4564
- /**
4565
- * Reload the navigation
4566
- */
4567
- $GLOBALS['reload'] = true;
4568
- $GLOBALS['db'] = $username;
4569
-
4570
- $q = 'GRANT ALL PRIVILEGES ON '
4571
- . PMA_Util::backquote(
4572
- PMA_Util::escapeMysqlWildcards(
4573
- PMA_Util::sqlAddSlashes($username)
4574
- )
4575
- ) . '.* TO \''
4576
- . PMA_Util::sqlAddSlashes($username)
4577
- . '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\';';
4578
- $sql_query .= $q;
4579
- if (! $GLOBALS['dbi']->tryQuery($q)) {
4580
- $message = PMA_Message::rawError($GLOBALS['dbi']->getError());
4581
- }
4582
- }
4583
-
4584
- if (isset($_REQUEST['createdb-2'])) {
4585
- // Grant all privileges on wildcard name (username\_%)
4586
- $q = 'GRANT ALL PRIVILEGES ON '
4587
- . PMA_Util::backquote(
4588
- PMA_Util::sqlAddSlashes($username) . '\_%'
4589
- ) . '.* TO \''
4590
- . PMA_Util::sqlAddSlashes($username)
4591
- . '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\';';
4592
- $sql_query .= $q;
4593
- if (! $GLOBALS['dbi']->tryQuery($q)) {
4594
- $message = PMA_Message::rawError($GLOBALS['dbi']->getError());
4595
- }
4596
- }
4597
-
4598
- if (isset($_REQUEST['createdb-3'])) {
4599
- // Grant all privileges on the specified database to the new user
4600
- $q = 'GRANT ALL PRIVILEGES ON '
4601
- . PMA_Util::backquote(
4602
- PMA_Util::sqlAddSlashes($dbname)
4603
- ) . '.* TO \''
4604
- . PMA_Util::sqlAddSlashes($username)
4605
- . '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\';';
4606
- $sql_query .= $q;
4607
- if (! $GLOBALS['dbi']->tryQuery($q)) {
4608
- $message = PMA_Message::rawError($GLOBALS['dbi']->getError());
4609
- }
4610
- }
4611
- return array($sql_query, $message);
4612
- }
4613
-
4614
- /**
4615
- * Get SQL queries for Display and Add user
4616
- *
4617
- * @param string $username username
4618
- * @param string $hostname host name
4619
- * @param string $password password
4620
- *
4621
- * @return array ($create_user_real, $create_user_show,$real_sql_query, $sql_query)
4622
- */
4623
- function PMA_getSqlQueriesForDisplayAndAddUser($username, $hostname, $password)
4624
- {
4625
- $create_user_real = 'CREATE USER \''
4626
- . PMA_Util::sqlAddSlashes($username) . '\'@\''
4627
- . PMA_Util::sqlAddSlashes($hostname) . '\'';
4628
-
4629
- $real_sql_query = 'GRANT ' . join(', ', PMA_extractPrivInfo()) . ' ON *.* TO \''
4630
- . PMA_Util::sqlAddSlashes($username) . '\'@\''
4631
- . PMA_Util::sqlAddSlashes($hostname) . '\'';
4632
-
4633
- if ($_POST['pred_password'] != 'none' && $_POST['pred_password'] != 'keep') {
4634
- $sql_query = $real_sql_query;
4635
- // Requires SELECT privilege on mysql database
4636
- // for using this with GRANT queries. It can be skipped.
4637
- if ($GLOBALS['is_superuser']) {
4638
- $sql_query .= ' IDENTIFIED BY \'***\'';
4639
- $real_sql_query .= ' IDENTIFIED BY \''
4640
- . PMA_Util::sqlAddSlashes($_POST['pma_pw']) . '\'';
4641
- }
4642
- if (isset($create_user_real)) {
4643
- $create_user_show = $create_user_real . ' IDENTIFIED BY \'***\'';
4644
- $create_user_real .= ' IDENTIFIED BY \''
4645
- . PMA_Util::sqlAddSlashes($_POST['pma_pw']) . '\'';
4646
- }
4647
- } else {
4648
- if ($_POST['pred_password'] == 'keep' && ! empty($password)) {
4649
- $real_sql_query .= ' IDENTIFIED BY PASSWORD \'' . $password . '\'';
4650
- if (isset($create_user_real)) {
4651
- $create_user_real .= ' IDENTIFIED BY PASSWORD \'' . $password . '\'';
4652
- }
4653
- }
4654
- $sql_query = $real_sql_query;
4655
- if (isset($create_user_real)) {
4656
- $create_user_show = $create_user_real;
4657
- }
4658
- }
4659
-
4660
- // add REQUIRE clause
4661
- $require_clause = PMA_getRequireClause();
4662
- $real_sql_query .= $require_clause;
4663
- $sql_query .= $require_clause;
4664
-
4665
- if ((isset($_POST['Grant_priv']) && $_POST['Grant_priv'] == 'Y')
4666
- || (isset($_POST['max_questions']) || isset($_POST['max_connections'])
4667
- || isset($_POST['max_updates']) || isset($_POST['max_user_connections']))
4668
- ) {
4669
- $with_clause = PMA_getWithClauseForAddUserAndUpdatePrivs();
4670
- $real_sql_query .= $with_clause;
4671
- $sql_query .= $with_clause;
4672
- }
4673
-
4674
- if (isset($create_user_real)) {
4675
- $create_user_real .= ';';
4676
- $create_user_show .= ';';
4677
- }
4678
- $real_sql_query .= ';';
4679
- $sql_query .= ';';
4680
- // No Global GRANT_OPTION privilege
4681
- if (!$GLOBALS['is_grantuser']) {
4682
- $real_sql_query = '';
4683
- $sql_query = '';
4684
- }
4685
-
4686
- return array($create_user_real,
4687
- $create_user_show,
4688
- $real_sql_query,
4689
- $sql_query
4690
- );
4691
- }
4692
- ?>