simpletool 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1702) hide show
  1. checksums.yaml +4 -4
  2. data/lib/simpletool.rb +3 -1
  3. metadata +2 -1701
  4. data/lib/support/phpmyadmin/phpmyadmin/CONTRIBUTING.md +0 -25
  5. data/lib/support/phpmyadmin/phpmyadmin/ChangeLog +0 -312
  6. data/lib/support/phpmyadmin/phpmyadmin/DCO +0 -44
  7. data/lib/support/phpmyadmin/phpmyadmin/LICENSE +0 -340
  8. data/lib/support/phpmyadmin/phpmyadmin/README +0 -52
  9. data/lib/support/phpmyadmin/phpmyadmin/RELEASE-DATE-4.4.8 +0 -1
  10. data/lib/support/phpmyadmin/phpmyadmin/browse_foreigners.php +0 -61
  11. data/lib/support/phpmyadmin/phpmyadmin/changelog.php +0 -153
  12. data/lib/support/phpmyadmin/phpmyadmin/chk_rel.php +0 -27
  13. data/lib/support/phpmyadmin/phpmyadmin/composer.json +0 -30
  14. data/lib/support/phpmyadmin/phpmyadmin/config.sample.inc.php +0 -152
  15. data/lib/support/phpmyadmin/phpmyadmin/db_central_columns.php +0 -134
  16. data/lib/support/phpmyadmin/phpmyadmin/db_create.php +0 -141
  17. data/lib/support/phpmyadmin/phpmyadmin/db_datadict.php +0 -208
  18. data/lib/support/phpmyadmin/phpmyadmin/db_designer.php +0 -173
  19. data/lib/support/phpmyadmin/phpmyadmin/db_events.php +0 -26
  20. data/lib/support/phpmyadmin/phpmyadmin/db_export.php +0 -94
  21. data/lib/support/phpmyadmin/phpmyadmin/db_import.php +0 -25
  22. data/lib/support/phpmyadmin/phpmyadmin/db_operations.php +0 -291
  23. data/lib/support/phpmyadmin/phpmyadmin/db_printview.php +0 -175
  24. data/lib/support/phpmyadmin/phpmyadmin/db_qbe.php +0 -131
  25. data/lib/support/phpmyadmin/phpmyadmin/db_routines.php +0 -27
  26. data/lib/support/phpmyadmin/phpmyadmin/db_search.php +0 -63
  27. data/lib/support/phpmyadmin/phpmyadmin/db_sql.php +0 -45
  28. data/lib/support/phpmyadmin/phpmyadmin/db_sql_autocomplete.php +0 -24
  29. data/lib/support/phpmyadmin/phpmyadmin/db_sql_format.php +0 -18
  30. data/lib/support/phpmyadmin/phpmyadmin/db_structure.php +0 -345
  31. data/lib/support/phpmyadmin/phpmyadmin/db_tracking.php +0 -350
  32. data/lib/support/phpmyadmin/phpmyadmin/db_triggers.php +0 -25
  33. data/lib/support/phpmyadmin/phpmyadmin/doc/Makefile +0 -197
  34. data/lib/support/phpmyadmin/phpmyadmin/doc/_ext/configext.py +0 -188
  35. data/lib/support/phpmyadmin/phpmyadmin/doc/conf.py +0 -304
  36. data/lib/support/phpmyadmin/phpmyadmin/doc/config.rst +0 -2794
  37. data/lib/support/phpmyadmin/phpmyadmin/doc/copyright.rst +0 -50
  38. data/lib/support/phpmyadmin/phpmyadmin/doc/credits.rst +0 -657
  39. data/lib/support/phpmyadmin/phpmyadmin/doc/developers.rst +0 -12
  40. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/config.doctree +0 -0
  41. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/copyright.doctree +0 -0
  42. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/credits.doctree +0 -0
  43. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/developers.doctree +0 -0
  44. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/environment.pickle +0 -0
  45. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/faq.doctree +0 -0
  46. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/glossary.doctree +0 -0
  47. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/import_export.doctree +0 -0
  48. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/index.doctree +0 -0
  49. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/intro.doctree +0 -0
  50. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/other.doctree +0 -0
  51. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/privileges.doctree +0 -0
  52. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/require.doctree +0 -0
  53. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/setup.doctree +0 -0
  54. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/transformations.doctree +0 -0
  55. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/user.doctree +0 -0
  56. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/vendors.doctree +0 -0
  57. data/lib/support/phpmyadmin/phpmyadmin/doc/faq.rst +0 -2112
  58. data/lib/support/phpmyadmin/phpmyadmin/doc/glossary.rst +0 -399
  59. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/config.txt +0 -2794
  60. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/copyright.txt +0 -50
  61. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/credits.txt +0 -657
  62. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/developers.txt +0 -12
  63. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/faq.txt +0 -2112
  64. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/glossary.txt +0 -399
  65. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/import_export.txt +0 -27
  66. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/index.txt +0 -32
  67. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/intro.txt +0 -68
  68. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/other.txt +0 -18
  69. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/privileges.txt +0 -50
  70. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/require.txt +0 -54
  71. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/setup.txt +0 -543
  72. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/transformations.txt +0 -138
  73. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/user.txt +0 -10
  74. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/vendors.txt +0 -35
  75. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/ajax-loader.gif +0 -0
  76. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/basic.css +0 -540
  77. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment-bright.png +0 -0
  78. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment-close.png +0 -0
  79. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment.png +0 -0
  80. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/default.css +0 -256
  81. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/doctools.js +0 -247
  82. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/down-pressed.png +0 -0
  83. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/down.png +0 -0
  84. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/file.png +0 -0
  85. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/jquery.js +0 -154
  86. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/minus.png +0 -0
  87. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/plus.png +0 -0
  88. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/pygments.css +0 -62
  89. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/searchtools.js +0 -560
  90. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/sidebar.js +0 -151
  91. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/underscore.js +0 -23
  92. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/up-pressed.png +0 -0
  93. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/up.png +0 -0
  94. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/websupport.js +0 -808
  95. data/lib/support/phpmyadmin/phpmyadmin/doc/html/config.html +0 -5000
  96. data/lib/support/phpmyadmin/phpmyadmin/doc/html/copyright.html +0 -157
  97. data/lib/support/phpmyadmin/phpmyadmin/doc/html/credits.html +0 -714
  98. data/lib/support/phpmyadmin/phpmyadmin/doc/html/developers.html +0 -118
  99. data/lib/support/phpmyadmin/phpmyadmin/doc/html/faq.html +0 -1871
  100. data/lib/support/phpmyadmin/phpmyadmin/doc/html/genindex.html +0 -3807
  101. data/lib/support/phpmyadmin/phpmyadmin/doc/html/glossary.html +0 -618
  102. data/lib/support/phpmyadmin/phpmyadmin/doc/html/import_export.html +0 -148
  103. data/lib/support/phpmyadmin/phpmyadmin/doc/html/index.html +0 -210
  104. data/lib/support/phpmyadmin/phpmyadmin/doc/html/intro.html +0 -182
  105. data/lib/support/phpmyadmin/phpmyadmin/doc/html/objects.inv +0 -0
  106. data/lib/support/phpmyadmin/phpmyadmin/doc/html/other.html +0 -135
  107. data/lib/support/phpmyadmin/phpmyadmin/doc/html/privileges.html +0 -169
  108. data/lib/support/phpmyadmin/phpmyadmin/doc/html/require.html +0 -168
  109. data/lib/support/phpmyadmin/phpmyadmin/doc/html/search.html +0 -100
  110. data/lib/support/phpmyadmin/phpmyadmin/doc/html/searchindex.js +0 -1
  111. data/lib/support/phpmyadmin/phpmyadmin/doc/html/setup.html +0 -909
  112. data/lib/support/phpmyadmin/phpmyadmin/doc/html/transformations.html +0 -240
  113. data/lib/support/phpmyadmin/phpmyadmin/doc/html/user.html +0 -139
  114. data/lib/support/phpmyadmin/phpmyadmin/doc/html/vendors.html +0 -149
  115. data/lib/support/phpmyadmin/phpmyadmin/doc/import_export.rst +0 -27
  116. data/lib/support/phpmyadmin/phpmyadmin/doc/index.rst +0 -32
  117. data/lib/support/phpmyadmin/phpmyadmin/doc/intro.rst +0 -68
  118. data/lib/support/phpmyadmin/phpmyadmin/doc/make.bat +0 -242
  119. data/lib/support/phpmyadmin/phpmyadmin/doc/other.rst +0 -18
  120. data/lib/support/phpmyadmin/phpmyadmin/doc/privileges.rst +0 -50
  121. data/lib/support/phpmyadmin/phpmyadmin/doc/require.rst +0 -54
  122. data/lib/support/phpmyadmin/phpmyadmin/doc/setup.rst +0 -543
  123. data/lib/support/phpmyadmin/phpmyadmin/doc/transformations.rst +0 -138
  124. data/lib/support/phpmyadmin/phpmyadmin/doc/user.rst +0 -10
  125. data/lib/support/phpmyadmin/phpmyadmin/doc/vendors.rst +0 -35
  126. data/lib/support/phpmyadmin/phpmyadmin/error_report.php +0 -130
  127. data/lib/support/phpmyadmin/phpmyadmin/examples/config.manyhosts.inc.php +0 -51
  128. data/lib/support/phpmyadmin/phpmyadmin/examples/openid.php +0 -160
  129. data/lib/support/phpmyadmin/phpmyadmin/examples/signon-script.php +0 -37
  130. data/lib/support/phpmyadmin/phpmyadmin/examples/signon.php +0 -71
  131. data/lib/support/phpmyadmin/phpmyadmin/examples/swekey.sample.conf +0 -44
  132. data/lib/support/phpmyadmin/phpmyadmin/export.php +0 -480
  133. data/lib/support/phpmyadmin/phpmyadmin/favicon.ico +0 -0
  134. data/lib/support/phpmyadmin/phpmyadmin/file_echo.php +0 -81
  135. data/lib/support/phpmyadmin/phpmyadmin/gis_data_editor.php +0 -429
  136. data/lib/support/phpmyadmin/phpmyadmin/import.php +0 -770
  137. data/lib/support/phpmyadmin/phpmyadmin/import_status.php +0 -118
  138. data/lib/support/phpmyadmin/phpmyadmin/index.php +0 -701
  139. data/lib/support/phpmyadmin/phpmyadmin/js/OpenStreetMap.js +0 -126
  140. data/lib/support/phpmyadmin/phpmyadmin/js/ajax.js +0 -1031
  141. data/lib/support/phpmyadmin/phpmyadmin/js/big_ints.js +0 -67
  142. data/lib/support/phpmyadmin/phpmyadmin/js/canvg/MIT-LICENSE.txt +0 -22
  143. data/lib/support/phpmyadmin/phpmyadmin/js/canvg/canvg.js +0 -2509
  144. data/lib/support/phpmyadmin/phpmyadmin/js/chart.js +0 -664
  145. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/LICENSE +0 -19
  146. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/hint/show-hint.js +0 -394
  147. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/hint/sql-hint.js +0 -248
  148. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/runmode/runmode.js +0 -72
  149. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/lib/codemirror.js +0 -8645
  150. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/javascript/javascript.js +0 -692
  151. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/sql/sql.js +0 -391
  152. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/xml/xml.js +0 -384
  153. data/lib/support/phpmyadmin/phpmyadmin/js/common.js +0 -515
  154. data/lib/support/phpmyadmin/phpmyadmin/js/config.js +0 -798
  155. data/lib/support/phpmyadmin/phpmyadmin/js/console.js +0 -1032
  156. data/lib/support/phpmyadmin/phpmyadmin/js/cross_framing_protection.js +0 -10
  157. data/lib/support/phpmyadmin/phpmyadmin/js/db_central_columns.js +0 -200
  158. data/lib/support/phpmyadmin/phpmyadmin/js/db_operations.js +0 -157
  159. data/lib/support/phpmyadmin/phpmyadmin/js/db_qbe.js +0 -64
  160. data/lib/support/phpmyadmin/phpmyadmin/js/db_search.js +0 -239
  161. data/lib/support/phpmyadmin/phpmyadmin/js/db_structure.js +0 -391
  162. data/lib/support/phpmyadmin/phpmyadmin/js/db_tracking.js +0 -85
  163. data/lib/support/phpmyadmin/phpmyadmin/js/doclinks.js +0 -365
  164. data/lib/support/phpmyadmin/phpmyadmin/js/error_report.js +0 -340
  165. data/lib/support/phpmyadmin/phpmyadmin/js/export.js +0 -401
  166. data/lib/support/phpmyadmin/phpmyadmin/js/functions.js +0 -4579
  167. data/lib/support/phpmyadmin/phpmyadmin/js/get_image.js.php +0 -148
  168. data/lib/support/phpmyadmin/phpmyadmin/js/get_scripts.js.php +0 -62
  169. data/lib/support/phpmyadmin/phpmyadmin/js/gis_data_editor.js +0 -396
  170. data/lib/support/phpmyadmin/phpmyadmin/js/import.js +0 -167
  171. data/lib/support/phpmyadmin/phpmyadmin/js/indexes.js +0 -697
  172. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/excanvas.js +0 -1438
  173. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/jquery.jqplot.js +0 -11411
  174. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.barRenderer.js +0 -801
  175. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.byteFormatter.js +0 -46
  176. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.canvasAxisLabelRenderer.js +0 -203
  177. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.canvasTextRenderer.js +0 -449
  178. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.categoryAxisRenderer.js +0 -679
  179. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.cursor.js +0 -1108
  180. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.dateAxisRenderer.js +0 -741
  181. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.highlighter.js +0 -465
  182. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.pieRenderer.js +0 -904
  183. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.pointLabels.js +0 -377
  184. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/MIT-LICENSE.txt +0 -21
  185. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-1.11.1.min.js +0 -4
  186. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-ui-1.11.2.min.js +0 -13
  187. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-ui-timepicker-addon.js +0 -2223
  188. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.ba-hashchange-1.3.js +0 -390
  189. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.cookie.js +0 -91
  190. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.debounce-1.0.5.js +0 -71
  191. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.event.drag-2.2.js +0 -402
  192. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.fullscreen.js +0 -60
  193. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.mousewheel.js +0 -221
  194. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.sortableTable.js +0 -272
  195. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.svg.js +0 -1352
  196. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.tablesorter.js +0 -1033
  197. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.uitablefilter.js +0 -117
  198. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/README +0 -9
  199. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/jsonp.js +0 -89
  200. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/load.js +0 -75
  201. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/parseJSON.js +0 -51
  202. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/parseXML.js +0 -31
  203. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/script.js +0 -93
  204. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/var/nonce.js +0 -5
  205. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/var/rquery.js +0 -3
  206. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/xhr.js +0 -196
  207. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax.js +0 -807
  208. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/attr.js +0 -271
  209. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/classes.js +0 -157
  210. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/prop.js +0 -134
  211. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/support.js +0 -62
  212. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/val.js +0 -178
  213. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes.js +0 -11
  214. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/callbacks.js +0 -205
  215. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/access.js +0 -60
  216. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/init.js +0 -132
  217. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/parseHTML.js +0 -39
  218. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/ready.js +0 -152
  219. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/var/rsingleTag.js +0 -4
  220. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core.js +0 -534
  221. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/addGetHookIf.js +0 -32
  222. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/curCSS.js +0 -117
  223. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/defaultDisplay.js +0 -69
  224. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/hiddenVisibleSelectors.js +0 -20
  225. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/support.js +0 -149
  226. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/swap.js +0 -28
  227. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/cssExpand.js +0 -3
  228. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/isHidden.js +0 -13
  229. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/rmargin.js +0 -3
  230. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/rnumnonpx.js +0 -5
  231. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css.js +0 -504
  232. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data/accepts.js +0 -21
  233. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data/support.js +0 -25
  234. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data.js +0 -335
  235. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/deferred.js +0 -150
  236. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/deprecated.js +0 -13
  237. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/dimensions.js +0 -50
  238. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/Tween.js +0 -114
  239. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/animatedSelector.js +0 -13
  240. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/support.js +0 -55
  241. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects.js +0 -656
  242. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event/alias.js +0 -39
  243. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event/support.js +0 -26
  244. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event.js +0 -1037
  245. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/exports/amd.js +0 -24
  246. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/exports/global.js +0 -32
  247. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/intro.js +0 -44
  248. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/jquery.js +0 -37
  249. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/_evalUrl.js +0 -18
  250. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/support.js +0 -76
  251. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/var/rcheckableType.js +0 -3
  252. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation.js +0 -744
  253. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/offset.js +0 -211
  254. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/outro.js +0 -1
  255. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/queue/delay.js +0 -22
  256. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/queue.js +0 -142
  257. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/selector-sizzle.js +0 -14
  258. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/selector.js +0 -1
  259. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/serialize.js +0 -110
  260. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.js +0 -2044
  261. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.min.js +0 -3
  262. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.min.map +0 -1
  263. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/empty.js +0 -0
  264. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/mixed_sort.html +0 -22
  265. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/testinit.js +0 -136
  266. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/index.html +0 -242
  267. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/jquery.js +0 -9597
  268. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/extending.js +0 -95
  269. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/selector.js +0 -1149
  270. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/utilities.js +0 -169
  271. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/support.js +0 -58
  272. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing/findFilter.js +0 -100
  273. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing/var/rneedsContext.js +0 -6
  274. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing.js +0 -200
  275. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/class2type.js +0 -4
  276. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/concat.js +0 -5
  277. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/deletedIds.js +0 -3
  278. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/hasOwn.js +0 -5
  279. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/indexOf.js +0 -5
  280. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/pnum.js +0 -3
  281. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/push.js +0 -5
  282. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/rnotwhite.js +0 -3
  283. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/slice.js +0 -5
  284. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/strundefined.js +0 -3
  285. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/support.js +0 -4
  286. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/toString.js +0 -5
  287. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/wrap.js +0 -75
  288. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/accordion.js +0 -584
  289. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/autocomplete.js +0 -628
  290. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/button.js +0 -411
  291. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/core.js +0 -304
  292. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/datepicker.js +0 -2080
  293. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/dialog.js +0 -875
  294. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/draggable.js +0 -1128
  295. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/droppable.js +0 -413
  296. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-blind.js +0 -90
  297. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-bounce.js +0 -123
  298. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-clip.js +0 -77
  299. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-drop.js +0 -75
  300. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-explode.js +0 -107
  301. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-fade.js +0 -40
  302. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-fold.js +0 -86
  303. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-highlight.js +0 -60
  304. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-puff.js +0 -60
  305. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-pulsate.js +0 -73
  306. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-scale.js +0 -89
  307. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-shake.js +0 -84
  308. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-size.js +0 -233
  309. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-slide.js +0 -74
  310. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-transfer.js +0 -57
  311. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect.js +0 -1301
  312. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/menu.js +0 -646
  313. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/mouse.js +0 -199
  314. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/position.js +0 -517
  315. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/progressbar.js +0 -159
  316. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/resizable.js +0 -1179
  317. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/selectable.js +0 -287
  318. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/selectmenu.js +0 -616
  319. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/slider.js +0 -699
  320. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/sortable.js +0 -1304
  321. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/spinner.js +0 -514
  322. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/tabs.js +0 -880
  323. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/tooltip.js +0 -461
  324. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/widget.js +0 -557
  325. data/lib/support/phpmyadmin/phpmyadmin/js/keyhandler.js +0 -145
  326. data/lib/support/phpmyadmin/phpmyadmin/js/line_counts.php +0 -523
  327. data/lib/support/phpmyadmin/phpmyadmin/js/makegrid.js +0 -1973
  328. data/lib/support/phpmyadmin/phpmyadmin/js/menu-resizer.js +0 -182
  329. data/lib/support/phpmyadmin/phpmyadmin/js/messages.php +0 -718
  330. data/lib/support/phpmyadmin/phpmyadmin/js/multi_column_sort.js +0 -81
  331. data/lib/support/phpmyadmin/phpmyadmin/js/navigation.js +0 -1505
  332. data/lib/support/phpmyadmin/phpmyadmin/js/normalization.js +0 -707
  333. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/OpenLayers.js +0 -2681
  334. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/blank.gif +0 -0
  335. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/cloud-popup-relative.png +0 -0
  336. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/drag-rectangle-off.png +0 -0
  337. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/drag-rectangle-on.png +0 -0
  338. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/east-mini.png +0 -0
  339. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/layer-switcher-maximize.png +0 -0
  340. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/layer-switcher-minimize.png +0 -0
  341. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-blue.png +0 -0
  342. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-gold.png +0 -0
  343. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-green.png +0 -0
  344. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker.png +0 -0
  345. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/measuring-stick-off.png +0 -0
  346. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/measuring-stick-on.png +0 -0
  347. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/north-mini.png +0 -0
  348. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/panning-hand-off.png +0 -0
  349. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/panning-hand-on.png +0 -0
  350. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/slider.png +0 -0
  351. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/south-mini.png +0 -0
  352. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/west-mini.png +0 -0
  353. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-minus-mini.png +0 -0
  354. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-plus-mini.png +0 -0
  355. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-world-mini.png +0 -0
  356. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoombar.png +0 -0
  357. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/README +0 -12
  358. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/errorIcon.png +0 -0
  359. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.css +0 -209
  360. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.html +0 -23
  361. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.js +0 -674
  362. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebugx.js +0 -9
  363. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/infoIcon.png +0 -0
  364. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/license.txt +0 -30
  365. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/readme.txt +0 -13
  366. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/warningIcon.png +0 -0
  367. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Gears/gears_init.js +0 -88
  368. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Ajax.js +0 -678
  369. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Bounds.js +0 -681
  370. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Class.js +0 -116
  371. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Element.js +0 -251
  372. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/LonLat.js +0 -190
  373. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Pixel.js +0 -125
  374. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Size.js +0 -85
  375. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes.js +0 -682
  376. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Console.js +0 -246
  377. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ArgParser.js +0 -166
  378. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Attribution.js +0 -97
  379. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Button.js +0 -44
  380. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DragFeature.js +0 -303
  381. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DragPan.js +0 -94
  382. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DrawFeature.js +0 -126
  383. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/EditingToolbar.js +0 -63
  384. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/GetFeature.js +0 -595
  385. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Graticule.js +0 -373
  386. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/KeyboardDefaults.js +0 -127
  387. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/LayerSwitcher.js +0 -620
  388. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Measure.js +0 -321
  389. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ModifyFeature.js +0 -777
  390. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MouseDefaults.js +0 -368
  391. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MousePosition.js +0 -213
  392. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MouseToolbar.js +0 -406
  393. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/NavToolbar.js +0 -55
  394. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Navigation.js +0 -303
  395. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/NavigationHistory.js +0 -423
  396. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/OverviewMap.js +0 -720
  397. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Pan.js +0 -86
  398. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanPanel.js +0 -63
  399. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanZoom.js +0 -246
  400. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanZoomBar.js +0 -396
  401. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Panel.js +0 -371
  402. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Permalink.js +0 -220
  403. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/SLDSelect.js +0 -570
  404. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Scale.js +0 -99
  405. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ScaleLine.js +0 -223
  406. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/SelectFeature.js +0 -613
  407. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Snapping.js +0 -547
  408. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Split.js +0 -498
  409. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/TransformFeature.js +0 -579
  410. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/WMSGetFeatureInfo.js +0 -524
  411. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/WMTSGetFeatureInfo.js +0 -442
  412. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomBox.js +0 -95
  413. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomIn.js +0 -35
  414. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomOut.js +0 -35
  415. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomPanel.js +0 -54
  416. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomToMaxExtent.js +0 -40
  417. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control.js +0 -368
  418. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Events.js +0 -855
  419. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature/Vector.js +0 -454
  420. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature/WFS.js +0 -80
  421. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature.js +0 -227
  422. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Comparison.js +0 -258
  423. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/FeatureId.js +0 -81
  424. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Logical.js +0 -119
  425. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Spatial.js +0 -128
  426. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter.js +0 -68
  427. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML/Features.js +0 -49
  428. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML.js +0 -1028
  429. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Atom.js +0 -727
  430. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js +0 -243
  431. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain.js +0 -34
  432. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js +0 -440
  433. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords.js +0 -34
  434. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Context.js +0 -334
  435. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1.js +0 -426
  436. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_0_0.js +0 -169
  437. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_1_0.js +0 -182
  438. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter.js +0 -115
  439. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/Base.js +0 -578
  440. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/v2.js +0 -193
  441. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/v3.js +0 -462
  442. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML.js +0 -924
  443. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GPX.js +0 -184
  444. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GeoJSON.js +0 -716
  445. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GeoRSS.js +0 -420
  446. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/JSON.js +0 -389
  447. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/KML.js +0 -1429
  448. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OSM.js +0 -457
  449. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1.js +0 -256
  450. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_0_0.js +0 -50
  451. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_1_0.js +0 -64
  452. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext/v0_3_1.js +0 -589
  453. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext.js +0 -81
  454. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1.js +0 -1100
  455. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1_0_0.js +0 -51
  456. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD.js +0 -131
  457. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js +0 -158
  458. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities.js +0 -83
  459. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js +0 -193
  460. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetObservation.js +0 -262
  461. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Text.js +0 -152
  462. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFS.js +0 -220
  463. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1.js +0 -126
  464. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js +0 -157
  465. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js +0 -36
  466. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities.js +0 -80
  467. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSDescribeFeatureType.js +0 -198
  468. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1.js +0 -368
  469. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_0_0.js +0 -150
  470. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_1_0.js +0 -161
  471. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST.js +0 -34
  472. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WKT.js +0 -358
  473. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1.js +0 -835
  474. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_0_0.js +0 -76
  475. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_1_0.js +0 -127
  476. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC.js +0 -152
  477. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1.js +0 -418
  478. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1.js +0 -118
  479. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js +0 -62
  480. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js +0 -58
  481. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3.js +0 -128
  482. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js +0 -30
  483. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities.js +0 -82
  484. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js +0 -100
  485. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer.js +0 -91
  486. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSGetFeatureInfo.js +0 -284
  487. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js +0 -221
  488. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js +0 -162
  489. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/XML.js +0 -881
  490. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format.js +0 -123
  491. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Collection.js +0 -546
  492. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Curve.js +0 -93
  493. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/LineString.js +0 -552
  494. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/LinearRing.js +0 -417
  495. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiLineString.js +0 -262
  496. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPoint.js +0 -70
  497. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPolygon.js +0 -46
  498. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Point.js +0 -283
  499. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Polygon.js +0 -259
  500. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Rectangle.js +0 -99
  501. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Surface.js +0 -17
  502. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry.js +0 -456
  503. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Box.js +0 -221
  504. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Click.js +0 -325
  505. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Drag.js +0 -420
  506. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Feature.js +0 -388
  507. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Hover.js +0 -183
  508. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Keyboard.js +0 -109
  509. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/MouseWheel.js +0 -283
  510. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Path.js +0 -302
  511. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Point.js +0 -373
  512. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Polygon.js +0 -144
  513. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/RegularPolygon.js +0 -421
  514. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler.js +0 -287
  515. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Icon.js +0 -227
  516. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ar.js +0 -38
  517. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/be-tarask.js +0 -80
  518. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/bg.js +0 -29
  519. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/br.js +0 -79
  520. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ca.js +0 -128
  521. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/cs-CZ.js +0 -69
  522. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/da-DK.js +0 -119
  523. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/de.js +0 -81
  524. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/el.js +0 -19
  525. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/en-CA.js +0 -21
  526. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/en.js +0 -128
  527. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/es.js +0 -129
  528. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fi.js +0 -34
  529. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fr.js +0 -80
  530. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fur.js +0 -35
  531. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/gl.js +0 -79
  532. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/gsw.js +0 -79
  533. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hr.js +0 -61
  534. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hsb.js +0 -79
  535. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hu.js +0 -80
  536. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ia.js +0 -79
  537. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/id.js +0 -80
  538. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/io.js +0 -19
  539. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/is.js +0 -37
  540. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/it.js +0 -116
  541. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ja.js +0 -80
  542. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/km.js +0 -25
  543. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ksh.js +0 -79
  544. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nb.js +0 -118
  545. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nds.js +0 -61
  546. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nl.js +0 -79
  547. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nn.js +0 -27
  548. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/oc.js +0 -79
  549. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/pt-BR.js +0 -80
  550. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/pt.js +0 -81
  551. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ru.js +0 -82
  552. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/sk.js +0 -71
  553. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/sv-SE.js +0 -71
  554. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/te.js +0 -27
  555. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/vi.js +0 -79
  556. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/zh-CN.js +0 -116
  557. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/zh-TW.js +0 -117
  558. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang.js +0 -133
  559. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/ArcGIS93Rest.js +0 -253
  560. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/ArcIMS.js +0 -466
  561. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Boxes.js +0 -76
  562. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/EventPane.js +0 -418
  563. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/FixedZoomLevels.js +0 -315
  564. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/GML.js +0 -174
  565. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/GeoRSS.js +0 -266
  566. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Google/v3.js +0 -419
  567. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Google.js +0 -795
  568. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Grid.js +0 -755
  569. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/HTTPRequest.js +0 -230
  570. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Image.js +0 -254
  571. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/KaMap.js +0 -206
  572. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/KaMapCache.js +0 -148
  573. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapGuide.js +0 -489
  574. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer/Untiled.js +0 -72
  575. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer.js +0 -199
  576. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Markers.js +0 -187
  577. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MultiMap.js +0 -284
  578. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/PointTrack.js +0 -103
  579. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/SphericalMercator.js +0 -196
  580. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/TMS.js +0 -167
  581. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Text.js +0 -264
  582. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/TileCache.js +0 -165
  583. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Vector/RootContainer.js +0 -157
  584. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Vector.js +0 -947
  585. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/VirtualEarth.js +0 -368
  586. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WFS.js +0 -609
  587. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Post.js +0 -99
  588. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Untiled.js +0 -72
  589. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS.js +0 -268
  590. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMTS.js +0 -476
  591. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WorldWind.js +0 -120
  592. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/XYZ.js +0 -196
  593. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Yahoo.js +0 -430
  594. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Zoomify.js +0 -308
  595. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer.js +0 -1304
  596. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Map.js +0 -2417
  597. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Marker/Box.js +0 -120
  598. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Marker.js +0 -242
  599. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/Anchored.js +0 -198
  600. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/AnchoredBubble.js +0 -190
  601. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/Framed.js +0 -343
  602. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/FramedCloud.js +0 -231
  603. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup.js +0 -1052
  604. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Projection.js +0 -178
  605. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/HTTP.js +0 -655
  606. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS/v1_0_0.js +0 -132
  607. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS.js +0 -33
  608. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL/Gears.js +0 -561
  609. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL.js +0 -88
  610. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1.js +0 -342
  611. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_0_0.js +0 -44
  612. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_1_0.js +0 -48
  613. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS.js +0 -71
  614. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol.js +0 -272
  615. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/Canvas.js +0 -494
  616. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/Elements.js +0 -1010
  617. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/SVG.js +0 -995
  618. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/VML.js +0 -999
  619. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer.js +0 -362
  620. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Request/XMLHttpRequest.js +0 -384
  621. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Request.js +0 -358
  622. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Rule.js +0 -240
  623. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/SingleFile.js +0 -10
  624. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/BBOX.js +0 -278
  625. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Cluster.js +0 -280
  626. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Filter.js +0 -164
  627. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Fixed.js +0 -138
  628. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Paging.js +0 -236
  629. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Refresh.js +0 -140
  630. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Save.js +0 -229
  631. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy.js +0 -117
  632. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Style.js +0 -443
  633. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Style2.js +0 -111
  634. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/StyleMap.js +0 -160
  635. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Line.js +0 -69
  636. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Point.js +0 -141
  637. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Polygon.js +0 -81
  638. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Raster.js +0 -34
  639. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Text.js +0 -65
  640. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer.js +0 -51
  641. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/Image/IFrame.js +0 -262
  642. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/Image.js +0 -578
  643. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/WFS.js +0 -192
  644. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile.js +0 -281
  645. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tween.js +0 -318
  646. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Util.js +0 -1797
  647. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers.js +0 -348
  648. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Rico/Color.js +0 -244
  649. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Rico/Corner.js +0 -330
  650. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/framedCloud.css +0 -0
  651. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/google.css +0 -10
  652. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/ie6-style.css +0 -7
  653. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/add_point_off.png +0 -0
  654. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/add_point_on.png +0 -0
  655. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/blank.gif +0 -0
  656. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/close.gif +0 -0
  657. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/drag-rectangle-off.png +0 -0
  658. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/drag-rectangle-on.png +0 -0
  659. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_line_off.png +0 -0
  660. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_line_on.png +0 -0
  661. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_point_off.png +0 -0
  662. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_point_on.png +0 -0
  663. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_polygon_off.png +0 -0
  664. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_polygon_on.png +0 -0
  665. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/editing_tool_bar.png +0 -0
  666. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/move_feature_off.png +0 -0
  667. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/move_feature_on.png +0 -0
  668. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/navigation_history.png +0 -0
  669. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/overview_replacement.gif +0 -0
  670. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan-panel-NOALPHA.png +0 -0
  671. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan-panel.png +0 -0
  672. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan_off.png +0 -0
  673. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan_on.png +0 -0
  674. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/panning-hand-off.png +0 -0
  675. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/panning-hand-on.png +0 -0
  676. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/remove_point_off.png +0 -0
  677. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/remove_point_on.png +0 -0
  678. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/ruler.png +0 -0
  679. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/save_features_off.png +0 -0
  680. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/save_features_on.png +0 -0
  681. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_next_off.png +0 -0
  682. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_next_on.png +0 -0
  683. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_previous_off.png +0 -0
  684. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_previous_on.png +0 -0
  685. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/zoom-panel-NOALPHA.png +0 -0
  686. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/zoom-panel.png +0 -0
  687. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/style.css +0 -397
  688. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_db.js +0 -136
  689. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_objects.js +0 -17
  690. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_page.js +0 -164
  691. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/history.js +0 -812
  692. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/iecanvas.js +0 -147
  693. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/init.js +0 -40
  694. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/move.js +0 -1993
  695. data/lib/support/phpmyadmin/phpmyadmin/js/replication.js +0 -72
  696. data/lib/support/phpmyadmin/phpmyadmin/js/rte.js +0 -944
  697. data/lib/support/phpmyadmin/phpmyadmin/js/server_databases.js +0 -137
  698. data/lib/support/phpmyadmin/phpmyadmin/js/server_plugins.js +0 -30
  699. data/lib/support/phpmyadmin/phpmyadmin/js/server_privileges.js +0 -451
  700. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_advisor.js +0 -93
  701. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_monitor.js +0 -2172
  702. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_processes.js +0 -189
  703. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_queries.js +0 -34
  704. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_sorter.js +0 -89
  705. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_variables.js +0 -103
  706. data/lib/support/phpmyadmin/phpmyadmin/js/server_user_groups.js +0 -42
  707. data/lib/support/phpmyadmin/phpmyadmin/js/server_variables.js +0 -147
  708. data/lib/support/phpmyadmin/phpmyadmin/js/sprintf.js +0 -211
  709. data/lib/support/phpmyadmin/phpmyadmin/js/sql.js +0 -842
  710. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_change.js +0 -754
  711. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_chart.js +0 -437
  712. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_find_replace.js +0 -47
  713. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_gis_visualization.js +0 -353
  714. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_operations.js +0 -240
  715. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_relation.js +0 -233
  716. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_select.js +0 -395
  717. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_structure.js +0 -397
  718. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_tracking.js +0 -96
  719. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_zoom_plot_jqplot.js +0 -638
  720. data/lib/support/phpmyadmin/phpmyadmin/js/tracekit/tracekit.js +0 -1114
  721. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/image_upload.js +0 -28
  722. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/json.js +0 -18
  723. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/json_editor.js +0 -17
  724. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/sql_editor.js +0 -30
  725. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/xml.js +0 -18
  726. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/xml_editor.js +0 -16
  727. data/lib/support/phpmyadmin/phpmyadmin/js/whitelist.php +0 -38
  728. data/lib/support/phpmyadmin/phpmyadmin/libraries/Advisor.class.php +0 -526
  729. data/lib/support/phpmyadmin/phpmyadmin/libraries/Config.class.php +0 -1926
  730. data/lib/support/phpmyadmin/phpmyadmin/libraries/Console.class.php +0 -320
  731. data/lib/support/phpmyadmin/phpmyadmin/libraries/DBQbe.class.php +0 -1593
  732. data/lib/support/phpmyadmin/phpmyadmin/libraries/DatabaseInterface.class.php +0 -2864
  733. data/lib/support/phpmyadmin/phpmyadmin/libraries/DbSearch.class.php +0 -502
  734. data/lib/support/phpmyadmin/phpmyadmin/libraries/DisplayResults.class.php +0 -5685
  735. data/lib/support/phpmyadmin/phpmyadmin/libraries/Error.class.php +0 -470
  736. data/lib/support/phpmyadmin/phpmyadmin/libraries/Error_Handler.class.php +0 -561
  737. data/lib/support/phpmyadmin/phpmyadmin/libraries/File.class.php +0 -732
  738. data/lib/support/phpmyadmin/phpmyadmin/libraries/Font.class.php +0 -145
  739. data/lib/support/phpmyadmin/phpmyadmin/libraries/Footer.class.php +0 -351
  740. data/lib/support/phpmyadmin/phpmyadmin/libraries/Header.class.php +0 -752
  741. data/lib/support/phpmyadmin/phpmyadmin/libraries/Index.class.php +0 -1011
  742. data/lib/support/phpmyadmin/phpmyadmin/libraries/List.class.php +0 -122
  743. data/lib/support/phpmyadmin/phpmyadmin/libraries/List_Database.class.php +0 -193
  744. data/lib/support/phpmyadmin/phpmyadmin/libraries/Menu.class.php +0 -631
  745. data/lib/support/phpmyadmin/phpmyadmin/libraries/Message.class.php +0 -759
  746. data/lib/support/phpmyadmin/phpmyadmin/libraries/OutputBuffering.class.php +0 -139
  747. data/lib/support/phpmyadmin/phpmyadmin/libraries/PDF.class.php +0 -149
  748. data/lib/support/phpmyadmin/phpmyadmin/libraries/PMA.php +0 -109
  749. data/lib/support/phpmyadmin/phpmyadmin/libraries/Partition.class.php +0 -77
  750. data/lib/support/phpmyadmin/phpmyadmin/libraries/RecentFavoriteTable.class.php +0 -393
  751. data/lib/support/phpmyadmin/phpmyadmin/libraries/Response.class.php +0 -397
  752. data/lib/support/phpmyadmin/phpmyadmin/libraries/SavedSearches.class.php +0 -447
  753. data/lib/support/phpmyadmin/phpmyadmin/libraries/Scripts.class.php +0 -284
  754. data/lib/support/phpmyadmin/phpmyadmin/libraries/ServerStatusData.class.php +0 -448
  755. data/lib/support/phpmyadmin/phpmyadmin/libraries/StorageEngine.class.php +0 -451
  756. data/lib/support/phpmyadmin/phpmyadmin/libraries/String.class.php +0 -188
  757. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringAbstractType.class.php +0 -35
  758. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringByte.int.php +0 -173
  759. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringCType.class.php +0 -110
  760. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringNativeType.class.php +0 -138
  761. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringType.int.php +0 -84
  762. data/lib/support/phpmyadmin/phpmyadmin/libraries/Table.class.php +0 -1806
  763. data/lib/support/phpmyadmin/phpmyadmin/libraries/TableSearch.class.php +0 -1587
  764. data/lib/support/phpmyadmin/phpmyadmin/libraries/Theme.class.php +0 -485
  765. data/lib/support/phpmyadmin/phpmyadmin/libraries/Theme_Manager.class.php +0 -460
  766. data/lib/support/phpmyadmin/phpmyadmin/libraries/Tracker.class.php +0 -1030
  767. data/lib/support/phpmyadmin/phpmyadmin/libraries/Types.class.php +0 -1071
  768. data/lib/support/phpmyadmin/phpmyadmin/libraries/Util.class.php +0 -4602
  769. data/lib/support/phpmyadmin/phpmyadmin/libraries/advisory_rules.txt +0 -470
  770. data/lib/support/phpmyadmin/phpmyadmin/libraries/bfShapeFiles/ShapeFile.lib.php +0 -682
  771. data/lib/support/phpmyadmin/phpmyadmin/libraries/bookmark.lib.php +0 -273
  772. data/lib/support/phpmyadmin/phpmyadmin/libraries/browse_foreigners.lib.php +0 -316
  773. data/lib/support/phpmyadmin/phpmyadmin/libraries/build_html_for_db.lib.php +0 -184
  774. data/lib/support/phpmyadmin/phpmyadmin/libraries/central_columns.lib.php +0 -1003
  775. data/lib/support/phpmyadmin/phpmyadmin/libraries/charset_conversion.lib.php +0 -120
  776. data/lib/support/phpmyadmin/phpmyadmin/libraries/check_user_privileges.lib.php +0 -195
  777. data/lib/support/phpmyadmin/phpmyadmin/libraries/cleanup.lib.php +0 -50
  778. data/lib/support/phpmyadmin/phpmyadmin/libraries/common.inc.php +0 -1203
  779. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/ConfigFile.class.php +0 -543
  780. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/Form.class.php +0 -231
  781. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/FormDisplay.class.php +0 -837
  782. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/FormDisplay.tpl.php +0 -491
  783. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/ServerConfigChecks.class.php +0 -577
  784. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/Validator.class.php +0 -624
  785. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/config_functions.lib.php +0 -54
  786. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/messages.inc.php +0 -818
  787. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/setup.forms.php +0 -384
  788. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/user_preferences.forms.php +0 -281
  789. data/lib/support/phpmyadmin/phpmyadmin/libraries/config.default.php +0 -3011
  790. data/lib/support/phpmyadmin/phpmyadmin/libraries/config.values.php +0 -270
  791. data/lib/support/phpmyadmin/phpmyadmin/libraries/core.lib.php +0 -1013
  792. data/lib/support/phpmyadmin/phpmyadmin/libraries/create_addfield.lib.php +0 -376
  793. data/lib/support/phpmyadmin/phpmyadmin/libraries/data_dictionary_relations.lib.php +0 -167
  794. data/lib/support/phpmyadmin/phpmyadmin/libraries/database_interface.inc.php +0 -74
  795. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_common.inc.php +0 -105
  796. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_designer.lib.php +0 -1397
  797. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_info.inc.php +0 -248
  798. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_printview.lib.php +0 -30
  799. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_table_exists.lib.php +0 -106
  800. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIDrizzle.class.php +0 -583
  801. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIDummy.class.php +0 -906
  802. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIExtension.int.php +0 -262
  803. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIMysql.class.php +0 -469
  804. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIMysqli.class.php +0 -620
  805. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/drizzle-wrappers.lib.php +0 -427
  806. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_change_password.lib.php +0 -113
  807. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_create_database.lib.php +0 -62
  808. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_create_table.lib.php +0 -82
  809. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_export.inc.php +0 -72
  810. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_export.lib.php +0 -872
  811. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_git_revision.lib.php +0 -83
  812. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import.inc.php +0 -64
  813. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import.lib.php +0 -602
  814. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import_ajax.lib.php +0 -129
  815. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_select_lang.lib.php +0 -98
  816. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_structure.inc.php +0 -272
  817. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/bdb.lib.php +0 -87
  818. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/berkeleydb.lib.php +0 -26
  819. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/binlog.lib.php +0 -31
  820. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/innobase.lib.php +0 -25
  821. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/innodb.lib.php +0 -392
  822. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/memory.lib.php +0 -34
  823. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/merge.lib.php +0 -21
  824. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/mrg_myisam.lib.php +0 -36
  825. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/myisam.lib.php +0 -69
  826. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/ndbcluster.lib.php +0 -55
  827. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/pbxt.lib.php +0 -149
  828. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/performance_schema.lib.php +0 -31
  829. data/lib/support/phpmyadmin/phpmyadmin/libraries/error.inc.php +0 -58
  830. data/lib/support/phpmyadmin/phpmyadmin/libraries/error_report.lib.php +0 -432
  831. data/lib/support/phpmyadmin/phpmyadmin/libraries/export.lib.php +0 -858
  832. data/lib/support/phpmyadmin/phpmyadmin/libraries/file_listing.lib.php +0 -99
  833. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Factory.class.php +0 -66
  834. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Geometry.class.php +0 -376
  835. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Geometrycollection.class.php +0 -364
  836. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Linestring.class.php +0 -323
  837. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multilinestring.class.php +0 -394
  838. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multipoint.class.php +0 -367
  839. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multipolygon.class.php +0 -564
  840. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Point.class.php +0 -314
  841. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Polygon.class.php +0 -581
  842. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Visualization.class.php +0 -504
  843. data/lib/support/phpmyadmin/phpmyadmin/libraries/iconv_wrapper.lib.php +0 -128
  844. data/lib/support/phpmyadmin/phpmyadmin/libraries/import.lib.php +0 -1954
  845. data/lib/support/phpmyadmin/phpmyadmin/libraries/index.lib.php +0 -48
  846. data/lib/support/phpmyadmin/phpmyadmin/libraries/information_schema_relations.lib.php +0 -327
  847. data/lib/support/phpmyadmin/phpmyadmin/libraries/insert_edit.lib.php +0 -2931
  848. data/lib/support/phpmyadmin/phpmyadmin/libraries/ip_allow_deny.lib.php +0 -341
  849. data/lib/support/phpmyadmin/phpmyadmin/libraries/js_escape.lib.php +0 -135
  850. data/lib/support/phpmyadmin/phpmyadmin/libraries/kanji-encoding.lib.php +0 -168
  851. data/lib/support/phpmyadmin/phpmyadmin/libraries/language_stats.inc.php +0 -87
  852. data/lib/support/phpmyadmin/phpmyadmin/libraries/logging.lib.php +0 -30
  853. data/lib/support/phpmyadmin/phpmyadmin/libraries/mime.lib.php +0 -34
  854. data/lib/support/phpmyadmin/phpmyadmin/libraries/mult_submits.inc.php +0 -307
  855. data/lib/support/phpmyadmin/phpmyadmin/libraries/mult_submits.lib.php +0 -647
  856. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_charsets.inc.php +0 -129
  857. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_charsets.lib.php +0 -379
  858. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_relations.lib.php +0 -169
  859. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Navigation.class.php +0 -228
  860. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NavigationHeader.class.php +0 -223
  861. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NavigationTree.class.php +0 -1452
  862. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NodeFactory.class.php +0 -97
  863. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node.class.php +0 -813
  864. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Column.class.php +0 -47
  865. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Column_Container.class.php +0 -57
  866. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Database.class.php +0 -663
  867. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_DatabaseChild.class.php +0 -52
  868. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Database_Container.class.php +0 -51
  869. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Event.class.php +0 -57
  870. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Event_Container.class.php +0 -54
  871. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Function.class.php +0 -57
  872. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Function_Container.class.php +0 -53
  873. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Index.class.php +0 -45
  874. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Index_Container.class.php +0 -57
  875. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Procedure.class.php +0 -57
  876. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Procedure_Container.class.php +0 -55
  877. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Table.class.php +0 -294
  878. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Table_Container.class.php +0 -60
  879. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Trigger.class.php +0 -45
  880. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Trigger_Container.class.php +0 -57
  881. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_View.class.php +0 -57
  882. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_View_Container.class.php +0 -60
  883. data/lib/support/phpmyadmin/phpmyadmin/libraries/normalization.lib.php +0 -945
  884. data/lib/support/phpmyadmin/phpmyadmin/libraries/opendocument.lib.php +0 -171
  885. data/lib/support/phpmyadmin/phpmyadmin/libraries/operations.lib.php +0 -1649
  886. data/lib/support/phpmyadmin/phpmyadmin/libraries/parse_analyze.inc.php +0 -144
  887. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/gettext.inc +0 -536
  888. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/gettext.php +0 -432
  889. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/streams.php +0 -167
  890. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/AES.php +0 -184
  891. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Base.php +0 -1984
  892. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Random.php +0 -251
  893. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Rijndael.php +0 -1370
  894. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugin_interface.lib.php +0 -557
  895. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/AuthenticationPlugin.class.php +0 -100
  896. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/ExportPlugin.class.php +0 -326
  897. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/IOTransformationsPlugin.class.php +0 -91
  898. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/ImportPlugin.class.php +0 -77
  899. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/SchemaPlugin.class.php +0 -76
  900. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/TransformationsInterface.int.php +0 -49
  901. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/TransformationsPlugin.class.php +0 -69
  902. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/UploadInterface.int.php +0 -36
  903. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationConfig.class.php +0 -183
  904. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationCookie.class.php +0 -871
  905. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationHttp.class.php +0 -289
  906. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationSignon.class.php +0 -267
  907. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/recaptcha/LICENSE +0 -29
  908. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/recaptcha/recaptchalib.php +0 -140
  909. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/authentication.inc.php +0 -176
  910. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/musbe-ca.crt +0 -25
  911. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/swekey.auth.lib.php +0 -318
  912. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/swekey.php +0 -536
  913. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportCodegen.class.php +0 -434
  914. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportCsv.class.php +0 -323
  915. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportExcel.class.php +0 -92
  916. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportHtmlword.class.php +0 -644
  917. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportJson.class.php +0 -215
  918. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportLatex.class.php +0 -656
  919. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportMediawiki.class.php +0 -379
  920. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportOds.class.php +0 -334
  921. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportOdt.class.php +0 -765
  922. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportPdf.class.php +0 -276
  923. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportPhparray.class.php +0 -233
  924. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportSql.class.php +0 -2601
  925. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportTexytext.class.php +0 -575
  926. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportXml.class.php +0 -584
  927. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportYaml.class.php +0 -212
  928. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/PMA_ExportPdf.class.php +0 -434
  929. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/README +0 -267
  930. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/TableProperty.class.php +0 -286
  931. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/AbstractImportCsv.class.php +0 -90
  932. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportCsv.class.php +0 -687
  933. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportLdi.class.php +0 -161
  934. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportMediawiki.class.php +0 -598
  935. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportOds.class.php +0 -414
  936. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportShp.class.php +0 -327
  937. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportSql.class.php +0 -620
  938. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportXml.class.php +0 -366
  939. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/README +0 -159
  940. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ShapeFile.class.php +0 -102
  941. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ShapeRecord.class.php +0 -161
  942. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadApc.class.php +0 -84
  943. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadNoplugin.class.php +0 -64
  944. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadProgress.class.php +0 -94
  945. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadSession.class.php +0 -96
  946. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/Export_Relation_Schema.class.php +0 -299
  947. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/RelationStats.class.php +0 -108
  948. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaDia.class.php +0 -117
  949. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaEps.class.php +0 -102
  950. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaPdf.class.php +0 -132
  951. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaSvg.class.php +0 -90
  952. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/TableStats.class.php +0 -179
  953. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/Dia_Relation_Schema.class.php +0 -378
  954. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/RelationStatsDia.class.php +0 -216
  955. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/TableStatsDia.class.php +0 -227
  956. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/Eps_Relation_Schema.class.php +0 -508
  957. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/RelationStatsEps.class.php +0 -135
  958. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/TableStatsEps.class.php +0 -157
  959. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/Pdf_Relation_Schema.class.php +0 -1070
  960. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/RelationStatsPdf.class.php +0 -135
  961. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/TableStatsPdf.class.php +0 -222
  962. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/RelationStatsSvg.class.php +0 -119
  963. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/Svg_Relation_Schema.class.php +0 -501
  964. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/TableStatsSvg.class.php +0 -180
  965. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/README +0 -4
  966. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/TEMPLATE +0 -46
  967. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/TEMPLATE_ABSTRACT +0 -73
  968. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Link.class.php +0 -44
  969. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Longtoipv4.class.php +0 -44
  970. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Preappend.class.php +0 -45
  971. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Substring.class.php +0 -44
  972. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/Bool2TextTransformationsPlugin.class.php +0 -69
  973. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/CodeMirrorEditorTransformationPlugin.class.php +0 -64
  974. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/DateFormatTransformationsPlugin.class.php +0 -164
  975. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/DownloadTransformationsPlugin.class.php +0 -95
  976. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ExternalTransformationsPlugin.class.php +0 -155
  977. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/FormattedTransformationsPlugin.class.php +0 -65
  978. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/HexTransformationsPlugin.class.php +0 -72
  979. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ImageLinkTransformationsPlugin.class.php +0 -74
  980. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ImageUploadTransformationsPlugin.class.php +0 -110
  981. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/InlineTransformationsPlugin.class.php +0 -86
  982. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/LongToIPv4TransformationsPlugin.class.php +0 -68
  983. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/PreApPendTransformationsPlugin.class.php +0 -71
  984. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/RegexValidationTransformationsPlugin.class.php +0 -74
  985. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/SQLTransformationsPlugin.class.php +0 -67
  986. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/SubstringTransformationsPlugin.class.php +0 -92
  987. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextFileUploadTransformationsPlugin.class.php +0 -93
  988. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextImageLinkTransformationsPlugin.class.php +0 -81
  989. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextLinkTransformationsPlugin.class.php +0 -82
  990. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/generator_main_class.sh +0 -16
  991. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/generator_plugin.sh +0 -64
  992. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Image_JPEG_Upload.class.php +0 -46
  993. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_Fileupload.class.php +0 -45
  994. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_JsonEditor.class.php +0 -86
  995. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_Regexvalidation.class.php +0 -46
  996. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_SqlEditor.class.php +0 -86
  997. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_XmlEditor.class.php +0 -86
  998. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Application_Octetstream_Download.class.php +0 -44
  999. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Application_Octetstream_Hex.class.php +0 -45
  1000. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_JPEG_Inline.class.php +0 -45
  1001. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_JPEG_Link.class.php +0 -45
  1002. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_PNG_Inline.class.php +0 -45
  1003. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Octetstream_Sql.class.php +0 -45
  1004. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Bool2text.class.php +0 -47
  1005. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Dateformat.class.php +0 -45
  1006. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_External.class.php +0 -45
  1007. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Formatted.class.php +0 -45
  1008. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Imagelink.class.php +0 -45
  1009. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Json.class.php +0 -96
  1010. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Sql.class.php +0 -57
  1011. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Xml.class.php +0 -96
  1012. data/lib/support/phpmyadmin/phpmyadmin/libraries/pmd_common.php +0 -657
  1013. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/PropertyItem.class.php +0 -49
  1014. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyGroup.class.php +0 -99
  1015. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyItem.class.php +0 -127
  1016. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyOneItem.class.php +0 -172
  1017. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertyMainGroup.class.php +0 -35
  1018. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertyRootGroup.class.php +0 -35
  1019. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertySubgroup.class.php +0 -68
  1020. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/BoolPropertyItem.class.php +0 -35
  1021. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/DocPropertyItem.class.php +0 -35
  1022. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/HiddenPropertyItem.class.php +0 -35
  1023. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/MessageOnlyPropertyItem.class.php +0 -35
  1024. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/NumberPropertyItem.class.php +0 -35
  1025. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/RadioPropertyItem.class.php +0 -35
  1026. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/SelectPropertyItem.class.php +0 -35
  1027. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/TextPropertyItem.class.php +0 -35
  1028. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/ExportPluginProperties.class.php +0 -68
  1029. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/ImportPluginProperties.class.php +0 -34
  1030. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/PluginPropertyItem.class.php +0 -183
  1031. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/SchemaPluginProperties.class.php +0 -47
  1032. data/lib/support/phpmyadmin/phpmyadmin/libraries/relation.lib.php +0 -2024
  1033. data/lib/support/phpmyadmin/phpmyadmin/libraries/relation_cleanup.lib.php +0 -216
  1034. data/lib/support/phpmyadmin/phpmyadmin/libraries/replication.inc.php +0 -321
  1035. data/lib/support/phpmyadmin/phpmyadmin/libraries/replication_gui.lib.php +0 -1088
  1036. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_events.lib.php +0 -618
  1037. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_export.lib.php +0 -121
  1038. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_footer.lib.php +0 -130
  1039. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_general.lib.php +0 -88
  1040. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_list.lib.php +0 -387
  1041. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_main.inc.php +0 -94
  1042. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_routines.lib.php +0 -1733
  1043. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_triggers.lib.php +0 -463
  1044. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_words.lib.php +0 -75
  1045. data/lib/support/phpmyadmin/phpmyadmin/libraries/sanitizing.lib.php +0 -191
  1046. data/lib/support/phpmyadmin/phpmyadmin/libraries/select_lang.lib.php +0 -621
  1047. data/lib/support/phpmyadmin/phpmyadmin/libraries/select_server.lib.php +0 -111
  1048. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_bin_log.lib.php +0 -244
  1049. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_collations.lib.php +0 -100
  1050. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_common.inc.php +0 -53
  1051. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_common.lib.php +0 -67
  1052. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_databases.lib.php +0 -498
  1053. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_engines.lib.php +0 -145
  1054. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_plugins.lib.php +0 -207
  1055. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_privileges.lib.php +0 -4692
  1056. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status.lib.php +0 -317
  1057. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_advisor.lib.php +0 -68
  1058. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_monitor.lib.php +0 -825
  1059. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_processes.lib.php +0 -320
  1060. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_queries.lib.php +0 -154
  1061. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_variables.lib.php +0 -765
  1062. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_user_groups.lib.php +0 -360
  1063. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_users.lib.php +0 -58
  1064. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_variables.lib.php +0 -1683
  1065. data/lib/support/phpmyadmin/phpmyadmin/libraries/session.inc.php +0 -130
  1066. data/lib/support/phpmyadmin/phpmyadmin/libraries/special_schema_links.lib.php +0 -461
  1067. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/LICENSE.txt +0 -21
  1068. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/README.md +0 -185
  1069. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/lib/SqlFormatter.php +0 -1085
  1070. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql.lib.php +0 -2293
  1071. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql_query_form.lib.php +0 -477
  1072. data/lib/support/phpmyadmin/phpmyadmin/libraries/sqlparser.data.php +0 -999
  1073. data/lib/support/phpmyadmin/phpmyadmin/libraries/sqlparser.lib.php +0 -2997
  1074. data/lib/support/phpmyadmin/phpmyadmin/libraries/string.lib.php +0 -33
  1075. data/lib/support/phpmyadmin/phpmyadmin/libraries/stringMb.lib.php +0 -78
  1076. data/lib/support/phpmyadmin/phpmyadmin/libraries/stringNative.lib.php +0 -245
  1077. data/lib/support/phpmyadmin/phpmyadmin/libraries/structure.lib.php +0 -3294
  1078. data/lib/support/phpmyadmin/phpmyadmin/libraries/sysinfo.lib.php +0 -369
  1079. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_chart.lib.php +0 -383
  1080. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_columns_definition_form.inc.php +0 -195
  1081. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_columns_definition_form.lib.php +0 -1458
  1082. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_common.inc.php +0 -48
  1083. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_gis_visualization.lib.php +0 -281
  1084. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_indexes.lib.php +0 -480
  1085. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_info.inc.php +0 -108
  1086. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_printview.lib.php +0 -602
  1087. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_relation.lib.php +0 -1222
  1088. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_views.lib.php +0 -161
  1089. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/LICENSE.TXT +0 -858
  1090. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/README.TXT +0 -115
  1091. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/config/tcpdf_config.php +0 -227
  1092. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE +0 -99
  1093. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.ctg.z +0 -0
  1094. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.php +0 -16
  1095. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.z +0 -0
  1096. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.ctg.z +0 -0
  1097. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.php +0 -16
  1098. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.z +0 -0
  1099. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/helvetica.php +0 -13
  1100. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/sRGB.icc +0 -0
  1101. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_colors.php +0 -462
  1102. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_font_data.php +0 -18447
  1103. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_fonts.php +0 -2591
  1104. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_images.php +0 -355
  1105. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_static.php +0 -2528
  1106. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/tcpdf.php +0 -24478
  1107. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/tcpdf_autoconfig.php +0 -241
  1108. data/lib/support/phpmyadmin/phpmyadmin/libraries/tracking.lib.php +0 -1439
  1109. data/lib/support/phpmyadmin/phpmyadmin/libraries/transformations.lib.php +0 -461
  1110. data/lib/support/phpmyadmin/phpmyadmin/libraries/url_generating.lib.php +0 -256
  1111. data/lib/support/phpmyadmin/phpmyadmin/libraries/user_preferences.inc.php +0 -71
  1112. data/lib/support/phpmyadmin/phpmyadmin/libraries/user_preferences.lib.php +0 -301
  1113. data/lib/support/phpmyadmin/phpmyadmin/libraries/vendor_config.php +0 -93
  1114. data/lib/support/phpmyadmin/phpmyadmin/libraries/zip.lib.php +0 -211
  1115. data/lib/support/phpmyadmin/phpmyadmin/libraries/zip_extension.lib.php +0 -195
  1116. data/lib/support/phpmyadmin/phpmyadmin/license.php +0 -31
  1117. data/lib/support/phpmyadmin/phpmyadmin/locale/az/LC_MESSAGES/phpmyadmin.mo +0 -0
  1118. data/lib/support/phpmyadmin/phpmyadmin/locale/bg/LC_MESSAGES/phpmyadmin.mo +0 -0
  1119. data/lib/support/phpmyadmin/phpmyadmin/locale/bn/LC_MESSAGES/phpmyadmin.mo +0 -0
  1120. data/lib/support/phpmyadmin/phpmyadmin/locale/ca/LC_MESSAGES/phpmyadmin.mo +0 -0
  1121. data/lib/support/phpmyadmin/phpmyadmin/locale/cs/LC_MESSAGES/phpmyadmin.mo +0 -0
  1122. data/lib/support/phpmyadmin/phpmyadmin/locale/da/LC_MESSAGES/phpmyadmin.mo +0 -0
  1123. data/lib/support/phpmyadmin/phpmyadmin/locale/de/LC_MESSAGES/phpmyadmin.mo +0 -0
  1124. data/lib/support/phpmyadmin/phpmyadmin/locale/el/LC_MESSAGES/phpmyadmin.mo +0 -0
  1125. data/lib/support/phpmyadmin/phpmyadmin/locale/en_GB/LC_MESSAGES/phpmyadmin.mo +0 -0
  1126. data/lib/support/phpmyadmin/phpmyadmin/locale/es/LC_MESSAGES/phpmyadmin.mo +0 -0
  1127. data/lib/support/phpmyadmin/phpmyadmin/locale/et/LC_MESSAGES/phpmyadmin.mo +0 -0
  1128. data/lib/support/phpmyadmin/phpmyadmin/locale/fi/LC_MESSAGES/phpmyadmin.mo +0 -0
  1129. data/lib/support/phpmyadmin/phpmyadmin/locale/fr/LC_MESSAGES/phpmyadmin.mo +0 -0
  1130. data/lib/support/phpmyadmin/phpmyadmin/locale/gl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1131. data/lib/support/phpmyadmin/phpmyadmin/locale/hi/LC_MESSAGES/phpmyadmin.mo +0 -0
  1132. data/lib/support/phpmyadmin/phpmyadmin/locale/hu/LC_MESSAGES/phpmyadmin.mo +0 -0
  1133. data/lib/support/phpmyadmin/phpmyadmin/locale/ia/LC_MESSAGES/phpmyadmin.mo +0 -0
  1134. data/lib/support/phpmyadmin/phpmyadmin/locale/id/LC_MESSAGES/phpmyadmin.mo +0 -0
  1135. data/lib/support/phpmyadmin/phpmyadmin/locale/it/LC_MESSAGES/phpmyadmin.mo +0 -0
  1136. data/lib/support/phpmyadmin/phpmyadmin/locale/ja/LC_MESSAGES/phpmyadmin.mo +0 -0
  1137. data/lib/support/phpmyadmin/phpmyadmin/locale/ko/LC_MESSAGES/phpmyadmin.mo +0 -0
  1138. data/lib/support/phpmyadmin/phpmyadmin/locale/lt/LC_MESSAGES/phpmyadmin.mo +0 -0
  1139. data/lib/support/phpmyadmin/phpmyadmin/locale/nb/LC_MESSAGES/phpmyadmin.mo +0 -0
  1140. data/lib/support/phpmyadmin/phpmyadmin/locale/nl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1141. data/lib/support/phpmyadmin/phpmyadmin/locale/pl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1142. data/lib/support/phpmyadmin/phpmyadmin/locale/pt/LC_MESSAGES/phpmyadmin.mo +0 -0
  1143. data/lib/support/phpmyadmin/phpmyadmin/locale/pt_BR/LC_MESSAGES/phpmyadmin.mo +0 -0
  1144. data/lib/support/phpmyadmin/phpmyadmin/locale/ro/LC_MESSAGES/phpmyadmin.mo +0 -0
  1145. data/lib/support/phpmyadmin/phpmyadmin/locale/ru/LC_MESSAGES/phpmyadmin.mo +0 -0
  1146. data/lib/support/phpmyadmin/phpmyadmin/locale/si/LC_MESSAGES/phpmyadmin.mo +0 -0
  1147. data/lib/support/phpmyadmin/phpmyadmin/locale/sk/LC_MESSAGES/phpmyadmin.mo +0 -0
  1148. data/lib/support/phpmyadmin/phpmyadmin/locale/sl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1149. data/lib/support/phpmyadmin/phpmyadmin/locale/sq/LC_MESSAGES/phpmyadmin.mo +0 -0
  1150. data/lib/support/phpmyadmin/phpmyadmin/locale/sr@latin/LC_MESSAGES/phpmyadmin.mo +0 -0
  1151. data/lib/support/phpmyadmin/phpmyadmin/locale/sv/LC_MESSAGES/phpmyadmin.mo +0 -0
  1152. data/lib/support/phpmyadmin/phpmyadmin/locale/tr/LC_MESSAGES/phpmyadmin.mo +0 -0
  1153. data/lib/support/phpmyadmin/phpmyadmin/locale/uk/LC_MESSAGES/phpmyadmin.mo +0 -0
  1154. data/lib/support/phpmyadmin/phpmyadmin/locale/zh_CN/LC_MESSAGES/phpmyadmin.mo +0 -0
  1155. data/lib/support/phpmyadmin/phpmyadmin/locale/zh_TW/LC_MESSAGES/phpmyadmin.mo +0 -0
  1156. data/lib/support/phpmyadmin/phpmyadmin/navigation.php +0 -71
  1157. data/lib/support/phpmyadmin/phpmyadmin/normalization.php +0 -122
  1158. data/lib/support/phpmyadmin/phpmyadmin/phpinfo.php +0 -21
  1159. data/lib/support/phpmyadmin/phpmyadmin/phpmyadmin.css.php +0 -39
  1160. data/lib/support/phpmyadmin/phpmyadmin/phpunit.xml.hhvm +0 -30
  1161. data/lib/support/phpmyadmin/phpmyadmin/phpunit.xml.nocoverage +0 -40
  1162. data/lib/support/phpmyadmin/phpmyadmin/prefs_forms.php +0 -92
  1163. data/lib/support/phpmyadmin/phpmyadmin/prefs_manage.php +0 -375
  1164. data/lib/support/phpmyadmin/phpmyadmin/print.css +0 -92
  1165. data/lib/support/phpmyadmin/phpmyadmin/robots.txt +0 -2
  1166. data/lib/support/phpmyadmin/phpmyadmin/schema_export.php +0 -77
  1167. data/lib/support/phpmyadmin/phpmyadmin/server_binlog.php +0 -54
  1168. data/lib/support/phpmyadmin/phpmyadmin/server_collations.php +0 -39
  1169. data/lib/support/phpmyadmin/phpmyadmin/server_databases.php +0 -118
  1170. data/lib/support/phpmyadmin/phpmyadmin/server_engines.php +0 -34
  1171. data/lib/support/phpmyadmin/phpmyadmin/server_export.php +0 -29
  1172. data/lib/support/phpmyadmin/phpmyadmin/server_import.php +0 -27
  1173. data/lib/support/phpmyadmin/phpmyadmin/server_plugins.php +0 -59
  1174. data/lib/support/phpmyadmin/phpmyadmin/server_privileges.php +0 -410
  1175. data/lib/support/phpmyadmin/phpmyadmin/server_replication.php +0 -83
  1176. data/lib/support/phpmyadmin/phpmyadmin/server_sql.php +0 -32
  1177. data/lib/support/phpmyadmin/phpmyadmin/server_status.php +0 -38
  1178. data/lib/support/phpmyadmin/phpmyadmin/server_status_advisor.php +0 -39
  1179. data/lib/support/phpmyadmin/phpmyadmin/server_status_monitor.php +0 -113
  1180. data/lib/support/phpmyadmin/phpmyadmin/server_status_processes.php +0 -64
  1181. data/lib/support/phpmyadmin/phpmyadmin/server_status_queries.php +0 -54
  1182. data/lib/support/phpmyadmin/phpmyadmin/server_status_variables.php +0 -57
  1183. data/lib/support/phpmyadmin/phpmyadmin/server_user_groups.php +0 -72
  1184. data/lib/support/phpmyadmin/phpmyadmin/server_variables.php +0 -60
  1185. data/lib/support/phpmyadmin/phpmyadmin/setup/ajax.js +0 -11
  1186. data/lib/support/phpmyadmin/phpmyadmin/setup/config.php +0 -81
  1187. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/config.inc.php +0 -52
  1188. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/form.inc.php +0 -36
  1189. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/index.inc.php +0 -313
  1190. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/menu.inc.php +0 -37
  1191. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/servers.inc.php +0 -50
  1192. data/lib/support/phpmyadmin/phpmyadmin/setup/index.php +0 -61
  1193. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/ConfigGenerator.class.php +0 -161
  1194. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/common.inc.php +0 -56
  1195. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/form_processing.lib.php +0 -81
  1196. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/index.lib.php +0 -204
  1197. data/lib/support/phpmyadmin/phpmyadmin/setup/scripts.js +0 -216
  1198. data/lib/support/phpmyadmin/phpmyadmin/setup/styles.css +0 -619
  1199. data/lib/support/phpmyadmin/phpmyadmin/setup/validate.php +0 -32
  1200. data/lib/support/phpmyadmin/phpmyadmin/show_config_errors.php +0 -40
  1201. data/lib/support/phpmyadmin/phpmyadmin/sql/create_tables.sql +0 -323
  1202. data/lib/support/phpmyadmin/phpmyadmin/sql/create_tables_drizzle.sql +0 -275
  1203. data/lib/support/phpmyadmin/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql +0 -47
  1204. data/lib/support/phpmyadmin/phpmyadmin/sql/upgrade_tables_mysql_4_1_2+.sql +0 -144
  1205. data/lib/support/phpmyadmin/phpmyadmin/sql.php +0 -203
  1206. data/lib/support/phpmyadmin/phpmyadmin/tbl_addfield.php +0 -124
  1207. data/lib/support/phpmyadmin/phpmyadmin/tbl_change.php +0 -232
  1208. data/lib/support/phpmyadmin/phpmyadmin/tbl_chart.php +0 -142
  1209. data/lib/support/phpmyadmin/phpmyadmin/tbl_create.php +0 -108
  1210. data/lib/support/phpmyadmin/phpmyadmin/tbl_export.php +0 -107
  1211. data/lib/support/phpmyadmin/phpmyadmin/tbl_find_replace.php +0 -66
  1212. data/lib/support/phpmyadmin/phpmyadmin/tbl_get_field.php +0 -55
  1213. data/lib/support/phpmyadmin/phpmyadmin/tbl_gis_visualization.php +0 -115
  1214. data/lib/support/phpmyadmin/phpmyadmin/tbl_import.php +0 -30
  1215. data/lib/support/phpmyadmin/phpmyadmin/tbl_indexes.php +0 -60
  1216. data/lib/support/phpmyadmin/phpmyadmin/tbl_operations.php +0 -423
  1217. data/lib/support/phpmyadmin/phpmyadmin/tbl_printview.php +0 -74
  1218. data/lib/support/phpmyadmin/phpmyadmin/tbl_recent_favorite.php +0 -19
  1219. data/lib/support/phpmyadmin/phpmyadmin/tbl_relation.php +0 -156
  1220. data/lib/support/phpmyadmin/phpmyadmin/tbl_replace.php +0 -468
  1221. data/lib/support/phpmyadmin/phpmyadmin/tbl_row_action.php +0 -146
  1222. data/lib/support/phpmyadmin/phpmyadmin/tbl_select.php +0 -81
  1223. data/lib/support/phpmyadmin/phpmyadmin/tbl_sql.php +0 -52
  1224. data/lib/support/phpmyadmin/phpmyadmin/tbl_structure.php +0 -210
  1225. data/lib/support/phpmyadmin/phpmyadmin/tbl_tracking.php +0 -209
  1226. data/lib/support/phpmyadmin/phpmyadmin/tbl_triggers.php +0 -10
  1227. data/lib/support/phpmyadmin/phpmyadmin/tbl_zoom_select.php +0 -165
  1228. data/lib/support/phpmyadmin/phpmyadmin/themes/dot.gif +0 -0
  1229. data/lib/support/phpmyadmin/phpmyadmin/themes/original/css/common.css.php +0 -3078
  1230. data/lib/support/phpmyadmin/phpmyadmin/themes/original/css/navigation.css.php +0 -424
  1231. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/ajax_clock_small.gif +0 -0
  1232. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/arrow_ltr.png +0 -0
  1233. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/arrow_rtl.png +0 -0
  1234. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_bookmark.png +0 -0
  1235. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_browse.png +0 -0
  1236. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_calendar.png +0 -0
  1237. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_chart.png +0 -0
  1238. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_close.png +0 -0
  1239. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_column_add.png +0 -0
  1240. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_comment.png +0 -0
  1241. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_dbstatistics.png +0 -0
  1242. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_deltbl.png +0 -0
  1243. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_docs.png +0 -0
  1244. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_drop.png +0 -0
  1245. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_edit.png +0 -0
  1246. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_empty.png +0 -0
  1247. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_engine.png +0 -0
  1248. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_event_add.png +0 -0
  1249. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_events.png +0 -0
  1250. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_export.png +0 -0
  1251. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_favorite.png +0 -0
  1252. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_find_replace.png +0 -0
  1253. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_ftext.png +0 -0
  1254. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_globe.gif +0 -0
  1255. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_group.png +0 -0
  1256. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_help.png +0 -0
  1257. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_home.png +0 -0
  1258. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_import.png +0 -0
  1259. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_index.png +0 -0
  1260. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_index_add.png +0 -0
  1261. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_info.png +0 -0
  1262. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_inline_edit.png +0 -0
  1263. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_insrow.png +0 -0
  1264. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_minus.png +0 -0
  1265. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_more.png +0 -0
  1266. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_move.png +0 -0
  1267. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_newdb.png +0 -0
  1268. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_newtbl.png +0 -0
  1269. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_nextpage.png +0 -0
  1270. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_no_favorite.png +0 -0
  1271. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_plus.png +0 -0
  1272. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_primary.png +0 -0
  1273. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_print.png +0 -0
  1274. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_props.png +0 -0
  1275. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_relations.png +0 -0
  1276. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_report.png +0 -0
  1277. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_routine_add.png +0 -0
  1278. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_routines.png +0 -0
  1279. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_save.png +0 -0
  1280. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_saveimage.png +0 -0
  1281. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sbrowse.png +0 -0
  1282. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_search.png +0 -0
  1283. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_selboard.png +0 -0
  1284. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_select.png +0 -0
  1285. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_snewtbl.png +0 -0
  1286. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_spatial.png +0 -0
  1287. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sql.png +0 -0
  1288. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sqlhelp.png +0 -0
  1289. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_table_add.png +0 -0
  1290. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblanalyse.png +0 -0
  1291. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblexport.png +0 -0
  1292. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblimport.png +0 -0
  1293. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblops.png +0 -0
  1294. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tbloptimize.png +0 -0
  1295. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tipp.png +0 -0
  1296. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_trigger_add.png +0 -0
  1297. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_triggers.png +0 -0
  1298. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_undo.png +0 -0
  1299. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_unique.png +0 -0
  1300. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usradd.png +0 -0
  1301. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrcheck.png +0 -0
  1302. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrdrop.png +0 -0
  1303. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usredit.png +0 -0
  1304. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrlist.png +0 -0
  1305. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_versions.png +0 -0
  1306. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_view.png +0 -0
  1307. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_view_add.png +0 -0
  1308. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_views.png +0 -0
  1309. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_browse.png +0 -0
  1310. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_deltbl.png +0 -0
  1311. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_drop.png +0 -0
  1312. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_edit.png +0 -0
  1313. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_empty.png +0 -0
  1314. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_export.png +0 -0
  1315. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_ftext.png +0 -0
  1316. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_index.png +0 -0
  1317. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_insrow.png +0 -0
  1318. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_nextpage.png +0 -0
  1319. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_primary.png +0 -0
  1320. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_routine_add.png +0 -0
  1321. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_sbrowse.png +0 -0
  1322. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_select.png +0 -0
  1323. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_spatial.png +0 -0
  1324. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_unique.png +0 -0
  1325. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns.png +0 -0
  1326. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns_add.png +0 -0
  1327. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns_delete.png +0 -0
  1328. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/cleardot.gif +0 -0
  1329. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_drop.png +0 -0
  1330. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_pointer.png +0 -0
  1331. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_pointer_ver.png +0 -0
  1332. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/console.png +0 -0
  1333. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/east-mini.png +0 -0
  1334. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/error.ico +0 -0
  1335. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/eye.png +0 -0
  1336. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/eye_grey.png +0 -0
  1337. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/lightbulb.png +0 -0
  1338. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/lightbulb_off.png +0 -0
  1339. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/logo_left.png +0 -0
  1340. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/logo_right.png +0 -0
  1341. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/more.png +0 -0
  1342. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data.png +0 -0
  1343. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_hovered.png +0 -0
  1344. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_selected.png +0 -0
  1345. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_selected_hovered.png +0 -0
  1346. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct.png +0 -0
  1347. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_hovered.png +0 -0
  1348. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_selected.png +0 -0
  1349. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_selected_hovered.png +0 -0
  1350. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/normalize.png +0 -0
  1351. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/north-mini.png +0 -0
  1352. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/pause.png +0 -0
  1353. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/play.png +0 -0
  1354. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_asc.png +0 -0
  1355. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_asci.png +0 -0
  1356. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_attention.png +0 -0
  1357. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_cancel.png +0 -0
  1358. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_cog.png +0 -0
  1359. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_collapseall.png +0 -0
  1360. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_db.png +0 -0
  1361. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_desc.png +0 -0
  1362. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_error.png +0 -0
  1363. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_error2.png +0 -0
  1364. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_fulltext.png +0 -0
  1365. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_host.png +0 -0
  1366. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_info.png +0 -0
  1367. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_lang.png +0 -0
  1368. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_link.png +0 -0
  1369. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_lock.png +0 -0
  1370. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_loggoff.png +0 -0
  1371. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_notice.png +0 -0
  1372. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_partialtext.png +0 -0
  1373. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_passwd.png +0 -0
  1374. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_really.png +0 -0
  1375. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_reload.png +0 -0
  1376. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_replication.png +0 -0
  1377. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_rights.png +0 -0
  1378. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_sortable.png +0 -0
  1379. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_status.png +0 -0
  1380. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_success.png +0 -0
  1381. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_sync.png +0 -0
  1382. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_tbl.png +0 -0
  1383. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_theme.png +0 -0
  1384. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_top.png +0 -0
  1385. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_unlink.png +0 -0
  1386. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_vars.png +0 -0
  1387. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_views.png +0 -0
  1388. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/south-mini.png +0 -0
  1389. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/spacer.png +0 -0
  1390. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/sprites.png +0 -0
  1391. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/toggle-ltr.png +0 -0
  1392. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/toggle-rtl.png +0 -0
  1393. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/vertical_line.png +0 -0
  1394. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/west-mini.png +0 -0
  1395. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/window-new.png +0 -0
  1396. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-minus-mini.png +0 -0
  1397. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-plus-mini.png +0 -0
  1398. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-world-mini.png +0 -0
  1399. data/lib/support/phpmyadmin/phpmyadmin/themes/original/info.inc.php +0 -15
  1400. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1401. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1402. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1403. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1404. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1405. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1406. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1407. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1408. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_222222_256x240.png +0 -0
  1409. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  1410. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_454545_256x240.png +0 -0
  1411. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_888888_256x240.png +0 -0
  1412. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  1413. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/jquery-ui-1.11.2.css +0 -1225
  1414. data/lib/support/phpmyadmin/phpmyadmin/themes/original/layout.inc.php +0 -102
  1415. data/lib/support/phpmyadmin/phpmyadmin/themes/original/screen.png +0 -0
  1416. data/lib/support/phpmyadmin/phpmyadmin/themes/original/sprites.lib.php +0 -720
  1417. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/codemirror.css.php +0 -350
  1418. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/common.css.php +0 -3401
  1419. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/enum_editor.css.php +0 -80
  1420. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/gis.css.php +0 -52
  1421. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/jqplot.css.php +0 -277
  1422. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/navigation.css.php +0 -429
  1423. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/pmd.css.php +0 -605
  1424. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/resizable-menu.css.php +0 -57
  1425. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/rte.css.php +0 -43
  1426. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/ajax_clock_small.gif +0 -0
  1427. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/arrow_ltr.png +0 -0
  1428. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/arrow_rtl.png +0 -0
  1429. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/asc_order.png +0 -0
  1430. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_bookmark.png +0 -0
  1431. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_browse.png +0 -0
  1432. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_calendar.png +0 -0
  1433. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_chart.png +0 -0
  1434. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_close.png +0 -0
  1435. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_column_add.png +0 -0
  1436. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_comment.png +0 -0
  1437. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_dbstatistics.png +0 -0
  1438. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_deltbl.png +0 -0
  1439. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_docs.png +0 -0
  1440. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_docsql.png +0 -0
  1441. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_drop.png +0 -0
  1442. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_edit.png +0 -0
  1443. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_empty.png +0 -0
  1444. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_engine.png +0 -0
  1445. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_event_add.png +0 -0
  1446. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_events.png +0 -0
  1447. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_export.png +0 -0
  1448. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_favorite.png +0 -0
  1449. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_find_replace.png +0 -0
  1450. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_firstpage.png +0 -0
  1451. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_ftext.png +0 -0
  1452. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_globe.gif +0 -0
  1453. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_group.png +0 -0
  1454. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_help.png +0 -0
  1455. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_home.png +0 -0
  1456. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_import.png +0 -0
  1457. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_index.png +0 -0
  1458. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_index_add.png +0 -0
  1459. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_info.png +0 -0
  1460. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_inline_edit.png +0 -0
  1461. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_insrow.png +0 -0
  1462. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_lastpage.png +0 -0
  1463. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_minus.png +0 -0
  1464. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_more.png +0 -0
  1465. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_move.png +0 -0
  1466. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_newdb.png +0 -0
  1467. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_newtbl.png +0 -0
  1468. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_nextpage.png +0 -0
  1469. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_no_favorite.png +0 -0
  1470. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_pdfdoc.png +0 -0
  1471. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_plus.png +0 -0
  1472. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_prevpage.png +0 -0
  1473. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_primary.png +0 -0
  1474. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_print.png +0 -0
  1475. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_props.png +0 -0
  1476. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_relations.png +0 -0
  1477. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_report.png +0 -0
  1478. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_routine_add.png +0 -0
  1479. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_routines.png +0 -0
  1480. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_save.png +0 -0
  1481. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_saveimage.png +0 -0
  1482. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sbrowse.png +0 -0
  1483. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sdb.png +0 -0
  1484. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_search.png +0 -0
  1485. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_selboard.png +0 -0
  1486. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_select.png +0 -0
  1487. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_snewtbl.png +0 -0
  1488. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_spatial.png +0 -0
  1489. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sql.png +0 -0
  1490. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sqldoc.png +0 -0
  1491. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sqlhelp.png +0 -0
  1492. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_table_add.png +0 -0
  1493. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblanalyse.png +0 -0
  1494. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblexport.png +0 -0
  1495. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblimport.png +0 -0
  1496. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblops.png +0 -0
  1497. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tbloptimize.png +0 -0
  1498. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tipp.png +0 -0
  1499. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_trigger_add.png +0 -0
  1500. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_triggers.png +0 -0
  1501. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_undo.png +0 -0
  1502. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_unique.png +0 -0
  1503. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usradd.png +0 -0
  1504. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrcheck.png +0 -0
  1505. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrdrop.png +0 -0
  1506. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usredit.png +0 -0
  1507. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrlist.png +0 -0
  1508. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_versions.png +0 -0
  1509. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_view.png +0 -0
  1510. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_view_add.png +0 -0
  1511. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_views.png +0 -0
  1512. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_browse.png +0 -0
  1513. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_deltbl.png +0 -0
  1514. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_drop.png +0 -0
  1515. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_edit.png +0 -0
  1516. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_empty.png +0 -0
  1517. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_export.png +0 -0
  1518. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_firstpage.png +0 -0
  1519. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_ftext.png +0 -0
  1520. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_index.png +0 -0
  1521. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_insrow.png +0 -0
  1522. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_lastpage.png +0 -0
  1523. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_nextpage.png +0 -0
  1524. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_prevpage.png +0 -0
  1525. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_primary.png +0 -0
  1526. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_routine_add.png +0 -0
  1527. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_sbrowse.png +0 -0
  1528. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_select.png +0 -0
  1529. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_spatial.png +0 -0
  1530. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_unique.png +0 -0
  1531. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns.png +0 -0
  1532. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns_add.png +0 -0
  1533. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns_delete.png +0 -0
  1534. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_drop.png +0 -0
  1535. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_pointer.png +0 -0
  1536. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_pointer_ver.png +0 -0
  1537. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/console.png +0 -0
  1538. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/database.png +0 -0
  1539. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/east-mini.png +0 -0
  1540. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/error.ico +0 -0
  1541. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/eye.png +0 -0
  1542. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/eye_grey.png +0 -0
  1543. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/item.png +0 -0
  1544. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/left_nav_bg.png +0 -0
  1545. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/lightbulb.png +0 -0
  1546. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/lightbulb_off.png +0 -0
  1547. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/logo_left.png +0 -0
  1548. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/logo_right.png +0 -0
  1549. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/more.png +0 -0
  1550. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data.png +0 -0
  1551. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_hovered.png +0 -0
  1552. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_selected.png +0 -0
  1553. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_selected_hovered.png +0 -0
  1554. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct.png +0 -0
  1555. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_hovered.png +0 -0
  1556. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_selected.png +0 -0
  1557. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_selected_hovered.png +0 -0
  1558. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/normalize.png +0 -0
  1559. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/north-mini.png +0 -0
  1560. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pause.png +0 -0
  1561. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/php_sym.png +0 -0
  1562. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/play.png +0 -0
  1563. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pma_logo2.png +0 -0
  1564. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/1.png +0 -0
  1565. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2.png +0 -0
  1566. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2leftarrow.png +0 -0
  1567. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2leftarrow_m.png +0 -0
  1568. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2rightarrow.png +0 -0
  1569. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2rightarrow_m.png +0 -0
  1570. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/3.png +0 -0
  1571. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/4.png +0 -0
  1572. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/5.png +0 -0
  1573. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/6.png +0 -0
  1574. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/7.png +0 -0
  1575. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/8.png +0 -0
  1576. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/FieldKey_small.png +0 -0
  1577. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small.png +0 -0
  1578. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_char.png +0 -0
  1579. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_date.png +0 -0
  1580. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_int.png +0 -0
  1581. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Header.png +0 -0
  1582. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Header_Linked.png +0 -0
  1583. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/anchor.png +0 -0
  1584. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/and_icon.png +0 -0
  1585. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/ang_direct.png +0 -0
  1586. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/bord.png +0 -0
  1587. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/bottom.png +0 -0
  1588. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/def.png +0 -0
  1589. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/display_field.png +0 -0
  1590. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow1.png +0 -0
  1591. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow2.png +0 -0
  1592. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow2_m.png +0 -0
  1593. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exec.png +0 -0
  1594. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exec_small.png +0 -0
  1595. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exitFullscreen.png +0 -0
  1596. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/export.png +0 -0
  1597. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/favicon.ico +0 -0
  1598. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/grid.png +0 -0
  1599. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/help.png +0 -0
  1600. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/help_relation.png +0 -0
  1601. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/left_panel_butt.png +0 -0
  1602. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/left_panel_tab.png +0 -0
  1603. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/minus.png +0 -0
  1604. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/or_icon.png +0 -0
  1605. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_add.png +0 -0
  1606. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_delete.png +0 -0
  1607. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_edit.png +0 -0
  1608. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/pdf.png +0 -0
  1609. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/plus.png +0 -0
  1610. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/query_builder.png +0 -0
  1611. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/relation.png +0 -0
  1612. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/reload.png +0 -0
  1613. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/resize.png +0 -0
  1614. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/resizeright.png +0 -0
  1615. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/rightarrow1.png +0 -0
  1616. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/rightarrow2.png +0 -0
  1617. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/save.png +0 -0
  1618. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/save_as.png +0 -0
  1619. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/small_tab.png +0 -0
  1620. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/table.png +0 -0
  1621. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/toggle_lines.png +0 -0
  1622. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/top_panel.png +0 -0
  1623. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/uparrow2_m.png +0 -0
  1624. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/viewInFullscreen.png +0 -0
  1625. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_asc.png +0 -0
  1626. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_asci.png +0 -0
  1627. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_attention.png +0 -0
  1628. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cancel.png +0 -0
  1629. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cancel2.png +0 -0
  1630. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cog.png +0 -0
  1631. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_collapseall.png +0 -0
  1632. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_db.png +0 -0
  1633. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_desc.png +0 -0
  1634. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_error.png +0 -0
  1635. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_error2.png +0 -0
  1636. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_fulltext.png +0 -0
  1637. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_host.png +0 -0
  1638. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_info.png +0 -0
  1639. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_lang.png +0 -0
  1640. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_link.png +0 -0
  1641. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_lock.png +0 -0
  1642. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_loggoff.png +0 -0
  1643. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_notice.png +0 -0
  1644. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_okay.png +0 -0
  1645. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_partialtext.png +0 -0
  1646. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_passwd.png +0 -0
  1647. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_process.png +0 -0
  1648. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_really.png +0 -0
  1649. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_reload.png +0 -0
  1650. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_replication.png +0 -0
  1651. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_rights.png +0 -0
  1652. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_sortable.png +0 -0
  1653. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_status.png +0 -0
  1654. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_success.png +0 -0
  1655. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_sync.png +0 -0
  1656. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_tbl.png +0 -0
  1657. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_theme.png +0 -0
  1658. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_top.png +0 -0
  1659. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_unlink.png +0 -0
  1660. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_vars.png +0 -0
  1661. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_views.png +0 -0
  1662. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/select_bg.png +0 -0
  1663. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/south-mini.png +0 -0
  1664. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/spacer.png +0 -0
  1665. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/sprites.png +0 -0
  1666. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/toggle-ltr.png +0 -0
  1667. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/toggle-rtl.png +0 -0
  1668. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/vertical_line.png +0 -0
  1669. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/west-mini.png +0 -0
  1670. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/window-new.png +0 -0
  1671. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-minus-mini.png +0 -0
  1672. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-plus-mini.png +0 -0
  1673. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-world-mini.png +0 -0
  1674. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/info.inc.php +0 -21
  1675. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1676. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1677. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1678. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1679. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1680. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1681. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1682. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1683. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_222222_256x240.png +0 -0
  1684. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  1685. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_454545_256x240.png +0 -0
  1686. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_888888_256x240.png +0 -0
  1687. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  1688. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/jquery-ui-1.11.2.css +0 -1225
  1689. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/layout.inc.php +0 -104
  1690. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/screen.png +0 -0
  1691. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/sprites.lib.php +0 -805
  1692. data/lib/support/phpmyadmin/phpmyadmin/themes/sprites.css.php +0 -60
  1693. data/lib/support/phpmyadmin/phpmyadmin/themes/svg_gradient.php +0 -53
  1694. data/lib/support/phpmyadmin/phpmyadmin/themes.php +0 -32
  1695. data/lib/support/phpmyadmin/phpmyadmin/transformation_overview.php +0 -74
  1696. data/lib/support/phpmyadmin/phpmyadmin/transformation_wrapper.php +0 -148
  1697. data/lib/support/phpmyadmin/phpmyadmin/url.php +0 -38
  1698. data/lib/support/phpmyadmin/phpmyadmin/user_password.php +0 -200
  1699. data/lib/support/phpmyadmin/phpmyadmin/version_check.php +0 -30
  1700. data/lib/support/phpmyadmin/phpmyadmin/view_create.php +0 -291
  1701. data/lib/support/phpmyadmin/phpmyadmin/view_operations.php +0 -139
  1702. data/lib/support/phpmyadmin/phpmyadmin/webapp.php +0 -55
@@ -1,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
- ?>