simpletool 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1707) hide show
  1. checksums.yaml +4 -4
  2. data/lib/simpletool.rb +46 -11
  3. data/lib/support/ftp/vsftpd.conf +152 -0
  4. data/lib/support/phpmyadmin/nginx.phpmyadmin.default +112 -0
  5. data/lib/support/phpmyadmin/phpmyadmin/CONTRIBUTING.md +25 -0
  6. data/lib/support/phpmyadmin/phpmyadmin/ChangeLog +312 -0
  7. data/lib/support/phpmyadmin/phpmyadmin/DCO +44 -0
  8. data/lib/support/phpmyadmin/phpmyadmin/LICENSE +340 -0
  9. data/lib/support/phpmyadmin/phpmyadmin/README +52 -0
  10. data/lib/support/phpmyadmin/phpmyadmin/RELEASE-DATE-4.4.8 +1 -0
  11. data/lib/support/phpmyadmin/phpmyadmin/browse_foreigners.php +61 -0
  12. data/lib/support/phpmyadmin/phpmyadmin/changelog.php +153 -0
  13. data/lib/support/phpmyadmin/phpmyadmin/chk_rel.php +27 -0
  14. data/lib/support/phpmyadmin/phpmyadmin/composer.json +30 -0
  15. data/lib/support/phpmyadmin/phpmyadmin/config.sample.inc.php +152 -0
  16. data/lib/support/phpmyadmin/phpmyadmin/db_central_columns.php +134 -0
  17. data/lib/support/phpmyadmin/phpmyadmin/db_create.php +141 -0
  18. data/lib/support/phpmyadmin/phpmyadmin/db_datadict.php +208 -0
  19. data/lib/support/phpmyadmin/phpmyadmin/db_designer.php +173 -0
  20. data/lib/support/phpmyadmin/phpmyadmin/db_events.php +26 -0
  21. data/lib/support/phpmyadmin/phpmyadmin/db_export.php +94 -0
  22. data/lib/support/phpmyadmin/phpmyadmin/db_import.php +25 -0
  23. data/lib/support/phpmyadmin/phpmyadmin/db_operations.php +291 -0
  24. data/lib/support/phpmyadmin/phpmyadmin/db_printview.php +175 -0
  25. data/lib/support/phpmyadmin/phpmyadmin/db_qbe.php +131 -0
  26. data/lib/support/phpmyadmin/phpmyadmin/db_routines.php +27 -0
  27. data/lib/support/phpmyadmin/phpmyadmin/db_search.php +63 -0
  28. data/lib/support/phpmyadmin/phpmyadmin/db_sql.php +45 -0
  29. data/lib/support/phpmyadmin/phpmyadmin/db_sql_autocomplete.php +24 -0
  30. data/lib/support/phpmyadmin/phpmyadmin/db_sql_format.php +18 -0
  31. data/lib/support/phpmyadmin/phpmyadmin/db_structure.php +345 -0
  32. data/lib/support/phpmyadmin/phpmyadmin/db_tracking.php +350 -0
  33. data/lib/support/phpmyadmin/phpmyadmin/db_triggers.php +25 -0
  34. data/lib/support/phpmyadmin/phpmyadmin/doc/Makefile +197 -0
  35. data/lib/support/phpmyadmin/phpmyadmin/doc/_ext/configext.py +188 -0
  36. data/lib/support/phpmyadmin/phpmyadmin/doc/conf.py +304 -0
  37. data/lib/support/phpmyadmin/phpmyadmin/doc/config.rst +2794 -0
  38. data/lib/support/phpmyadmin/phpmyadmin/doc/copyright.rst +50 -0
  39. data/lib/support/phpmyadmin/phpmyadmin/doc/credits.rst +657 -0
  40. data/lib/support/phpmyadmin/phpmyadmin/doc/developers.rst +12 -0
  41. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/config.doctree +0 -0
  42. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/copyright.doctree +0 -0
  43. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/credits.doctree +0 -0
  44. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/developers.doctree +0 -0
  45. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/environment.pickle +0 -0
  46. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/faq.doctree +0 -0
  47. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/glossary.doctree +0 -0
  48. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/import_export.doctree +0 -0
  49. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/index.doctree +0 -0
  50. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/intro.doctree +0 -0
  51. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/other.doctree +0 -0
  52. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/privileges.doctree +0 -0
  53. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/require.doctree +0 -0
  54. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/setup.doctree +0 -0
  55. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/transformations.doctree +0 -0
  56. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/user.doctree +0 -0
  57. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/vendors.doctree +0 -0
  58. data/lib/support/phpmyadmin/phpmyadmin/doc/faq.rst +2112 -0
  59. data/lib/support/phpmyadmin/phpmyadmin/doc/glossary.rst +399 -0
  60. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/config.txt +2794 -0
  61. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/copyright.txt +50 -0
  62. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/credits.txt +657 -0
  63. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/developers.txt +12 -0
  64. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/faq.txt +2112 -0
  65. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/glossary.txt +399 -0
  66. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/import_export.txt +27 -0
  67. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/index.txt +32 -0
  68. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/intro.txt +68 -0
  69. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/other.txt +18 -0
  70. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/privileges.txt +50 -0
  71. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/require.txt +54 -0
  72. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/setup.txt +543 -0
  73. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/transformations.txt +138 -0
  74. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/user.txt +10 -0
  75. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/vendors.txt +35 -0
  76. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/ajax-loader.gif +0 -0
  77. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/basic.css +540 -0
  78. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment-bright.png +0 -0
  79. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment-close.png +0 -0
  80. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment.png +0 -0
  81. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/default.css +256 -0
  82. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/doctools.js +247 -0
  83. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/down-pressed.png +0 -0
  84. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/down.png +0 -0
  85. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/file.png +0 -0
  86. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/jquery.js +154 -0
  87. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/minus.png +0 -0
  88. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/plus.png +0 -0
  89. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/pygments.css +62 -0
  90. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/searchtools.js +560 -0
  91. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/sidebar.js +151 -0
  92. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/underscore.js +23 -0
  93. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/up-pressed.png +0 -0
  94. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/up.png +0 -0
  95. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/websupport.js +808 -0
  96. data/lib/support/phpmyadmin/phpmyadmin/doc/html/config.html +5000 -0
  97. data/lib/support/phpmyadmin/phpmyadmin/doc/html/copyright.html +157 -0
  98. data/lib/support/phpmyadmin/phpmyadmin/doc/html/credits.html +714 -0
  99. data/lib/support/phpmyadmin/phpmyadmin/doc/html/developers.html +118 -0
  100. data/lib/support/phpmyadmin/phpmyadmin/doc/html/faq.html +1871 -0
  101. data/lib/support/phpmyadmin/phpmyadmin/doc/html/genindex.html +3807 -0
  102. data/lib/support/phpmyadmin/phpmyadmin/doc/html/glossary.html +618 -0
  103. data/lib/support/phpmyadmin/phpmyadmin/doc/html/import_export.html +148 -0
  104. data/lib/support/phpmyadmin/phpmyadmin/doc/html/index.html +210 -0
  105. data/lib/support/phpmyadmin/phpmyadmin/doc/html/intro.html +182 -0
  106. data/lib/support/phpmyadmin/phpmyadmin/doc/html/objects.inv +0 -0
  107. data/lib/support/phpmyadmin/phpmyadmin/doc/html/other.html +135 -0
  108. data/lib/support/phpmyadmin/phpmyadmin/doc/html/privileges.html +169 -0
  109. data/lib/support/phpmyadmin/phpmyadmin/doc/html/require.html +168 -0
  110. data/lib/support/phpmyadmin/phpmyadmin/doc/html/search.html +100 -0
  111. data/lib/support/phpmyadmin/phpmyadmin/doc/html/searchindex.js +1 -0
  112. data/lib/support/phpmyadmin/phpmyadmin/doc/html/setup.html +909 -0
  113. data/lib/support/phpmyadmin/phpmyadmin/doc/html/transformations.html +240 -0
  114. data/lib/support/phpmyadmin/phpmyadmin/doc/html/user.html +139 -0
  115. data/lib/support/phpmyadmin/phpmyadmin/doc/html/vendors.html +149 -0
  116. data/lib/support/phpmyadmin/phpmyadmin/doc/import_export.rst +27 -0
  117. data/lib/support/phpmyadmin/phpmyadmin/doc/index.rst +32 -0
  118. data/lib/support/phpmyadmin/phpmyadmin/doc/intro.rst +68 -0
  119. data/lib/support/phpmyadmin/phpmyadmin/doc/make.bat +242 -0
  120. data/lib/support/phpmyadmin/phpmyadmin/doc/other.rst +18 -0
  121. data/lib/support/phpmyadmin/phpmyadmin/doc/privileges.rst +50 -0
  122. data/lib/support/phpmyadmin/phpmyadmin/doc/require.rst +54 -0
  123. data/lib/support/phpmyadmin/phpmyadmin/doc/setup.rst +543 -0
  124. data/lib/support/phpmyadmin/phpmyadmin/doc/transformations.rst +138 -0
  125. data/lib/support/phpmyadmin/phpmyadmin/doc/user.rst +10 -0
  126. data/lib/support/phpmyadmin/phpmyadmin/doc/vendors.rst +35 -0
  127. data/lib/support/phpmyadmin/phpmyadmin/error_report.php +130 -0
  128. data/lib/support/phpmyadmin/phpmyadmin/examples/config.manyhosts.inc.php +51 -0
  129. data/lib/support/phpmyadmin/phpmyadmin/examples/openid.php +160 -0
  130. data/lib/support/phpmyadmin/phpmyadmin/examples/signon-script.php +37 -0
  131. data/lib/support/phpmyadmin/phpmyadmin/examples/signon.php +71 -0
  132. data/lib/support/phpmyadmin/phpmyadmin/examples/swekey.sample.conf +44 -0
  133. data/lib/support/phpmyadmin/phpmyadmin/export.php +480 -0
  134. data/lib/support/phpmyadmin/phpmyadmin/favicon.ico +0 -0
  135. data/lib/support/phpmyadmin/phpmyadmin/file_echo.php +81 -0
  136. data/lib/support/phpmyadmin/phpmyadmin/gis_data_editor.php +429 -0
  137. data/lib/support/phpmyadmin/phpmyadmin/import.php +770 -0
  138. data/lib/support/phpmyadmin/phpmyadmin/import_status.php +118 -0
  139. data/lib/support/phpmyadmin/phpmyadmin/index.php +701 -0
  140. data/lib/support/phpmyadmin/phpmyadmin/js/OpenStreetMap.js +126 -0
  141. data/lib/support/phpmyadmin/phpmyadmin/js/ajax.js +1031 -0
  142. data/lib/support/phpmyadmin/phpmyadmin/js/big_ints.js +67 -0
  143. data/lib/support/phpmyadmin/phpmyadmin/js/canvg/MIT-LICENSE.txt +22 -0
  144. data/lib/support/phpmyadmin/phpmyadmin/js/canvg/canvg.js +2509 -0
  145. data/lib/support/phpmyadmin/phpmyadmin/js/chart.js +664 -0
  146. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/LICENSE +19 -0
  147. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/hint/show-hint.js +394 -0
  148. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/hint/sql-hint.js +248 -0
  149. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/runmode/runmode.js +72 -0
  150. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/lib/codemirror.js +8645 -0
  151. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/javascript/javascript.js +692 -0
  152. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/sql/sql.js +391 -0
  153. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/xml/xml.js +384 -0
  154. data/lib/support/phpmyadmin/phpmyadmin/js/common.js +515 -0
  155. data/lib/support/phpmyadmin/phpmyadmin/js/config.js +798 -0
  156. data/lib/support/phpmyadmin/phpmyadmin/js/console.js +1032 -0
  157. data/lib/support/phpmyadmin/phpmyadmin/js/cross_framing_protection.js +10 -0
  158. data/lib/support/phpmyadmin/phpmyadmin/js/db_central_columns.js +200 -0
  159. data/lib/support/phpmyadmin/phpmyadmin/js/db_operations.js +157 -0
  160. data/lib/support/phpmyadmin/phpmyadmin/js/db_qbe.js +64 -0
  161. data/lib/support/phpmyadmin/phpmyadmin/js/db_search.js +239 -0
  162. data/lib/support/phpmyadmin/phpmyadmin/js/db_structure.js +391 -0
  163. data/lib/support/phpmyadmin/phpmyadmin/js/db_tracking.js +85 -0
  164. data/lib/support/phpmyadmin/phpmyadmin/js/doclinks.js +365 -0
  165. data/lib/support/phpmyadmin/phpmyadmin/js/error_report.js +340 -0
  166. data/lib/support/phpmyadmin/phpmyadmin/js/export.js +401 -0
  167. data/lib/support/phpmyadmin/phpmyadmin/js/functions.js +4579 -0
  168. data/lib/support/phpmyadmin/phpmyadmin/js/get_image.js.php +148 -0
  169. data/lib/support/phpmyadmin/phpmyadmin/js/get_scripts.js.php +62 -0
  170. data/lib/support/phpmyadmin/phpmyadmin/js/gis_data_editor.js +396 -0
  171. data/lib/support/phpmyadmin/phpmyadmin/js/import.js +167 -0
  172. data/lib/support/phpmyadmin/phpmyadmin/js/indexes.js +697 -0
  173. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/excanvas.js +1438 -0
  174. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/jquery.jqplot.js +11411 -0
  175. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.barRenderer.js +801 -0
  176. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.byteFormatter.js +46 -0
  177. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.canvasAxisLabelRenderer.js +203 -0
  178. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.canvasTextRenderer.js +449 -0
  179. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.categoryAxisRenderer.js +679 -0
  180. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.cursor.js +1108 -0
  181. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.dateAxisRenderer.js +741 -0
  182. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.highlighter.js +465 -0
  183. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.pieRenderer.js +904 -0
  184. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.pointLabels.js +377 -0
  185. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/MIT-LICENSE.txt +21 -0
  186. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-1.11.1.min.js +4 -0
  187. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-ui-1.11.2.min.js +13 -0
  188. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-ui-timepicker-addon.js +2223 -0
  189. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.ba-hashchange-1.3.js +390 -0
  190. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.cookie.js +91 -0
  191. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.debounce-1.0.5.js +71 -0
  192. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.event.drag-2.2.js +402 -0
  193. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.fullscreen.js +60 -0
  194. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.mousewheel.js +221 -0
  195. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.sortableTable.js +272 -0
  196. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.svg.js +1352 -0
  197. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.tablesorter.js +1033 -0
  198. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.uitablefilter.js +117 -0
  199. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/README +9 -0
  200. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/jsonp.js +89 -0
  201. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/load.js +75 -0
  202. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/parseJSON.js +51 -0
  203. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/parseXML.js +31 -0
  204. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/script.js +93 -0
  205. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/var/nonce.js +5 -0
  206. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/var/rquery.js +3 -0
  207. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/xhr.js +196 -0
  208. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax.js +807 -0
  209. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/attr.js +271 -0
  210. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/classes.js +157 -0
  211. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/prop.js +134 -0
  212. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/support.js +62 -0
  213. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/val.js +178 -0
  214. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes.js +11 -0
  215. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/callbacks.js +205 -0
  216. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/access.js +60 -0
  217. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/init.js +132 -0
  218. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/parseHTML.js +39 -0
  219. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/ready.js +152 -0
  220. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/var/rsingleTag.js +4 -0
  221. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core.js +534 -0
  222. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/addGetHookIf.js +32 -0
  223. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/curCSS.js +117 -0
  224. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/defaultDisplay.js +69 -0
  225. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/hiddenVisibleSelectors.js +20 -0
  226. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/support.js +149 -0
  227. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/swap.js +28 -0
  228. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/cssExpand.js +3 -0
  229. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/isHidden.js +13 -0
  230. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/rmargin.js +3 -0
  231. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/rnumnonpx.js +5 -0
  232. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css.js +504 -0
  233. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data/accepts.js +21 -0
  234. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data/support.js +25 -0
  235. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data.js +335 -0
  236. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/deferred.js +150 -0
  237. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/deprecated.js +13 -0
  238. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/dimensions.js +50 -0
  239. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/Tween.js +114 -0
  240. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/animatedSelector.js +13 -0
  241. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/support.js +55 -0
  242. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects.js +656 -0
  243. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event/alias.js +39 -0
  244. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event/support.js +26 -0
  245. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event.js +1037 -0
  246. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/exports/amd.js +24 -0
  247. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/exports/global.js +32 -0
  248. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/intro.js +44 -0
  249. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/jquery.js +37 -0
  250. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/_evalUrl.js +18 -0
  251. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/support.js +76 -0
  252. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/var/rcheckableType.js +3 -0
  253. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation.js +744 -0
  254. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/offset.js +211 -0
  255. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/outro.js +1 -0
  256. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/queue/delay.js +22 -0
  257. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/queue.js +142 -0
  258. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/selector-sizzle.js +14 -0
  259. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/selector.js +1 -0
  260. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/serialize.js +110 -0
  261. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.js +2044 -0
  262. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.min.js +3 -0
  263. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.min.map +1 -0
  264. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/empty.js +0 -0
  265. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/mixed_sort.html +22 -0
  266. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/testinit.js +136 -0
  267. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/index.html +242 -0
  268. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/jquery.js +9597 -0
  269. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/extending.js +95 -0
  270. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/selector.js +1149 -0
  271. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/utilities.js +169 -0
  272. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/support.js +58 -0
  273. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing/findFilter.js +100 -0
  274. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing/var/rneedsContext.js +6 -0
  275. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing.js +200 -0
  276. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/class2type.js +4 -0
  277. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/concat.js +5 -0
  278. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/deletedIds.js +3 -0
  279. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/hasOwn.js +5 -0
  280. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/indexOf.js +5 -0
  281. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/pnum.js +3 -0
  282. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/push.js +5 -0
  283. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/rnotwhite.js +3 -0
  284. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/slice.js +5 -0
  285. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/strundefined.js +3 -0
  286. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/support.js +4 -0
  287. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/toString.js +5 -0
  288. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/wrap.js +75 -0
  289. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/accordion.js +584 -0
  290. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/autocomplete.js +628 -0
  291. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/button.js +411 -0
  292. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/core.js +304 -0
  293. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/datepicker.js +2080 -0
  294. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/dialog.js +875 -0
  295. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/draggable.js +1128 -0
  296. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/droppable.js +413 -0
  297. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-blind.js +90 -0
  298. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-bounce.js +123 -0
  299. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-clip.js +77 -0
  300. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-drop.js +75 -0
  301. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-explode.js +107 -0
  302. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-fade.js +40 -0
  303. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-fold.js +86 -0
  304. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-highlight.js +60 -0
  305. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-puff.js +60 -0
  306. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-pulsate.js +73 -0
  307. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-scale.js +89 -0
  308. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-shake.js +84 -0
  309. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-size.js +233 -0
  310. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-slide.js +74 -0
  311. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-transfer.js +57 -0
  312. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect.js +1301 -0
  313. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/menu.js +646 -0
  314. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/mouse.js +199 -0
  315. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/position.js +517 -0
  316. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/progressbar.js +159 -0
  317. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/resizable.js +1179 -0
  318. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/selectable.js +287 -0
  319. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/selectmenu.js +616 -0
  320. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/slider.js +699 -0
  321. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/sortable.js +1304 -0
  322. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/spinner.js +514 -0
  323. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/tabs.js +880 -0
  324. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/tooltip.js +461 -0
  325. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/widget.js +557 -0
  326. data/lib/support/phpmyadmin/phpmyadmin/js/keyhandler.js +145 -0
  327. data/lib/support/phpmyadmin/phpmyadmin/js/line_counts.php +523 -0
  328. data/lib/support/phpmyadmin/phpmyadmin/js/makegrid.js +1973 -0
  329. data/lib/support/phpmyadmin/phpmyadmin/js/menu-resizer.js +182 -0
  330. data/lib/support/phpmyadmin/phpmyadmin/js/messages.php +718 -0
  331. data/lib/support/phpmyadmin/phpmyadmin/js/multi_column_sort.js +81 -0
  332. data/lib/support/phpmyadmin/phpmyadmin/js/navigation.js +1505 -0
  333. data/lib/support/phpmyadmin/phpmyadmin/js/normalization.js +707 -0
  334. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/OpenLayers.js +2681 -0
  335. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/blank.gif +0 -0
  336. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/cloud-popup-relative.png +0 -0
  337. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/drag-rectangle-off.png +0 -0
  338. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/drag-rectangle-on.png +0 -0
  339. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/east-mini.png +0 -0
  340. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/layer-switcher-maximize.png +0 -0
  341. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/layer-switcher-minimize.png +0 -0
  342. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-blue.png +0 -0
  343. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-gold.png +0 -0
  344. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-green.png +0 -0
  345. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker.png +0 -0
  346. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/measuring-stick-off.png +0 -0
  347. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/measuring-stick-on.png +0 -0
  348. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/north-mini.png +0 -0
  349. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/panning-hand-off.png +0 -0
  350. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/panning-hand-on.png +0 -0
  351. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/slider.png +0 -0
  352. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/south-mini.png +0 -0
  353. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/west-mini.png +0 -0
  354. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-minus-mini.png +0 -0
  355. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-plus-mini.png +0 -0
  356. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-world-mini.png +0 -0
  357. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoombar.png +0 -0
  358. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/README +12 -0
  359. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/errorIcon.png +0 -0
  360. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.css +209 -0
  361. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.html +23 -0
  362. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.js +674 -0
  363. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebugx.js +9 -0
  364. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/infoIcon.png +0 -0
  365. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/license.txt +30 -0
  366. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/readme.txt +13 -0
  367. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/warningIcon.png +0 -0
  368. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Gears/gears_init.js +88 -0
  369. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Ajax.js +678 -0
  370. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Bounds.js +681 -0
  371. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Class.js +116 -0
  372. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Element.js +251 -0
  373. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/LonLat.js +190 -0
  374. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Pixel.js +125 -0
  375. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Size.js +85 -0
  376. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes.js +682 -0
  377. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Console.js +246 -0
  378. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ArgParser.js +166 -0
  379. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Attribution.js +97 -0
  380. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Button.js +44 -0
  381. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DragFeature.js +303 -0
  382. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DragPan.js +94 -0
  383. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DrawFeature.js +126 -0
  384. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/EditingToolbar.js +63 -0
  385. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/GetFeature.js +595 -0
  386. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Graticule.js +373 -0
  387. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/KeyboardDefaults.js +127 -0
  388. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/LayerSwitcher.js +620 -0
  389. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Measure.js +321 -0
  390. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ModifyFeature.js +777 -0
  391. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MouseDefaults.js +368 -0
  392. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MousePosition.js +213 -0
  393. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MouseToolbar.js +406 -0
  394. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/NavToolbar.js +55 -0
  395. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Navigation.js +303 -0
  396. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/NavigationHistory.js +423 -0
  397. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/OverviewMap.js +720 -0
  398. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Pan.js +86 -0
  399. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanPanel.js +63 -0
  400. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanZoom.js +246 -0
  401. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanZoomBar.js +396 -0
  402. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Panel.js +371 -0
  403. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Permalink.js +220 -0
  404. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/SLDSelect.js +570 -0
  405. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Scale.js +99 -0
  406. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ScaleLine.js +223 -0
  407. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/SelectFeature.js +613 -0
  408. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Snapping.js +547 -0
  409. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Split.js +498 -0
  410. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/TransformFeature.js +579 -0
  411. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/WMSGetFeatureInfo.js +524 -0
  412. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/WMTSGetFeatureInfo.js +442 -0
  413. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomBox.js +95 -0
  414. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomIn.js +35 -0
  415. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomOut.js +35 -0
  416. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomPanel.js +54 -0
  417. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomToMaxExtent.js +40 -0
  418. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control.js +368 -0
  419. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Events.js +855 -0
  420. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature/Vector.js +454 -0
  421. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature/WFS.js +80 -0
  422. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature.js +227 -0
  423. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Comparison.js +258 -0
  424. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/FeatureId.js +81 -0
  425. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Logical.js +119 -0
  426. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Spatial.js +128 -0
  427. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter.js +68 -0
  428. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML/Features.js +49 -0
  429. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML.js +1028 -0
  430. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Atom.js +727 -0
  431. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js +243 -0
  432. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain.js +34 -0
  433. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js +440 -0
  434. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords.js +34 -0
  435. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Context.js +334 -0
  436. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1.js +426 -0
  437. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_0_0.js +169 -0
  438. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_1_0.js +182 -0
  439. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter.js +115 -0
  440. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/Base.js +578 -0
  441. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/v2.js +193 -0
  442. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/v3.js +462 -0
  443. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML.js +924 -0
  444. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GPX.js +184 -0
  445. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GeoJSON.js +716 -0
  446. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GeoRSS.js +420 -0
  447. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/JSON.js +389 -0
  448. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/KML.js +1429 -0
  449. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OSM.js +457 -0
  450. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1.js +256 -0
  451. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_0_0.js +50 -0
  452. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_1_0.js +64 -0
  453. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext/v0_3_1.js +589 -0
  454. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext.js +81 -0
  455. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1.js +1100 -0
  456. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1_0_0.js +51 -0
  457. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD.js +131 -0
  458. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js +158 -0
  459. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities.js +83 -0
  460. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js +193 -0
  461. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetObservation.js +262 -0
  462. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Text.js +152 -0
  463. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFS.js +220 -0
  464. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1.js +126 -0
  465. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js +157 -0
  466. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js +36 -0
  467. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities.js +80 -0
  468. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSDescribeFeatureType.js +198 -0
  469. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1.js +368 -0
  470. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_0_0.js +150 -0
  471. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_1_0.js +161 -0
  472. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST.js +34 -0
  473. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WKT.js +358 -0
  474. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1.js +835 -0
  475. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_0_0.js +76 -0
  476. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_1_0.js +127 -0
  477. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC.js +152 -0
  478. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1.js +418 -0
  479. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1.js +118 -0
  480. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js +62 -0
  481. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js +58 -0
  482. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3.js +128 -0
  483. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js +30 -0
  484. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities.js +82 -0
  485. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js +100 -0
  486. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer.js +91 -0
  487. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSGetFeatureInfo.js +284 -0
  488. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js +221 -0
  489. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js +162 -0
  490. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/XML.js +881 -0
  491. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format.js +123 -0
  492. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Collection.js +546 -0
  493. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Curve.js +93 -0
  494. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/LineString.js +552 -0
  495. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/LinearRing.js +417 -0
  496. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiLineString.js +262 -0
  497. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPoint.js +70 -0
  498. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPolygon.js +46 -0
  499. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Point.js +283 -0
  500. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Polygon.js +259 -0
  501. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Rectangle.js +99 -0
  502. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Surface.js +17 -0
  503. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry.js +456 -0
  504. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Box.js +221 -0
  505. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Click.js +325 -0
  506. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Drag.js +420 -0
  507. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Feature.js +388 -0
  508. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Hover.js +183 -0
  509. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Keyboard.js +109 -0
  510. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/MouseWheel.js +283 -0
  511. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Path.js +302 -0
  512. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Point.js +373 -0
  513. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Polygon.js +144 -0
  514. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/RegularPolygon.js +421 -0
  515. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler.js +287 -0
  516. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Icon.js +227 -0
  517. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ar.js +38 -0
  518. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/be-tarask.js +80 -0
  519. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/bg.js +29 -0
  520. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/br.js +79 -0
  521. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ca.js +128 -0
  522. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/cs-CZ.js +69 -0
  523. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/da-DK.js +119 -0
  524. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/de.js +81 -0
  525. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/el.js +19 -0
  526. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/en-CA.js +21 -0
  527. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/en.js +128 -0
  528. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/es.js +129 -0
  529. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fi.js +34 -0
  530. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fr.js +80 -0
  531. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fur.js +35 -0
  532. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/gl.js +79 -0
  533. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/gsw.js +79 -0
  534. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hr.js +61 -0
  535. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hsb.js +79 -0
  536. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hu.js +80 -0
  537. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ia.js +79 -0
  538. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/id.js +80 -0
  539. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/io.js +19 -0
  540. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/is.js +37 -0
  541. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/it.js +116 -0
  542. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ja.js +80 -0
  543. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/km.js +25 -0
  544. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ksh.js +79 -0
  545. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nb.js +118 -0
  546. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nds.js +61 -0
  547. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nl.js +79 -0
  548. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nn.js +27 -0
  549. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/oc.js +79 -0
  550. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/pt-BR.js +80 -0
  551. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/pt.js +81 -0
  552. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ru.js +82 -0
  553. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/sk.js +71 -0
  554. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/sv-SE.js +71 -0
  555. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/te.js +27 -0
  556. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/vi.js +79 -0
  557. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/zh-CN.js +116 -0
  558. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/zh-TW.js +117 -0
  559. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang.js +133 -0
  560. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/ArcGIS93Rest.js +253 -0
  561. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/ArcIMS.js +466 -0
  562. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Boxes.js +76 -0
  563. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/EventPane.js +418 -0
  564. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/FixedZoomLevels.js +315 -0
  565. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/GML.js +174 -0
  566. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/GeoRSS.js +266 -0
  567. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Google/v3.js +419 -0
  568. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Google.js +795 -0
  569. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Grid.js +755 -0
  570. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/HTTPRequest.js +230 -0
  571. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Image.js +254 -0
  572. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/KaMap.js +206 -0
  573. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/KaMapCache.js +148 -0
  574. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapGuide.js +489 -0
  575. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer/Untiled.js +72 -0
  576. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer.js +199 -0
  577. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Markers.js +187 -0
  578. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MultiMap.js +284 -0
  579. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/PointTrack.js +103 -0
  580. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/SphericalMercator.js +196 -0
  581. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/TMS.js +167 -0
  582. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Text.js +264 -0
  583. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/TileCache.js +165 -0
  584. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Vector/RootContainer.js +157 -0
  585. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Vector.js +947 -0
  586. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/VirtualEarth.js +368 -0
  587. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WFS.js +609 -0
  588. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Post.js +99 -0
  589. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Untiled.js +72 -0
  590. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS.js +268 -0
  591. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMTS.js +476 -0
  592. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WorldWind.js +120 -0
  593. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/XYZ.js +196 -0
  594. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Yahoo.js +430 -0
  595. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Zoomify.js +308 -0
  596. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer.js +1304 -0
  597. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Map.js +2417 -0
  598. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Marker/Box.js +120 -0
  599. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Marker.js +242 -0
  600. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/Anchored.js +198 -0
  601. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/AnchoredBubble.js +190 -0
  602. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/Framed.js +343 -0
  603. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/FramedCloud.js +231 -0
  604. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup.js +1052 -0
  605. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Projection.js +178 -0
  606. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/HTTP.js +655 -0
  607. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS/v1_0_0.js +132 -0
  608. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS.js +33 -0
  609. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL/Gears.js +561 -0
  610. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL.js +88 -0
  611. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1.js +342 -0
  612. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_0_0.js +44 -0
  613. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_1_0.js +48 -0
  614. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS.js +71 -0
  615. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol.js +272 -0
  616. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/Canvas.js +494 -0
  617. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/Elements.js +1010 -0
  618. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/SVG.js +995 -0
  619. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/VML.js +999 -0
  620. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer.js +362 -0
  621. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Request/XMLHttpRequest.js +384 -0
  622. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Request.js +358 -0
  623. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Rule.js +240 -0
  624. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/SingleFile.js +10 -0
  625. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/BBOX.js +278 -0
  626. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Cluster.js +280 -0
  627. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Filter.js +164 -0
  628. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Fixed.js +138 -0
  629. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Paging.js +236 -0
  630. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Refresh.js +140 -0
  631. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Save.js +229 -0
  632. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy.js +117 -0
  633. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Style.js +443 -0
  634. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Style2.js +111 -0
  635. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/StyleMap.js +160 -0
  636. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Line.js +69 -0
  637. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Point.js +141 -0
  638. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Polygon.js +81 -0
  639. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Raster.js +34 -0
  640. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Text.js +65 -0
  641. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer.js +51 -0
  642. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/Image/IFrame.js +262 -0
  643. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/Image.js +578 -0
  644. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/WFS.js +192 -0
  645. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile.js +281 -0
  646. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tween.js +318 -0
  647. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Util.js +1797 -0
  648. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers.js +348 -0
  649. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Rico/Color.js +244 -0
  650. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Rico/Corner.js +330 -0
  651. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/framedCloud.css +0 -0
  652. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/google.css +10 -0
  653. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/ie6-style.css +7 -0
  654. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/add_point_off.png +0 -0
  655. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/add_point_on.png +0 -0
  656. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/blank.gif +0 -0
  657. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/close.gif +0 -0
  658. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/drag-rectangle-off.png +0 -0
  659. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/drag-rectangle-on.png +0 -0
  660. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_line_off.png +0 -0
  661. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_line_on.png +0 -0
  662. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_point_off.png +0 -0
  663. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_point_on.png +0 -0
  664. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_polygon_off.png +0 -0
  665. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_polygon_on.png +0 -0
  666. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/editing_tool_bar.png +0 -0
  667. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/move_feature_off.png +0 -0
  668. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/move_feature_on.png +0 -0
  669. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/navigation_history.png +0 -0
  670. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/overview_replacement.gif +0 -0
  671. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan-panel-NOALPHA.png +0 -0
  672. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan-panel.png +0 -0
  673. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan_off.png +0 -0
  674. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan_on.png +0 -0
  675. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/panning-hand-off.png +0 -0
  676. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/panning-hand-on.png +0 -0
  677. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/remove_point_off.png +0 -0
  678. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/remove_point_on.png +0 -0
  679. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/ruler.png +0 -0
  680. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/save_features_off.png +0 -0
  681. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/save_features_on.png +0 -0
  682. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_next_off.png +0 -0
  683. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_next_on.png +0 -0
  684. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_previous_off.png +0 -0
  685. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_previous_on.png +0 -0
  686. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/zoom-panel-NOALPHA.png +0 -0
  687. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/zoom-panel.png +0 -0
  688. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/style.css +397 -0
  689. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_db.js +136 -0
  690. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_objects.js +17 -0
  691. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_page.js +164 -0
  692. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/history.js +812 -0
  693. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/iecanvas.js +147 -0
  694. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/init.js +40 -0
  695. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/move.js +1993 -0
  696. data/lib/support/phpmyadmin/phpmyadmin/js/replication.js +72 -0
  697. data/lib/support/phpmyadmin/phpmyadmin/js/rte.js +944 -0
  698. data/lib/support/phpmyadmin/phpmyadmin/js/server_databases.js +137 -0
  699. data/lib/support/phpmyadmin/phpmyadmin/js/server_plugins.js +30 -0
  700. data/lib/support/phpmyadmin/phpmyadmin/js/server_privileges.js +451 -0
  701. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_advisor.js +93 -0
  702. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_monitor.js +2172 -0
  703. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_processes.js +189 -0
  704. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_queries.js +34 -0
  705. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_sorter.js +89 -0
  706. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_variables.js +103 -0
  707. data/lib/support/phpmyadmin/phpmyadmin/js/server_user_groups.js +42 -0
  708. data/lib/support/phpmyadmin/phpmyadmin/js/server_variables.js +147 -0
  709. data/lib/support/phpmyadmin/phpmyadmin/js/sprintf.js +211 -0
  710. data/lib/support/phpmyadmin/phpmyadmin/js/sql.js +842 -0
  711. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_change.js +754 -0
  712. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_chart.js +437 -0
  713. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_find_replace.js +47 -0
  714. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_gis_visualization.js +353 -0
  715. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_operations.js +240 -0
  716. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_relation.js +233 -0
  717. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_select.js +395 -0
  718. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_structure.js +397 -0
  719. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_tracking.js +96 -0
  720. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_zoom_plot_jqplot.js +638 -0
  721. data/lib/support/phpmyadmin/phpmyadmin/js/tracekit/tracekit.js +1114 -0
  722. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/image_upload.js +28 -0
  723. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/json.js +18 -0
  724. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/json_editor.js +17 -0
  725. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/sql_editor.js +30 -0
  726. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/xml.js +18 -0
  727. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/xml_editor.js +16 -0
  728. data/lib/support/phpmyadmin/phpmyadmin/js/whitelist.php +38 -0
  729. data/lib/support/phpmyadmin/phpmyadmin/libraries/Advisor.class.php +526 -0
  730. data/lib/support/phpmyadmin/phpmyadmin/libraries/Config.class.php +1926 -0
  731. data/lib/support/phpmyadmin/phpmyadmin/libraries/Console.class.php +320 -0
  732. data/lib/support/phpmyadmin/phpmyadmin/libraries/DBQbe.class.php +1593 -0
  733. data/lib/support/phpmyadmin/phpmyadmin/libraries/DatabaseInterface.class.php +2864 -0
  734. data/lib/support/phpmyadmin/phpmyadmin/libraries/DbSearch.class.php +502 -0
  735. data/lib/support/phpmyadmin/phpmyadmin/libraries/DisplayResults.class.php +5685 -0
  736. data/lib/support/phpmyadmin/phpmyadmin/libraries/Error.class.php +470 -0
  737. data/lib/support/phpmyadmin/phpmyadmin/libraries/Error_Handler.class.php +561 -0
  738. data/lib/support/phpmyadmin/phpmyadmin/libraries/File.class.php +732 -0
  739. data/lib/support/phpmyadmin/phpmyadmin/libraries/Font.class.php +145 -0
  740. data/lib/support/phpmyadmin/phpmyadmin/libraries/Footer.class.php +351 -0
  741. data/lib/support/phpmyadmin/phpmyadmin/libraries/Header.class.php +752 -0
  742. data/lib/support/phpmyadmin/phpmyadmin/libraries/Index.class.php +1011 -0
  743. data/lib/support/phpmyadmin/phpmyadmin/libraries/List.class.php +122 -0
  744. data/lib/support/phpmyadmin/phpmyadmin/libraries/List_Database.class.php +193 -0
  745. data/lib/support/phpmyadmin/phpmyadmin/libraries/Menu.class.php +631 -0
  746. data/lib/support/phpmyadmin/phpmyadmin/libraries/Message.class.php +759 -0
  747. data/lib/support/phpmyadmin/phpmyadmin/libraries/OutputBuffering.class.php +139 -0
  748. data/lib/support/phpmyadmin/phpmyadmin/libraries/PDF.class.php +149 -0
  749. data/lib/support/phpmyadmin/phpmyadmin/libraries/PMA.php +109 -0
  750. data/lib/support/phpmyadmin/phpmyadmin/libraries/Partition.class.php +77 -0
  751. data/lib/support/phpmyadmin/phpmyadmin/libraries/RecentFavoriteTable.class.php +393 -0
  752. data/lib/support/phpmyadmin/phpmyadmin/libraries/Response.class.php +397 -0
  753. data/lib/support/phpmyadmin/phpmyadmin/libraries/SavedSearches.class.php +447 -0
  754. data/lib/support/phpmyadmin/phpmyadmin/libraries/Scripts.class.php +284 -0
  755. data/lib/support/phpmyadmin/phpmyadmin/libraries/ServerStatusData.class.php +448 -0
  756. data/lib/support/phpmyadmin/phpmyadmin/libraries/StorageEngine.class.php +451 -0
  757. data/lib/support/phpmyadmin/phpmyadmin/libraries/String.class.php +188 -0
  758. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringAbstractType.class.php +35 -0
  759. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringByte.int.php +173 -0
  760. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringCType.class.php +110 -0
  761. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringNativeType.class.php +138 -0
  762. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringType.int.php +84 -0
  763. data/lib/support/phpmyadmin/phpmyadmin/libraries/Table.class.php +1806 -0
  764. data/lib/support/phpmyadmin/phpmyadmin/libraries/TableSearch.class.php +1587 -0
  765. data/lib/support/phpmyadmin/phpmyadmin/libraries/Theme.class.php +485 -0
  766. data/lib/support/phpmyadmin/phpmyadmin/libraries/Theme_Manager.class.php +460 -0
  767. data/lib/support/phpmyadmin/phpmyadmin/libraries/Tracker.class.php +1030 -0
  768. data/lib/support/phpmyadmin/phpmyadmin/libraries/Types.class.php +1071 -0
  769. data/lib/support/phpmyadmin/phpmyadmin/libraries/Util.class.php +4602 -0
  770. data/lib/support/phpmyadmin/phpmyadmin/libraries/advisory_rules.txt +470 -0
  771. data/lib/support/phpmyadmin/phpmyadmin/libraries/bfShapeFiles/ShapeFile.lib.php +682 -0
  772. data/lib/support/phpmyadmin/phpmyadmin/libraries/bookmark.lib.php +273 -0
  773. data/lib/support/phpmyadmin/phpmyadmin/libraries/browse_foreigners.lib.php +316 -0
  774. data/lib/support/phpmyadmin/phpmyadmin/libraries/build_html_for_db.lib.php +184 -0
  775. data/lib/support/phpmyadmin/phpmyadmin/libraries/central_columns.lib.php +1003 -0
  776. data/lib/support/phpmyadmin/phpmyadmin/libraries/charset_conversion.lib.php +120 -0
  777. data/lib/support/phpmyadmin/phpmyadmin/libraries/check_user_privileges.lib.php +195 -0
  778. data/lib/support/phpmyadmin/phpmyadmin/libraries/cleanup.lib.php +50 -0
  779. data/lib/support/phpmyadmin/phpmyadmin/libraries/common.inc.php +1203 -0
  780. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/ConfigFile.class.php +543 -0
  781. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/Form.class.php +231 -0
  782. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/FormDisplay.class.php +837 -0
  783. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/FormDisplay.tpl.php +491 -0
  784. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/ServerConfigChecks.class.php +577 -0
  785. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/Validator.class.php +624 -0
  786. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/config_functions.lib.php +54 -0
  787. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/messages.inc.php +818 -0
  788. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/setup.forms.php +384 -0
  789. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/user_preferences.forms.php +281 -0
  790. data/lib/support/phpmyadmin/phpmyadmin/libraries/config.default.php +3011 -0
  791. data/lib/support/phpmyadmin/phpmyadmin/libraries/config.values.php +270 -0
  792. data/lib/support/phpmyadmin/phpmyadmin/libraries/core.lib.php +1013 -0
  793. data/lib/support/phpmyadmin/phpmyadmin/libraries/create_addfield.lib.php +376 -0
  794. data/lib/support/phpmyadmin/phpmyadmin/libraries/data_dictionary_relations.lib.php +167 -0
  795. data/lib/support/phpmyadmin/phpmyadmin/libraries/database_interface.inc.php +74 -0
  796. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_common.inc.php +105 -0
  797. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_designer.lib.php +1397 -0
  798. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_info.inc.php +248 -0
  799. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_printview.lib.php +30 -0
  800. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_table_exists.lib.php +106 -0
  801. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIDrizzle.class.php +583 -0
  802. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIDummy.class.php +906 -0
  803. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIExtension.int.php +262 -0
  804. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIMysql.class.php +469 -0
  805. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIMysqli.class.php +620 -0
  806. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/drizzle-wrappers.lib.php +427 -0
  807. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_change_password.lib.php +113 -0
  808. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_create_database.lib.php +62 -0
  809. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_create_table.lib.php +82 -0
  810. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_export.inc.php +72 -0
  811. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_export.lib.php +872 -0
  812. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_git_revision.lib.php +83 -0
  813. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import.inc.php +64 -0
  814. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import.lib.php +602 -0
  815. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import_ajax.lib.php +129 -0
  816. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_select_lang.lib.php +98 -0
  817. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_structure.inc.php +272 -0
  818. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/bdb.lib.php +87 -0
  819. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/berkeleydb.lib.php +26 -0
  820. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/binlog.lib.php +31 -0
  821. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/innobase.lib.php +25 -0
  822. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/innodb.lib.php +392 -0
  823. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/memory.lib.php +34 -0
  824. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/merge.lib.php +21 -0
  825. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/mrg_myisam.lib.php +36 -0
  826. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/myisam.lib.php +69 -0
  827. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/ndbcluster.lib.php +55 -0
  828. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/pbxt.lib.php +149 -0
  829. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/performance_schema.lib.php +31 -0
  830. data/lib/support/phpmyadmin/phpmyadmin/libraries/error.inc.php +58 -0
  831. data/lib/support/phpmyadmin/phpmyadmin/libraries/error_report.lib.php +432 -0
  832. data/lib/support/phpmyadmin/phpmyadmin/libraries/export.lib.php +858 -0
  833. data/lib/support/phpmyadmin/phpmyadmin/libraries/file_listing.lib.php +99 -0
  834. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Factory.class.php +66 -0
  835. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Geometry.class.php +376 -0
  836. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Geometrycollection.class.php +364 -0
  837. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Linestring.class.php +323 -0
  838. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multilinestring.class.php +394 -0
  839. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multipoint.class.php +367 -0
  840. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multipolygon.class.php +564 -0
  841. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Point.class.php +314 -0
  842. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Polygon.class.php +581 -0
  843. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Visualization.class.php +504 -0
  844. data/lib/support/phpmyadmin/phpmyadmin/libraries/iconv_wrapper.lib.php +128 -0
  845. data/lib/support/phpmyadmin/phpmyadmin/libraries/import.lib.php +1954 -0
  846. data/lib/support/phpmyadmin/phpmyadmin/libraries/index.lib.php +48 -0
  847. data/lib/support/phpmyadmin/phpmyadmin/libraries/information_schema_relations.lib.php +327 -0
  848. data/lib/support/phpmyadmin/phpmyadmin/libraries/insert_edit.lib.php +2931 -0
  849. data/lib/support/phpmyadmin/phpmyadmin/libraries/ip_allow_deny.lib.php +341 -0
  850. data/lib/support/phpmyadmin/phpmyadmin/libraries/js_escape.lib.php +135 -0
  851. data/lib/support/phpmyadmin/phpmyadmin/libraries/kanji-encoding.lib.php +168 -0
  852. data/lib/support/phpmyadmin/phpmyadmin/libraries/language_stats.inc.php +87 -0
  853. data/lib/support/phpmyadmin/phpmyadmin/libraries/logging.lib.php +30 -0
  854. data/lib/support/phpmyadmin/phpmyadmin/libraries/mime.lib.php +34 -0
  855. data/lib/support/phpmyadmin/phpmyadmin/libraries/mult_submits.inc.php +307 -0
  856. data/lib/support/phpmyadmin/phpmyadmin/libraries/mult_submits.lib.php +647 -0
  857. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_charsets.inc.php +129 -0
  858. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_charsets.lib.php +379 -0
  859. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_relations.lib.php +169 -0
  860. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Navigation.class.php +228 -0
  861. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NavigationHeader.class.php +223 -0
  862. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NavigationTree.class.php +1452 -0
  863. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NodeFactory.class.php +97 -0
  864. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node.class.php +813 -0
  865. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Column.class.php +47 -0
  866. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Column_Container.class.php +57 -0
  867. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Database.class.php +663 -0
  868. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_DatabaseChild.class.php +52 -0
  869. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Database_Container.class.php +51 -0
  870. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Event.class.php +57 -0
  871. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Event_Container.class.php +54 -0
  872. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Function.class.php +57 -0
  873. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Function_Container.class.php +53 -0
  874. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Index.class.php +45 -0
  875. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Index_Container.class.php +57 -0
  876. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Procedure.class.php +57 -0
  877. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Procedure_Container.class.php +55 -0
  878. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Table.class.php +294 -0
  879. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Table_Container.class.php +60 -0
  880. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Trigger.class.php +45 -0
  881. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Trigger_Container.class.php +57 -0
  882. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_View.class.php +57 -0
  883. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_View_Container.class.php +60 -0
  884. data/lib/support/phpmyadmin/phpmyadmin/libraries/normalization.lib.php +945 -0
  885. data/lib/support/phpmyadmin/phpmyadmin/libraries/opendocument.lib.php +171 -0
  886. data/lib/support/phpmyadmin/phpmyadmin/libraries/operations.lib.php +1649 -0
  887. data/lib/support/phpmyadmin/phpmyadmin/libraries/parse_analyze.inc.php +144 -0
  888. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/gettext.inc +536 -0
  889. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/gettext.php +432 -0
  890. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/streams.php +167 -0
  891. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/AES.php +184 -0
  892. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Base.php +1984 -0
  893. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Random.php +251 -0
  894. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Rijndael.php +1370 -0
  895. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugin_interface.lib.php +557 -0
  896. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/AuthenticationPlugin.class.php +100 -0
  897. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/ExportPlugin.class.php +326 -0
  898. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/IOTransformationsPlugin.class.php +91 -0
  899. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/ImportPlugin.class.php +77 -0
  900. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/SchemaPlugin.class.php +76 -0
  901. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/TransformationsInterface.int.php +49 -0
  902. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/TransformationsPlugin.class.php +69 -0
  903. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/UploadInterface.int.php +36 -0
  904. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationConfig.class.php +183 -0
  905. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationCookie.class.php +871 -0
  906. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationHttp.class.php +289 -0
  907. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationSignon.class.php +267 -0
  908. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/recaptcha/LICENSE +29 -0
  909. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/recaptcha/recaptchalib.php +140 -0
  910. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/authentication.inc.php +176 -0
  911. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/musbe-ca.crt +25 -0
  912. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/swekey.auth.lib.php +318 -0
  913. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/swekey.php +536 -0
  914. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportCodegen.class.php +434 -0
  915. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportCsv.class.php +323 -0
  916. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportExcel.class.php +92 -0
  917. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportHtmlword.class.php +644 -0
  918. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportJson.class.php +215 -0
  919. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportLatex.class.php +656 -0
  920. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportMediawiki.class.php +379 -0
  921. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportOds.class.php +334 -0
  922. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportOdt.class.php +765 -0
  923. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportPdf.class.php +276 -0
  924. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportPhparray.class.php +233 -0
  925. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportSql.class.php +2601 -0
  926. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportTexytext.class.php +575 -0
  927. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportXml.class.php +584 -0
  928. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportYaml.class.php +212 -0
  929. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/PMA_ExportPdf.class.php +434 -0
  930. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/README +267 -0
  931. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/TableProperty.class.php +286 -0
  932. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/AbstractImportCsv.class.php +90 -0
  933. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportCsv.class.php +687 -0
  934. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportLdi.class.php +161 -0
  935. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportMediawiki.class.php +598 -0
  936. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportOds.class.php +414 -0
  937. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportShp.class.php +327 -0
  938. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportSql.class.php +620 -0
  939. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportXml.class.php +366 -0
  940. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/README +159 -0
  941. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ShapeFile.class.php +102 -0
  942. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ShapeRecord.class.php +161 -0
  943. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadApc.class.php +84 -0
  944. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadNoplugin.class.php +64 -0
  945. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadProgress.class.php +94 -0
  946. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadSession.class.php +96 -0
  947. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/Export_Relation_Schema.class.php +299 -0
  948. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/RelationStats.class.php +108 -0
  949. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaDia.class.php +117 -0
  950. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaEps.class.php +102 -0
  951. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaPdf.class.php +132 -0
  952. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaSvg.class.php +90 -0
  953. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/TableStats.class.php +179 -0
  954. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/Dia_Relation_Schema.class.php +378 -0
  955. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/RelationStatsDia.class.php +216 -0
  956. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/TableStatsDia.class.php +227 -0
  957. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/Eps_Relation_Schema.class.php +508 -0
  958. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/RelationStatsEps.class.php +135 -0
  959. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/TableStatsEps.class.php +157 -0
  960. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/Pdf_Relation_Schema.class.php +1070 -0
  961. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/RelationStatsPdf.class.php +135 -0
  962. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/TableStatsPdf.class.php +222 -0
  963. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/RelationStatsSvg.class.php +119 -0
  964. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/Svg_Relation_Schema.class.php +501 -0
  965. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/TableStatsSvg.class.php +180 -0
  966. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/README +4 -0
  967. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/TEMPLATE +46 -0
  968. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/TEMPLATE_ABSTRACT +73 -0
  969. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Link.class.php +44 -0
  970. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Longtoipv4.class.php +44 -0
  971. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Preappend.class.php +45 -0
  972. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Substring.class.php +44 -0
  973. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/Bool2TextTransformationsPlugin.class.php +69 -0
  974. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/CodeMirrorEditorTransformationPlugin.class.php +64 -0
  975. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/DateFormatTransformationsPlugin.class.php +164 -0
  976. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/DownloadTransformationsPlugin.class.php +95 -0
  977. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ExternalTransformationsPlugin.class.php +155 -0
  978. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/FormattedTransformationsPlugin.class.php +65 -0
  979. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/HexTransformationsPlugin.class.php +72 -0
  980. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ImageLinkTransformationsPlugin.class.php +74 -0
  981. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ImageUploadTransformationsPlugin.class.php +110 -0
  982. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/InlineTransformationsPlugin.class.php +86 -0
  983. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/LongToIPv4TransformationsPlugin.class.php +68 -0
  984. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/PreApPendTransformationsPlugin.class.php +71 -0
  985. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/RegexValidationTransformationsPlugin.class.php +74 -0
  986. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/SQLTransformationsPlugin.class.php +67 -0
  987. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/SubstringTransformationsPlugin.class.php +92 -0
  988. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextFileUploadTransformationsPlugin.class.php +93 -0
  989. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextImageLinkTransformationsPlugin.class.php +81 -0
  990. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextLinkTransformationsPlugin.class.php +82 -0
  991. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/generator_main_class.sh +16 -0
  992. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/generator_plugin.sh +64 -0
  993. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Image_JPEG_Upload.class.php +46 -0
  994. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_Fileupload.class.php +45 -0
  995. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_JsonEditor.class.php +86 -0
  996. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_Regexvalidation.class.php +46 -0
  997. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_SqlEditor.class.php +86 -0
  998. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_XmlEditor.class.php +86 -0
  999. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Application_Octetstream_Download.class.php +44 -0
  1000. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Application_Octetstream_Hex.class.php +45 -0
  1001. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_JPEG_Inline.class.php +45 -0
  1002. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_JPEG_Link.class.php +45 -0
  1003. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_PNG_Inline.class.php +45 -0
  1004. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Octetstream_Sql.class.php +45 -0
  1005. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Bool2text.class.php +47 -0
  1006. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Dateformat.class.php +45 -0
  1007. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_External.class.php +45 -0
  1008. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Formatted.class.php +45 -0
  1009. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Imagelink.class.php +45 -0
  1010. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Json.class.php +96 -0
  1011. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Sql.class.php +57 -0
  1012. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Xml.class.php +96 -0
  1013. data/lib/support/phpmyadmin/phpmyadmin/libraries/pmd_common.php +657 -0
  1014. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/PropertyItem.class.php +49 -0
  1015. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyGroup.class.php +99 -0
  1016. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyItem.class.php +127 -0
  1017. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyOneItem.class.php +172 -0
  1018. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertyMainGroup.class.php +35 -0
  1019. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertyRootGroup.class.php +35 -0
  1020. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertySubgroup.class.php +68 -0
  1021. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/BoolPropertyItem.class.php +35 -0
  1022. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/DocPropertyItem.class.php +35 -0
  1023. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/HiddenPropertyItem.class.php +35 -0
  1024. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/MessageOnlyPropertyItem.class.php +35 -0
  1025. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/NumberPropertyItem.class.php +35 -0
  1026. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/RadioPropertyItem.class.php +35 -0
  1027. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/SelectPropertyItem.class.php +35 -0
  1028. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/TextPropertyItem.class.php +35 -0
  1029. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/ExportPluginProperties.class.php +68 -0
  1030. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/ImportPluginProperties.class.php +34 -0
  1031. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/PluginPropertyItem.class.php +183 -0
  1032. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/SchemaPluginProperties.class.php +47 -0
  1033. data/lib/support/phpmyadmin/phpmyadmin/libraries/relation.lib.php +2024 -0
  1034. data/lib/support/phpmyadmin/phpmyadmin/libraries/relation_cleanup.lib.php +216 -0
  1035. data/lib/support/phpmyadmin/phpmyadmin/libraries/replication.inc.php +321 -0
  1036. data/lib/support/phpmyadmin/phpmyadmin/libraries/replication_gui.lib.php +1088 -0
  1037. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_events.lib.php +618 -0
  1038. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_export.lib.php +121 -0
  1039. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_footer.lib.php +130 -0
  1040. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_general.lib.php +88 -0
  1041. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_list.lib.php +387 -0
  1042. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_main.inc.php +94 -0
  1043. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_routines.lib.php +1733 -0
  1044. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_triggers.lib.php +463 -0
  1045. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_words.lib.php +75 -0
  1046. data/lib/support/phpmyadmin/phpmyadmin/libraries/sanitizing.lib.php +191 -0
  1047. data/lib/support/phpmyadmin/phpmyadmin/libraries/select_lang.lib.php +621 -0
  1048. data/lib/support/phpmyadmin/phpmyadmin/libraries/select_server.lib.php +111 -0
  1049. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_bin_log.lib.php +244 -0
  1050. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_collations.lib.php +100 -0
  1051. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_common.inc.php +53 -0
  1052. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_common.lib.php +67 -0
  1053. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_databases.lib.php +498 -0
  1054. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_engines.lib.php +145 -0
  1055. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_plugins.lib.php +207 -0
  1056. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_privileges.lib.php +4692 -0
  1057. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status.lib.php +317 -0
  1058. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_advisor.lib.php +68 -0
  1059. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_monitor.lib.php +825 -0
  1060. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_processes.lib.php +320 -0
  1061. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_queries.lib.php +154 -0
  1062. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_variables.lib.php +765 -0
  1063. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_user_groups.lib.php +360 -0
  1064. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_users.lib.php +58 -0
  1065. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_variables.lib.php +1683 -0
  1066. data/lib/support/phpmyadmin/phpmyadmin/libraries/session.inc.php +130 -0
  1067. data/lib/support/phpmyadmin/phpmyadmin/libraries/special_schema_links.lib.php +461 -0
  1068. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/LICENSE.txt +21 -0
  1069. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/README.md +185 -0
  1070. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/lib/SqlFormatter.php +1085 -0
  1071. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql.lib.php +2293 -0
  1072. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql_query_form.lib.php +477 -0
  1073. data/lib/support/phpmyadmin/phpmyadmin/libraries/sqlparser.data.php +999 -0
  1074. data/lib/support/phpmyadmin/phpmyadmin/libraries/sqlparser.lib.php +2997 -0
  1075. data/lib/support/phpmyadmin/phpmyadmin/libraries/string.lib.php +33 -0
  1076. data/lib/support/phpmyadmin/phpmyadmin/libraries/stringMb.lib.php +78 -0
  1077. data/lib/support/phpmyadmin/phpmyadmin/libraries/stringNative.lib.php +245 -0
  1078. data/lib/support/phpmyadmin/phpmyadmin/libraries/structure.lib.php +3294 -0
  1079. data/lib/support/phpmyadmin/phpmyadmin/libraries/sysinfo.lib.php +369 -0
  1080. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_chart.lib.php +383 -0
  1081. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_columns_definition_form.inc.php +195 -0
  1082. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_columns_definition_form.lib.php +1458 -0
  1083. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_common.inc.php +48 -0
  1084. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_gis_visualization.lib.php +281 -0
  1085. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_indexes.lib.php +480 -0
  1086. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_info.inc.php +108 -0
  1087. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_printview.lib.php +602 -0
  1088. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_relation.lib.php +1222 -0
  1089. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_views.lib.php +161 -0
  1090. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/LICENSE.TXT +858 -0
  1091. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/README.TXT +115 -0
  1092. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/config/tcpdf_config.php +227 -0
  1093. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE +99 -0
  1094. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.ctg.z +0 -0
  1095. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.php +16 -0
  1096. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.z +0 -0
  1097. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.ctg.z +0 -0
  1098. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.php +16 -0
  1099. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.z +0 -0
  1100. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/helvetica.php +13 -0
  1101. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/sRGB.icc +0 -0
  1102. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_colors.php +462 -0
  1103. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_font_data.php +18447 -0
  1104. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_fonts.php +2591 -0
  1105. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_images.php +355 -0
  1106. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_static.php +2528 -0
  1107. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/tcpdf.php +24478 -0
  1108. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/tcpdf_autoconfig.php +241 -0
  1109. data/lib/support/phpmyadmin/phpmyadmin/libraries/tracking.lib.php +1439 -0
  1110. data/lib/support/phpmyadmin/phpmyadmin/libraries/transformations.lib.php +461 -0
  1111. data/lib/support/phpmyadmin/phpmyadmin/libraries/url_generating.lib.php +256 -0
  1112. data/lib/support/phpmyadmin/phpmyadmin/libraries/user_preferences.inc.php +71 -0
  1113. data/lib/support/phpmyadmin/phpmyadmin/libraries/user_preferences.lib.php +301 -0
  1114. data/lib/support/phpmyadmin/phpmyadmin/libraries/vendor_config.php +93 -0
  1115. data/lib/support/phpmyadmin/phpmyadmin/libraries/zip.lib.php +211 -0
  1116. data/lib/support/phpmyadmin/phpmyadmin/libraries/zip_extension.lib.php +195 -0
  1117. data/lib/support/phpmyadmin/phpmyadmin/license.php +31 -0
  1118. data/lib/support/phpmyadmin/phpmyadmin/locale/az/LC_MESSAGES/phpmyadmin.mo +0 -0
  1119. data/lib/support/phpmyadmin/phpmyadmin/locale/bg/LC_MESSAGES/phpmyadmin.mo +0 -0
  1120. data/lib/support/phpmyadmin/phpmyadmin/locale/bn/LC_MESSAGES/phpmyadmin.mo +0 -0
  1121. data/lib/support/phpmyadmin/phpmyadmin/locale/ca/LC_MESSAGES/phpmyadmin.mo +0 -0
  1122. data/lib/support/phpmyadmin/phpmyadmin/locale/cs/LC_MESSAGES/phpmyadmin.mo +0 -0
  1123. data/lib/support/phpmyadmin/phpmyadmin/locale/da/LC_MESSAGES/phpmyadmin.mo +0 -0
  1124. data/lib/support/phpmyadmin/phpmyadmin/locale/de/LC_MESSAGES/phpmyadmin.mo +0 -0
  1125. data/lib/support/phpmyadmin/phpmyadmin/locale/el/LC_MESSAGES/phpmyadmin.mo +0 -0
  1126. data/lib/support/phpmyadmin/phpmyadmin/locale/en_GB/LC_MESSAGES/phpmyadmin.mo +0 -0
  1127. data/lib/support/phpmyadmin/phpmyadmin/locale/es/LC_MESSAGES/phpmyadmin.mo +0 -0
  1128. data/lib/support/phpmyadmin/phpmyadmin/locale/et/LC_MESSAGES/phpmyadmin.mo +0 -0
  1129. data/lib/support/phpmyadmin/phpmyadmin/locale/fi/LC_MESSAGES/phpmyadmin.mo +0 -0
  1130. data/lib/support/phpmyadmin/phpmyadmin/locale/fr/LC_MESSAGES/phpmyadmin.mo +0 -0
  1131. data/lib/support/phpmyadmin/phpmyadmin/locale/gl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1132. data/lib/support/phpmyadmin/phpmyadmin/locale/hi/LC_MESSAGES/phpmyadmin.mo +0 -0
  1133. data/lib/support/phpmyadmin/phpmyadmin/locale/hu/LC_MESSAGES/phpmyadmin.mo +0 -0
  1134. data/lib/support/phpmyadmin/phpmyadmin/locale/ia/LC_MESSAGES/phpmyadmin.mo +0 -0
  1135. data/lib/support/phpmyadmin/phpmyadmin/locale/id/LC_MESSAGES/phpmyadmin.mo +0 -0
  1136. data/lib/support/phpmyadmin/phpmyadmin/locale/it/LC_MESSAGES/phpmyadmin.mo +0 -0
  1137. data/lib/support/phpmyadmin/phpmyadmin/locale/ja/LC_MESSAGES/phpmyadmin.mo +0 -0
  1138. data/lib/support/phpmyadmin/phpmyadmin/locale/ko/LC_MESSAGES/phpmyadmin.mo +0 -0
  1139. data/lib/support/phpmyadmin/phpmyadmin/locale/lt/LC_MESSAGES/phpmyadmin.mo +0 -0
  1140. data/lib/support/phpmyadmin/phpmyadmin/locale/nb/LC_MESSAGES/phpmyadmin.mo +0 -0
  1141. data/lib/support/phpmyadmin/phpmyadmin/locale/nl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1142. data/lib/support/phpmyadmin/phpmyadmin/locale/pl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1143. data/lib/support/phpmyadmin/phpmyadmin/locale/pt/LC_MESSAGES/phpmyadmin.mo +0 -0
  1144. data/lib/support/phpmyadmin/phpmyadmin/locale/pt_BR/LC_MESSAGES/phpmyadmin.mo +0 -0
  1145. data/lib/support/phpmyadmin/phpmyadmin/locale/ro/LC_MESSAGES/phpmyadmin.mo +0 -0
  1146. data/lib/support/phpmyadmin/phpmyadmin/locale/ru/LC_MESSAGES/phpmyadmin.mo +0 -0
  1147. data/lib/support/phpmyadmin/phpmyadmin/locale/si/LC_MESSAGES/phpmyadmin.mo +0 -0
  1148. data/lib/support/phpmyadmin/phpmyadmin/locale/sk/LC_MESSAGES/phpmyadmin.mo +0 -0
  1149. data/lib/support/phpmyadmin/phpmyadmin/locale/sl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1150. data/lib/support/phpmyadmin/phpmyadmin/locale/sq/LC_MESSAGES/phpmyadmin.mo +0 -0
  1151. data/lib/support/phpmyadmin/phpmyadmin/locale/sr@latin/LC_MESSAGES/phpmyadmin.mo +0 -0
  1152. data/lib/support/phpmyadmin/phpmyadmin/locale/sv/LC_MESSAGES/phpmyadmin.mo +0 -0
  1153. data/lib/support/phpmyadmin/phpmyadmin/locale/tr/LC_MESSAGES/phpmyadmin.mo +0 -0
  1154. data/lib/support/phpmyadmin/phpmyadmin/locale/uk/LC_MESSAGES/phpmyadmin.mo +0 -0
  1155. data/lib/support/phpmyadmin/phpmyadmin/locale/zh_CN/LC_MESSAGES/phpmyadmin.mo +0 -0
  1156. data/lib/support/phpmyadmin/phpmyadmin/locale/zh_TW/LC_MESSAGES/phpmyadmin.mo +0 -0
  1157. data/lib/support/phpmyadmin/phpmyadmin/navigation.php +71 -0
  1158. data/lib/support/phpmyadmin/phpmyadmin/normalization.php +122 -0
  1159. data/lib/support/phpmyadmin/phpmyadmin/phpinfo.php +21 -0
  1160. data/lib/support/phpmyadmin/phpmyadmin/phpmyadmin.css.php +39 -0
  1161. data/lib/support/phpmyadmin/phpmyadmin/phpunit.xml.hhvm +30 -0
  1162. data/lib/support/phpmyadmin/phpmyadmin/phpunit.xml.nocoverage +40 -0
  1163. data/lib/support/phpmyadmin/phpmyadmin/prefs_forms.php +92 -0
  1164. data/lib/support/phpmyadmin/phpmyadmin/prefs_manage.php +375 -0
  1165. data/lib/support/phpmyadmin/phpmyadmin/print.css +92 -0
  1166. data/lib/support/phpmyadmin/phpmyadmin/robots.txt +2 -0
  1167. data/lib/support/phpmyadmin/phpmyadmin/schema_export.php +77 -0
  1168. data/lib/support/phpmyadmin/phpmyadmin/server_binlog.php +54 -0
  1169. data/lib/support/phpmyadmin/phpmyadmin/server_collations.php +39 -0
  1170. data/lib/support/phpmyadmin/phpmyadmin/server_databases.php +118 -0
  1171. data/lib/support/phpmyadmin/phpmyadmin/server_engines.php +34 -0
  1172. data/lib/support/phpmyadmin/phpmyadmin/server_export.php +29 -0
  1173. data/lib/support/phpmyadmin/phpmyadmin/server_import.php +27 -0
  1174. data/lib/support/phpmyadmin/phpmyadmin/server_plugins.php +59 -0
  1175. data/lib/support/phpmyadmin/phpmyadmin/server_privileges.php +410 -0
  1176. data/lib/support/phpmyadmin/phpmyadmin/server_replication.php +83 -0
  1177. data/lib/support/phpmyadmin/phpmyadmin/server_sql.php +32 -0
  1178. data/lib/support/phpmyadmin/phpmyadmin/server_status.php +38 -0
  1179. data/lib/support/phpmyadmin/phpmyadmin/server_status_advisor.php +39 -0
  1180. data/lib/support/phpmyadmin/phpmyadmin/server_status_monitor.php +113 -0
  1181. data/lib/support/phpmyadmin/phpmyadmin/server_status_processes.php +64 -0
  1182. data/lib/support/phpmyadmin/phpmyadmin/server_status_queries.php +54 -0
  1183. data/lib/support/phpmyadmin/phpmyadmin/server_status_variables.php +57 -0
  1184. data/lib/support/phpmyadmin/phpmyadmin/server_user_groups.php +72 -0
  1185. data/lib/support/phpmyadmin/phpmyadmin/server_variables.php +60 -0
  1186. data/lib/support/phpmyadmin/phpmyadmin/setup/ajax.js +11 -0
  1187. data/lib/support/phpmyadmin/phpmyadmin/setup/config.php +81 -0
  1188. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/config.inc.php +52 -0
  1189. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/form.inc.php +36 -0
  1190. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/index.inc.php +313 -0
  1191. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/menu.inc.php +37 -0
  1192. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/servers.inc.php +50 -0
  1193. data/lib/support/phpmyadmin/phpmyadmin/setup/index.php +61 -0
  1194. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/ConfigGenerator.class.php +161 -0
  1195. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/common.inc.php +56 -0
  1196. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/form_processing.lib.php +81 -0
  1197. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/index.lib.php +204 -0
  1198. data/lib/support/phpmyadmin/phpmyadmin/setup/scripts.js +216 -0
  1199. data/lib/support/phpmyadmin/phpmyadmin/setup/styles.css +619 -0
  1200. data/lib/support/phpmyadmin/phpmyadmin/setup/validate.php +32 -0
  1201. data/lib/support/phpmyadmin/phpmyadmin/show_config_errors.php +40 -0
  1202. data/lib/support/phpmyadmin/phpmyadmin/sql/create_tables.sql +323 -0
  1203. data/lib/support/phpmyadmin/phpmyadmin/sql/create_tables_drizzle.sql +275 -0
  1204. data/lib/support/phpmyadmin/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql +47 -0
  1205. data/lib/support/phpmyadmin/phpmyadmin/sql/upgrade_tables_mysql_4_1_2+.sql +144 -0
  1206. data/lib/support/phpmyadmin/phpmyadmin/sql.php +203 -0
  1207. data/lib/support/phpmyadmin/phpmyadmin/tbl_addfield.php +124 -0
  1208. data/lib/support/phpmyadmin/phpmyadmin/tbl_change.php +232 -0
  1209. data/lib/support/phpmyadmin/phpmyadmin/tbl_chart.php +142 -0
  1210. data/lib/support/phpmyadmin/phpmyadmin/tbl_create.php +108 -0
  1211. data/lib/support/phpmyadmin/phpmyadmin/tbl_export.php +107 -0
  1212. data/lib/support/phpmyadmin/phpmyadmin/tbl_find_replace.php +66 -0
  1213. data/lib/support/phpmyadmin/phpmyadmin/tbl_get_field.php +55 -0
  1214. data/lib/support/phpmyadmin/phpmyadmin/tbl_gis_visualization.php +115 -0
  1215. data/lib/support/phpmyadmin/phpmyadmin/tbl_import.php +30 -0
  1216. data/lib/support/phpmyadmin/phpmyadmin/tbl_indexes.php +60 -0
  1217. data/lib/support/phpmyadmin/phpmyadmin/tbl_operations.php +423 -0
  1218. data/lib/support/phpmyadmin/phpmyadmin/tbl_printview.php +74 -0
  1219. data/lib/support/phpmyadmin/phpmyadmin/tbl_recent_favorite.php +19 -0
  1220. data/lib/support/phpmyadmin/phpmyadmin/tbl_relation.php +156 -0
  1221. data/lib/support/phpmyadmin/phpmyadmin/tbl_replace.php +468 -0
  1222. data/lib/support/phpmyadmin/phpmyadmin/tbl_row_action.php +146 -0
  1223. data/lib/support/phpmyadmin/phpmyadmin/tbl_select.php +81 -0
  1224. data/lib/support/phpmyadmin/phpmyadmin/tbl_sql.php +52 -0
  1225. data/lib/support/phpmyadmin/phpmyadmin/tbl_structure.php +210 -0
  1226. data/lib/support/phpmyadmin/phpmyadmin/tbl_tracking.php +209 -0
  1227. data/lib/support/phpmyadmin/phpmyadmin/tbl_triggers.php +10 -0
  1228. data/lib/support/phpmyadmin/phpmyadmin/tbl_zoom_select.php +165 -0
  1229. data/lib/support/phpmyadmin/phpmyadmin/themes/dot.gif +0 -0
  1230. data/lib/support/phpmyadmin/phpmyadmin/themes/original/css/common.css.php +3078 -0
  1231. data/lib/support/phpmyadmin/phpmyadmin/themes/original/css/navigation.css.php +424 -0
  1232. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/ajax_clock_small.gif +0 -0
  1233. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/arrow_ltr.png +0 -0
  1234. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/arrow_rtl.png +0 -0
  1235. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_bookmark.png +0 -0
  1236. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_browse.png +0 -0
  1237. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_calendar.png +0 -0
  1238. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_chart.png +0 -0
  1239. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_close.png +0 -0
  1240. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_column_add.png +0 -0
  1241. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_comment.png +0 -0
  1242. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_dbstatistics.png +0 -0
  1243. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_deltbl.png +0 -0
  1244. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_docs.png +0 -0
  1245. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_drop.png +0 -0
  1246. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_edit.png +0 -0
  1247. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_empty.png +0 -0
  1248. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_engine.png +0 -0
  1249. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_event_add.png +0 -0
  1250. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_events.png +0 -0
  1251. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_export.png +0 -0
  1252. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_favorite.png +0 -0
  1253. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_find_replace.png +0 -0
  1254. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_ftext.png +0 -0
  1255. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_globe.gif +0 -0
  1256. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_group.png +0 -0
  1257. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_help.png +0 -0
  1258. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_home.png +0 -0
  1259. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_import.png +0 -0
  1260. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_index.png +0 -0
  1261. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_index_add.png +0 -0
  1262. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_info.png +0 -0
  1263. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_inline_edit.png +0 -0
  1264. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_insrow.png +0 -0
  1265. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_minus.png +0 -0
  1266. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_more.png +0 -0
  1267. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_move.png +0 -0
  1268. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_newdb.png +0 -0
  1269. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_newtbl.png +0 -0
  1270. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_nextpage.png +0 -0
  1271. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_no_favorite.png +0 -0
  1272. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_plus.png +0 -0
  1273. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_primary.png +0 -0
  1274. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_print.png +0 -0
  1275. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_props.png +0 -0
  1276. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_relations.png +0 -0
  1277. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_report.png +0 -0
  1278. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_routine_add.png +0 -0
  1279. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_routines.png +0 -0
  1280. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_save.png +0 -0
  1281. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_saveimage.png +0 -0
  1282. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sbrowse.png +0 -0
  1283. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_search.png +0 -0
  1284. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_selboard.png +0 -0
  1285. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_select.png +0 -0
  1286. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_snewtbl.png +0 -0
  1287. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_spatial.png +0 -0
  1288. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sql.png +0 -0
  1289. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sqlhelp.png +0 -0
  1290. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_table_add.png +0 -0
  1291. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblanalyse.png +0 -0
  1292. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblexport.png +0 -0
  1293. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblimport.png +0 -0
  1294. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblops.png +0 -0
  1295. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tbloptimize.png +0 -0
  1296. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tipp.png +0 -0
  1297. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_trigger_add.png +0 -0
  1298. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_triggers.png +0 -0
  1299. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_undo.png +0 -0
  1300. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_unique.png +0 -0
  1301. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usradd.png +0 -0
  1302. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrcheck.png +0 -0
  1303. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrdrop.png +0 -0
  1304. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usredit.png +0 -0
  1305. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrlist.png +0 -0
  1306. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_versions.png +0 -0
  1307. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_view.png +0 -0
  1308. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_view_add.png +0 -0
  1309. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_views.png +0 -0
  1310. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_browse.png +0 -0
  1311. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_deltbl.png +0 -0
  1312. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_drop.png +0 -0
  1313. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_edit.png +0 -0
  1314. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_empty.png +0 -0
  1315. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_export.png +0 -0
  1316. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_ftext.png +0 -0
  1317. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_index.png +0 -0
  1318. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_insrow.png +0 -0
  1319. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_nextpage.png +0 -0
  1320. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_primary.png +0 -0
  1321. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_routine_add.png +0 -0
  1322. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_sbrowse.png +0 -0
  1323. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_select.png +0 -0
  1324. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_spatial.png +0 -0
  1325. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_unique.png +0 -0
  1326. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns.png +0 -0
  1327. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns_add.png +0 -0
  1328. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns_delete.png +0 -0
  1329. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/cleardot.gif +0 -0
  1330. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_drop.png +0 -0
  1331. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_pointer.png +0 -0
  1332. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_pointer_ver.png +0 -0
  1333. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/console.png +0 -0
  1334. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/east-mini.png +0 -0
  1335. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/error.ico +0 -0
  1336. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/eye.png +0 -0
  1337. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/eye_grey.png +0 -0
  1338. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/lightbulb.png +0 -0
  1339. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/lightbulb_off.png +0 -0
  1340. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/logo_left.png +0 -0
  1341. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/logo_right.png +0 -0
  1342. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/more.png +0 -0
  1343. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data.png +0 -0
  1344. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_hovered.png +0 -0
  1345. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_selected.png +0 -0
  1346. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_selected_hovered.png +0 -0
  1347. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct.png +0 -0
  1348. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_hovered.png +0 -0
  1349. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_selected.png +0 -0
  1350. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_selected_hovered.png +0 -0
  1351. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/normalize.png +0 -0
  1352. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/north-mini.png +0 -0
  1353. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/pause.png +0 -0
  1354. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/play.png +0 -0
  1355. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_asc.png +0 -0
  1356. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_asci.png +0 -0
  1357. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_attention.png +0 -0
  1358. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_cancel.png +0 -0
  1359. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_cog.png +0 -0
  1360. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_collapseall.png +0 -0
  1361. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_db.png +0 -0
  1362. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_desc.png +0 -0
  1363. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_error.png +0 -0
  1364. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_error2.png +0 -0
  1365. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_fulltext.png +0 -0
  1366. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_host.png +0 -0
  1367. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_info.png +0 -0
  1368. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_lang.png +0 -0
  1369. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_link.png +0 -0
  1370. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_lock.png +0 -0
  1371. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_loggoff.png +0 -0
  1372. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_notice.png +0 -0
  1373. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_partialtext.png +0 -0
  1374. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_passwd.png +0 -0
  1375. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_really.png +0 -0
  1376. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_reload.png +0 -0
  1377. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_replication.png +0 -0
  1378. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_rights.png +0 -0
  1379. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_sortable.png +0 -0
  1380. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_status.png +0 -0
  1381. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_success.png +0 -0
  1382. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_sync.png +0 -0
  1383. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_tbl.png +0 -0
  1384. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_theme.png +0 -0
  1385. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_top.png +0 -0
  1386. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_unlink.png +0 -0
  1387. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_vars.png +0 -0
  1388. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_views.png +0 -0
  1389. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/south-mini.png +0 -0
  1390. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/spacer.png +0 -0
  1391. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/sprites.png +0 -0
  1392. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/toggle-ltr.png +0 -0
  1393. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/toggle-rtl.png +0 -0
  1394. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/vertical_line.png +0 -0
  1395. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/west-mini.png +0 -0
  1396. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/window-new.png +0 -0
  1397. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-minus-mini.png +0 -0
  1398. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-plus-mini.png +0 -0
  1399. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-world-mini.png +0 -0
  1400. data/lib/support/phpmyadmin/phpmyadmin/themes/original/info.inc.php +15 -0
  1401. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1402. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1403. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1404. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1405. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1406. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1407. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1408. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1409. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_222222_256x240.png +0 -0
  1410. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  1411. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_454545_256x240.png +0 -0
  1412. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_888888_256x240.png +0 -0
  1413. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  1414. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/jquery-ui-1.11.2.css +1225 -0
  1415. data/lib/support/phpmyadmin/phpmyadmin/themes/original/layout.inc.php +102 -0
  1416. data/lib/support/phpmyadmin/phpmyadmin/themes/original/screen.png +0 -0
  1417. data/lib/support/phpmyadmin/phpmyadmin/themes/original/sprites.lib.php +720 -0
  1418. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/codemirror.css.php +350 -0
  1419. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/common.css.php +3401 -0
  1420. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/enum_editor.css.php +80 -0
  1421. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/gis.css.php +52 -0
  1422. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/jqplot.css.php +277 -0
  1423. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/navigation.css.php +429 -0
  1424. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/pmd.css.php +605 -0
  1425. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/resizable-menu.css.php +57 -0
  1426. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/rte.css.php +43 -0
  1427. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/ajax_clock_small.gif +0 -0
  1428. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/arrow_ltr.png +0 -0
  1429. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/arrow_rtl.png +0 -0
  1430. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/asc_order.png +0 -0
  1431. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_bookmark.png +0 -0
  1432. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_browse.png +0 -0
  1433. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_calendar.png +0 -0
  1434. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_chart.png +0 -0
  1435. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_close.png +0 -0
  1436. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_column_add.png +0 -0
  1437. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_comment.png +0 -0
  1438. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_dbstatistics.png +0 -0
  1439. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_deltbl.png +0 -0
  1440. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_docs.png +0 -0
  1441. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_docsql.png +0 -0
  1442. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_drop.png +0 -0
  1443. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_edit.png +0 -0
  1444. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_empty.png +0 -0
  1445. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_engine.png +0 -0
  1446. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_event_add.png +0 -0
  1447. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_events.png +0 -0
  1448. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_export.png +0 -0
  1449. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_favorite.png +0 -0
  1450. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_find_replace.png +0 -0
  1451. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_firstpage.png +0 -0
  1452. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_ftext.png +0 -0
  1453. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_globe.gif +0 -0
  1454. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_group.png +0 -0
  1455. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_help.png +0 -0
  1456. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_home.png +0 -0
  1457. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_import.png +0 -0
  1458. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_index.png +0 -0
  1459. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_index_add.png +0 -0
  1460. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_info.png +0 -0
  1461. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_inline_edit.png +0 -0
  1462. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_insrow.png +0 -0
  1463. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_lastpage.png +0 -0
  1464. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_minus.png +0 -0
  1465. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_more.png +0 -0
  1466. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_move.png +0 -0
  1467. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_newdb.png +0 -0
  1468. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_newtbl.png +0 -0
  1469. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_nextpage.png +0 -0
  1470. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_no_favorite.png +0 -0
  1471. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_pdfdoc.png +0 -0
  1472. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_plus.png +0 -0
  1473. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_prevpage.png +0 -0
  1474. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_primary.png +0 -0
  1475. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_print.png +0 -0
  1476. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_props.png +0 -0
  1477. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_relations.png +0 -0
  1478. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_report.png +0 -0
  1479. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_routine_add.png +0 -0
  1480. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_routines.png +0 -0
  1481. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_save.png +0 -0
  1482. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_saveimage.png +0 -0
  1483. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sbrowse.png +0 -0
  1484. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sdb.png +0 -0
  1485. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_search.png +0 -0
  1486. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_selboard.png +0 -0
  1487. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_select.png +0 -0
  1488. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_snewtbl.png +0 -0
  1489. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_spatial.png +0 -0
  1490. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sql.png +0 -0
  1491. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sqldoc.png +0 -0
  1492. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sqlhelp.png +0 -0
  1493. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_table_add.png +0 -0
  1494. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblanalyse.png +0 -0
  1495. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblexport.png +0 -0
  1496. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblimport.png +0 -0
  1497. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblops.png +0 -0
  1498. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tbloptimize.png +0 -0
  1499. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tipp.png +0 -0
  1500. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_trigger_add.png +0 -0
  1501. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_triggers.png +0 -0
  1502. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_undo.png +0 -0
  1503. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_unique.png +0 -0
  1504. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usradd.png +0 -0
  1505. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrcheck.png +0 -0
  1506. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrdrop.png +0 -0
  1507. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usredit.png +0 -0
  1508. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrlist.png +0 -0
  1509. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_versions.png +0 -0
  1510. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_view.png +0 -0
  1511. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_view_add.png +0 -0
  1512. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_views.png +0 -0
  1513. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_browse.png +0 -0
  1514. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_deltbl.png +0 -0
  1515. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_drop.png +0 -0
  1516. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_edit.png +0 -0
  1517. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_empty.png +0 -0
  1518. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_export.png +0 -0
  1519. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_firstpage.png +0 -0
  1520. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_ftext.png +0 -0
  1521. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_index.png +0 -0
  1522. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_insrow.png +0 -0
  1523. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_lastpage.png +0 -0
  1524. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_nextpage.png +0 -0
  1525. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_prevpage.png +0 -0
  1526. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_primary.png +0 -0
  1527. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_routine_add.png +0 -0
  1528. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_sbrowse.png +0 -0
  1529. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_select.png +0 -0
  1530. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_spatial.png +0 -0
  1531. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_unique.png +0 -0
  1532. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns.png +0 -0
  1533. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns_add.png +0 -0
  1534. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns_delete.png +0 -0
  1535. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_drop.png +0 -0
  1536. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_pointer.png +0 -0
  1537. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_pointer_ver.png +0 -0
  1538. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/console.png +0 -0
  1539. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/database.png +0 -0
  1540. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/east-mini.png +0 -0
  1541. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/error.ico +0 -0
  1542. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/eye.png +0 -0
  1543. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/eye_grey.png +0 -0
  1544. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/item.png +0 -0
  1545. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/left_nav_bg.png +0 -0
  1546. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/lightbulb.png +0 -0
  1547. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/lightbulb_off.png +0 -0
  1548. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/logo_left.png +0 -0
  1549. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/logo_right.png +0 -0
  1550. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/more.png +0 -0
  1551. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data.png +0 -0
  1552. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_hovered.png +0 -0
  1553. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_selected.png +0 -0
  1554. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_selected_hovered.png +0 -0
  1555. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct.png +0 -0
  1556. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_hovered.png +0 -0
  1557. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_selected.png +0 -0
  1558. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_selected_hovered.png +0 -0
  1559. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/normalize.png +0 -0
  1560. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/north-mini.png +0 -0
  1561. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pause.png +0 -0
  1562. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/php_sym.png +0 -0
  1563. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/play.png +0 -0
  1564. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pma_logo2.png +0 -0
  1565. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/1.png +0 -0
  1566. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2.png +0 -0
  1567. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2leftarrow.png +0 -0
  1568. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2leftarrow_m.png +0 -0
  1569. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2rightarrow.png +0 -0
  1570. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2rightarrow_m.png +0 -0
  1571. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/3.png +0 -0
  1572. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/4.png +0 -0
  1573. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/5.png +0 -0
  1574. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/6.png +0 -0
  1575. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/7.png +0 -0
  1576. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/8.png +0 -0
  1577. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/FieldKey_small.png +0 -0
  1578. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small.png +0 -0
  1579. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_char.png +0 -0
  1580. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_date.png +0 -0
  1581. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_int.png +0 -0
  1582. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Header.png +0 -0
  1583. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Header_Linked.png +0 -0
  1584. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/anchor.png +0 -0
  1585. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/and_icon.png +0 -0
  1586. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/ang_direct.png +0 -0
  1587. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/bord.png +0 -0
  1588. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/bottom.png +0 -0
  1589. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/def.png +0 -0
  1590. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/display_field.png +0 -0
  1591. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow1.png +0 -0
  1592. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow2.png +0 -0
  1593. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow2_m.png +0 -0
  1594. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exec.png +0 -0
  1595. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exec_small.png +0 -0
  1596. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exitFullscreen.png +0 -0
  1597. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/export.png +0 -0
  1598. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/favicon.ico +0 -0
  1599. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/grid.png +0 -0
  1600. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/help.png +0 -0
  1601. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/help_relation.png +0 -0
  1602. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/left_panel_butt.png +0 -0
  1603. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/left_panel_tab.png +0 -0
  1604. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/minus.png +0 -0
  1605. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/or_icon.png +0 -0
  1606. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_add.png +0 -0
  1607. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_delete.png +0 -0
  1608. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_edit.png +0 -0
  1609. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/pdf.png +0 -0
  1610. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/plus.png +0 -0
  1611. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/query_builder.png +0 -0
  1612. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/relation.png +0 -0
  1613. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/reload.png +0 -0
  1614. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/resize.png +0 -0
  1615. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/resizeright.png +0 -0
  1616. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/rightarrow1.png +0 -0
  1617. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/rightarrow2.png +0 -0
  1618. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/save.png +0 -0
  1619. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/save_as.png +0 -0
  1620. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/small_tab.png +0 -0
  1621. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/table.png +0 -0
  1622. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/toggle_lines.png +0 -0
  1623. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/top_panel.png +0 -0
  1624. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/uparrow2_m.png +0 -0
  1625. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/viewInFullscreen.png +0 -0
  1626. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_asc.png +0 -0
  1627. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_asci.png +0 -0
  1628. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_attention.png +0 -0
  1629. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cancel.png +0 -0
  1630. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cancel2.png +0 -0
  1631. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cog.png +0 -0
  1632. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_collapseall.png +0 -0
  1633. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_db.png +0 -0
  1634. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_desc.png +0 -0
  1635. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_error.png +0 -0
  1636. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_error2.png +0 -0
  1637. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_fulltext.png +0 -0
  1638. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_host.png +0 -0
  1639. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_info.png +0 -0
  1640. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_lang.png +0 -0
  1641. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_link.png +0 -0
  1642. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_lock.png +0 -0
  1643. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_loggoff.png +0 -0
  1644. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_notice.png +0 -0
  1645. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_okay.png +0 -0
  1646. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_partialtext.png +0 -0
  1647. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_passwd.png +0 -0
  1648. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_process.png +0 -0
  1649. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_really.png +0 -0
  1650. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_reload.png +0 -0
  1651. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_replication.png +0 -0
  1652. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_rights.png +0 -0
  1653. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_sortable.png +0 -0
  1654. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_status.png +0 -0
  1655. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_success.png +0 -0
  1656. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_sync.png +0 -0
  1657. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_tbl.png +0 -0
  1658. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_theme.png +0 -0
  1659. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_top.png +0 -0
  1660. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_unlink.png +0 -0
  1661. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_vars.png +0 -0
  1662. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_views.png +0 -0
  1663. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/select_bg.png +0 -0
  1664. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/south-mini.png +0 -0
  1665. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/spacer.png +0 -0
  1666. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/sprites.png +0 -0
  1667. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/toggle-ltr.png +0 -0
  1668. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/toggle-rtl.png +0 -0
  1669. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/vertical_line.png +0 -0
  1670. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/west-mini.png +0 -0
  1671. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/window-new.png +0 -0
  1672. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-minus-mini.png +0 -0
  1673. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-plus-mini.png +0 -0
  1674. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-world-mini.png +0 -0
  1675. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/info.inc.php +21 -0
  1676. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1677. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1678. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1679. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1680. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1681. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1682. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1683. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1684. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_222222_256x240.png +0 -0
  1685. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  1686. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_454545_256x240.png +0 -0
  1687. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_888888_256x240.png +0 -0
  1688. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  1689. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/jquery-ui-1.11.2.css +1225 -0
  1690. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/layout.inc.php +104 -0
  1691. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/screen.png +0 -0
  1692. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/sprites.lib.php +805 -0
  1693. data/lib/support/phpmyadmin/phpmyadmin/themes/sprites.css.php +60 -0
  1694. data/lib/support/phpmyadmin/phpmyadmin/themes/svg_gradient.php +53 -0
  1695. data/lib/support/phpmyadmin/phpmyadmin/themes.php +32 -0
  1696. data/lib/support/phpmyadmin/phpmyadmin/transformation_overview.php +74 -0
  1697. data/lib/support/phpmyadmin/phpmyadmin/transformation_wrapper.php +148 -0
  1698. data/lib/support/phpmyadmin/phpmyadmin/url.php +38 -0
  1699. data/lib/support/phpmyadmin/phpmyadmin/user_password.php +200 -0
  1700. data/lib/support/phpmyadmin/phpmyadmin/version_check.php +30 -0
  1701. data/lib/support/phpmyadmin/phpmyadmin/view_create.php +291 -0
  1702. data/lib/support/phpmyadmin/phpmyadmin/view_operations.php +139 -0
  1703. data/lib/support/phpmyadmin/phpmyadmin/webapp.php +55 -0
  1704. data/lib/support/pptp_vpn/ubuntu/pptpd-options +122 -0
  1705. data/lib/support/pptp_vpn/ubuntu/rc.local +17 -0
  1706. data/lib/support/pptp_vpn/ubuntu/sysctl.conf +102 -0
  1707. metadata +1705 -1
@@ -0,0 +1,4579 @@
1
+ /* vim: set expandtab sw=4 ts=4 sts=4: */
2
+ /**
3
+ * general function, usually for data manipulation pages
4
+ *
5
+ */
6
+
7
+ /**
8
+ * @var $table_clone reference to the action links on the tbl_structure page
9
+ */
10
+ var $table_clone = false;
11
+
12
+ /**
13
+ * @var sql_box_locked lock for the sqlbox textarea in the querybox
14
+ */
15
+ var sql_box_locked = false;
16
+
17
+ /**
18
+ * @var array holds elements which content should only selected once
19
+ */
20
+ var only_once_elements = [];
21
+
22
+ /**
23
+ * @var int ajax_message_count Number of AJAX messages shown since page load
24
+ */
25
+ var ajax_message_count = 0;
26
+
27
+ /**
28
+ * @var codemirror_editor object containing CodeMirror editor of the query editor in SQL tab
29
+ */
30
+ var codemirror_editor = false;
31
+
32
+ /**
33
+ * @var codemirror_editor object containing CodeMirror editor of the inline query editor
34
+ */
35
+ var codemirror_inline_editor = false;
36
+
37
+ /**
38
+ * @var sql_autocomplete_in_progress bool shows if Table/Column name autocomplete AJAX is in progress
39
+ */
40
+ var sql_autocomplete_in_progress = false;
41
+
42
+ /**
43
+ * @var sql_autocomplete object containing list of columns in each table
44
+ */
45
+ var sql_autocomplete = false;
46
+
47
+ /**
48
+ * @var sql_autocomplete_default_table string containing default table to autocomplete columns
49
+ */
50
+ var sql_autocomplete_default_table = '';
51
+
52
+ /**
53
+ * @var chart_activeTimeouts object active timeouts that refresh the charts. When disabling a realtime chart, this can be used to stop the continuous ajax requests
54
+ */
55
+ var chart_activeTimeouts = {};
56
+
57
+ /**
58
+ * @var central_column_list array to hold the columns in central list per db.
59
+ */
60
+ var central_column_list = [];
61
+
62
+ /**
63
+ * @var primary_indexes array to hold 'Primary' index columns.
64
+ */
65
+ var primary_indexes = [];
66
+
67
+ /**
68
+ * @var unique_indexes array to hold 'Unique' index columns.
69
+ */
70
+ var unique_indexes = [];
71
+
72
+ /**
73
+ * @var indexes array to hold 'Index' columns.
74
+ */
75
+ var indexes = [];
76
+
77
+ /**
78
+ * @var fulltext_indexes array to hold 'Fulltext' columns.
79
+ */
80
+ var fulltext_indexes = [];
81
+
82
+ /**
83
+ * Make sure that ajax requests will not be cached
84
+ * by appending a random variable to their parameters
85
+ */
86
+ $.ajaxPrefilter(function (options, originalOptions, jqXHR) {
87
+ var nocache = new Date().getTime() + "" + Math.floor(Math.random() * 1000000);
88
+ if (typeof options.data == "string") {
89
+ options.data += "&_nocache=" + nocache;
90
+ } else if (typeof options.data == "object") {
91
+ options.data = $.extend(originalOptions.data, {'_nocache' : nocache});
92
+ }
93
+ });
94
+
95
+ /**
96
+ * Clear text selection
97
+ */
98
+ function PMA_clearSelection() {
99
+ if (document.selection && document.selection.empty) {
100
+ document.selection.empty();
101
+ } else if (window.getSelection) {
102
+ var sel = window.getSelection();
103
+ if (sel.empty) {
104
+ sel.empty();
105
+ }
106
+ if (sel.removeAllRanges) {
107
+ sel.removeAllRanges();
108
+ }
109
+ }
110
+ }
111
+
112
+ /**
113
+ * Create a jQuery UI tooltip
114
+ *
115
+ * @param $elements jQuery object representing the elements
116
+ * @param item the item
117
+ * (see http://api.jqueryui.com/tooltip/#option-items)
118
+ * @param myContent content of the tooltip
119
+ * @param additionalOptions to override the default options
120
+ *
121
+ */
122
+ function PMA_tooltip($elements, item, myContent, additionalOptions)
123
+ {
124
+ if ($('#no_hint').length > 0) {
125
+ return;
126
+ }
127
+
128
+ var defaultOptions = {
129
+ content: myContent,
130
+ items: item,
131
+ tooltipClass: "tooltip",
132
+ track: true,
133
+ show: false,
134
+ hide: false
135
+ };
136
+
137
+ $elements.tooltip($.extend(true, defaultOptions, additionalOptions));
138
+ }
139
+
140
+ /**
141
+ * HTML escaping
142
+ */
143
+
144
+ function escapeHtml(unsafe) {
145
+ if (typeof(unsafe) != 'undefined') {
146
+ return unsafe
147
+ .replace(/&/g, "&")
148
+ .replace(/</g, "&lt;")
149
+ .replace(/>/g, "&gt;")
150
+ .replace(/"/g, "&quot;")
151
+ .replace(/'/g, "&#039;");
152
+ } else {
153
+ return false;
154
+ }
155
+ }
156
+
157
+ function PMA_sprintf() {
158
+ return sprintf.apply(this, arguments);
159
+ }
160
+
161
+ /**
162
+ * Hides/shows the default value input field, depending on the default type
163
+ * Ticks the NULL checkbox if NULL is chosen as default value.
164
+ */
165
+ function PMA_hideShowDefaultValue($default_type)
166
+ {
167
+ if ($default_type.val() == 'USER_DEFINED') {
168
+ $default_type.siblings('.default_value').show().focus();
169
+ } else {
170
+ $default_type.siblings('.default_value').hide();
171
+ if ($default_type.val() == 'NULL') {
172
+ var $null_checkbox = $default_type.closest('tr').find('.allow_null');
173
+ $null_checkbox.prop('checked', true);
174
+ }
175
+ }
176
+ }
177
+
178
+ /**
179
+ * Show notices for ENUM columns; add/hide the default value
180
+ *
181
+ */
182
+ function PMA_verifyColumnsProperties()
183
+ {
184
+ $("select.column_type").each(function () {
185
+ PMA_showNoticeForEnum($(this));
186
+ });
187
+ $("select.default_type").each(function () {
188
+ PMA_hideShowDefaultValue($(this));
189
+ });
190
+ }
191
+
192
+ /**
193
+ * Add a hidden field to the form to indicate that this will be an
194
+ * Ajax request (only if this hidden field does not exist)
195
+ *
196
+ * @param $form object the form
197
+ */
198
+ function PMA_prepareForAjaxRequest($form)
199
+ {
200
+ if (! $form.find('input:hidden').is('#ajax_request_hidden')) {
201
+ $form.append('<input type="hidden" id="ajax_request_hidden" name="ajax_request" value="true" />');
202
+ }
203
+ }
204
+
205
+ /**
206
+ * Generate a new password and copy it to the password input areas
207
+ *
208
+ * @param passwd_form object the form that holds the password fields
209
+ *
210
+ * @return boolean always true
211
+ */
212
+ function suggestPassword(passwd_form)
213
+ {
214
+ // restrict the password to just letters and numbers to avoid problems:
215
+ // "editors and viewers regard the password as multiple words and
216
+ // things like double click no longer work"
217
+ var pwchars = "abcdefhjmnpqrstuvwxyz23456789ABCDEFGHJKLMNPQRSTUVWYXZ";
218
+ var passwordlength = 16; // do we want that to be dynamic? no, keep it simple :)
219
+ var passwd = passwd_form.generated_pw;
220
+ passwd.value = '';
221
+
222
+ for (var i = 0; i < passwordlength; i++) {
223
+ passwd.value += pwchars.charAt(Math.floor(Math.random() * pwchars.length));
224
+ }
225
+ passwd_form.text_pma_pw.value = passwd.value;
226
+ passwd_form.text_pma_pw2.value = passwd.value;
227
+ return true;
228
+ }
229
+
230
+ /**
231
+ * Version string to integer conversion.
232
+ */
233
+ function parseVersionString(str)
234
+ {
235
+ if (typeof(str) != 'string') { return false; }
236
+ var add = 0;
237
+ // Parse possible alpha/beta/rc/
238
+ var state = str.split('-');
239
+ if (state.length >= 2) {
240
+ if (state[1].substr(0, 2) == 'rc') {
241
+ add = - 20 - parseInt(state[1].substr(2), 10);
242
+ } else if (state[1].substr(0, 4) == 'beta') {
243
+ add = - 40 - parseInt(state[1].substr(4), 10);
244
+ } else if (state[1].substr(0, 5) == 'alpha') {
245
+ add = - 60 - parseInt(state[1].substr(5), 10);
246
+ } else if (state[1].substr(0, 3) == 'dev') {
247
+ /* We don't handle dev, it's git snapshot */
248
+ add = 0;
249
+ }
250
+ }
251
+ // Parse version
252
+ var x = str.split('.');
253
+ // Use 0 for non existing parts
254
+ var maj = parseInt(x[0], 10) || 0;
255
+ var min = parseInt(x[1], 10) || 0;
256
+ var pat = parseInt(x[2], 10) || 0;
257
+ var hotfix = parseInt(x[3], 10) || 0;
258
+ return maj * 100000000 + min * 1000000 + pat * 10000 + hotfix * 100 + add;
259
+ }
260
+
261
+ /**
262
+ * Indicates current available version on main page.
263
+ */
264
+ function PMA_current_version(data)
265
+ {
266
+ if (data && data.version && data.date) {
267
+ var current = parseVersionString($('span.version').text());
268
+ var latest = parseVersionString(data.version);
269
+ var version_information_message = '<span class="latest">' +
270
+ PMA_messages.strLatestAvailable +
271
+ ' ' + escapeHtml(data.version) +
272
+ '</span>';
273
+ if (latest > current) {
274
+ var message = PMA_sprintf(
275
+ PMA_messages.strNewerVersion,
276
+ escapeHtml(data.version),
277
+ escapeHtml(data.date)
278
+ );
279
+ var htmlClass = 'notice';
280
+ if (Math.floor(latest / 10000) === Math.floor(current / 10000)) {
281
+ /* Security update */
282
+ htmlClass = 'error';
283
+ }
284
+ $('#newer_version_notice').remove();
285
+ $('#maincontainer').after('<div id="newer_version_notice" class="' + htmlClass + '">' + message + '</div>');
286
+ }
287
+ if (latest === current) {
288
+ version_information_message = ' (' + PMA_messages.strUpToDate + ')';
289
+ }
290
+ $('#li_pma_version span.latest').remove();
291
+ $('#li_pma_version').append(version_information_message);
292
+ }
293
+ }
294
+
295
+ /**
296
+ * Loads Git revision data from ajax for index.php
297
+ */
298
+ function PMA_display_git_revision()
299
+ {
300
+ $('#is_git_revision').remove();
301
+ $('#li_pma_version_git').remove();
302
+ $.get(
303
+ "index.php",
304
+ {
305
+ "server": PMA_commonParams.get('server'),
306
+ "token": PMA_commonParams.get('token'),
307
+ "git_revision": true,
308
+ "ajax_request": true
309
+ },
310
+ function (data) {
311
+ if (typeof data !== 'undefined' && data.success === true) {
312
+ $(data.message).insertAfter('#li_pma_version');
313
+ }
314
+ }
315
+ );
316
+ }
317
+
318
+ /**
319
+ * for libraries/display_change_password.lib.php
320
+ * libraries/user_password.php
321
+ *
322
+ */
323
+
324
+ function displayPasswordGenerateButton()
325
+ {
326
+ $('#tr_element_before_generate_password').parent().append('<tr class="vmiddle"><td>' + PMA_messages.strGeneratePassword + '</td><td><input type="button" class="button" id="button_generate_password" value="' + PMA_messages.strGenerate + '" onclick="suggestPassword(this.form)" /><input type="text" name="generated_pw" id="generated_pw" /></td></tr>');
327
+ $('#div_element_before_generate_password').parent().append('<div class="item"><label for="button_generate_password">' + PMA_messages.strGeneratePassword + ':</label><span class="options"><input type="button" class="button" id="button_generate_password" value="' + PMA_messages.strGenerate + '" onclick="suggestPassword(this.form)" /></span><input type="text" name="generated_pw" id="generated_pw" /></div>');
328
+ }
329
+
330
+ /*
331
+ * Adds a date/time picker to an element
332
+ *
333
+ * @param object $this_element a jQuery object pointing to the element
334
+ */
335
+ function PMA_addDatepicker($this_element, type, options)
336
+ {
337
+ var showTimepicker = true;
338
+ if (type=="date") {
339
+ showTimepicker = false;
340
+ }
341
+
342
+ var defaultOptions = {
343
+ showOn: 'button',
344
+ buttonImage: themeCalendarImage, // defined in js/messages.php
345
+ buttonImageOnly: true,
346
+ stepMinutes: 1,
347
+ stepHours: 1,
348
+ showSecond: true,
349
+ showMillisec: true,
350
+ showMicrosec: true,
351
+ showTimepicker: showTimepicker,
352
+ showButtonPanel: false,
353
+ dateFormat: 'yy-mm-dd', // yy means year with four digits
354
+ timeFormat: 'HH:mm:ss.lc',
355
+ constrainInput: false,
356
+ altFieldTimeOnly: false,
357
+ showAnim: '',
358
+ beforeShow: function (input, inst) {
359
+ // Remember that we came from the datepicker; this is used
360
+ // in tbl_change.js by verificationsAfterFieldChange()
361
+ $this_element.data('comes_from', 'datepicker');
362
+ if ($(input).closest('.cEdit').length > 0) {
363
+ setTimeout(function () {
364
+ inst.dpDiv.css({
365
+ top: 0,
366
+ left: 0,
367
+ position: 'relative'
368
+ });
369
+ }, 0);
370
+ }
371
+ // Fix wrong timepicker z-index, doesn't work without timeout
372
+ setTimeout(function () {
373
+ $('#ui-timepicker-div').css('z-index', $('#ui-datepicker-div').css('z-index'));
374
+ }, 0);
375
+ },
376
+ onSelect: function() {
377
+ $this_element.data('datepicker').inline = true;
378
+ },
379
+ onClose: function (dateText, dp_inst) {
380
+ // The value is no more from the date picker
381
+ $this_element.data('comes_from', '');
382
+ }
383
+ };
384
+ if (type == "datetime" || type == "timestamp") {
385
+ $this_element.datetimepicker($.extend(defaultOptions, options));
386
+ }
387
+ else if (type == "date") {
388
+ $this_element.datetimepicker($.extend(defaultOptions, options));
389
+ }
390
+ else if (type == "time") {
391
+ $this_element.timepicker($.extend(defaultOptions, options));
392
+ }
393
+ }
394
+
395
+ /**
396
+ * selects the content of a given object, f.e. a textarea
397
+ *
398
+ * @param element object element of which the content will be selected
399
+ * @param lock var variable which holds the lock for this element
400
+ * or true, if no lock exists
401
+ * @param only_once boolean if true this is only done once
402
+ * f.e. only on first focus
403
+ */
404
+ function selectContent(element, lock, only_once)
405
+ {
406
+ if (only_once && only_once_elements[element.name]) {
407
+ return;
408
+ }
409
+
410
+ only_once_elements[element.name] = true;
411
+
412
+ if (lock) {
413
+ return;
414
+ }
415
+
416
+ element.select();
417
+ }
418
+
419
+ /**
420
+ * Displays a confirmation box before submitting a "DROP/DELETE/ALTER" query.
421
+ * This function is called while clicking links
422
+ *
423
+ * @param theLink object the link
424
+ * @param theSqlQuery object the sql query to submit
425
+ *
426
+ * @return boolean whether to run the query or not
427
+ */
428
+ function confirmLink(theLink, theSqlQuery)
429
+ {
430
+ // Confirmation is not required in the configuration file
431
+ // or browser is Opera (crappy js implementation)
432
+ if (PMA_messages.strDoYouReally === '' || typeof(window.opera) != 'undefined') {
433
+ return true;
434
+ }
435
+
436
+ var is_confirmed = confirm(PMA_sprintf(PMA_messages.strDoYouReally, theSqlQuery));
437
+ if (is_confirmed) {
438
+ if ($(theLink).hasClass('formLinkSubmit')) {
439
+ var name = 'is_js_confirmed';
440
+ if ($(theLink).attr('href').indexOf('usesubform') != -1) {
441
+ name = 'subform[' + $(theLink).attr('href').substr('#').match(/usesubform\[(\d+)\]/i)[1] + '][is_js_confirmed]';
442
+ }
443
+
444
+ $(theLink).parents('form').append('<input type="hidden" name="' + name + '" value="1" />');
445
+ } else if (typeof(theLink.href) != 'undefined') {
446
+ theLink.href += '&is_js_confirmed=1';
447
+ } else if (typeof(theLink.form) != 'undefined') {
448
+ theLink.form.action += '?is_js_confirmed=1';
449
+ }
450
+ }
451
+
452
+ return is_confirmed;
453
+ } // end of the 'confirmLink()' function
454
+
455
+ /**
456
+ * Displays an error message if a "DROP DATABASE" statement is submitted
457
+ * while it isn't allowed, else confirms a "DROP/DELETE/ALTER" query before
458
+ * submitting it if required.
459
+ * This function is called by the 'checkSqlQuery()' js function.
460
+ *
461
+ * @param theForm1 object the form
462
+ * @param sqlQuery1 object the sql query textarea
463
+ *
464
+ * @return boolean whether to run the query or not
465
+ *
466
+ * @see checkSqlQuery()
467
+ */
468
+ function confirmQuery(theForm1, sqlQuery1)
469
+ {
470
+ // Confirmation is not required in the configuration file
471
+ if (PMA_messages.strDoYouReally === '') {
472
+ return true;
473
+ }
474
+
475
+ // "DROP DATABASE" statement isn't allowed
476
+ if (PMA_messages.strNoDropDatabases !== '') {
477
+ var drop_re = new RegExp('(^|;)\\s*DROP\\s+(IF EXISTS\\s+)?DATABASE\\s', 'i');
478
+ if (drop_re.test(sqlQuery1.value)) {
479
+ alert(PMA_messages.strNoDropDatabases);
480
+ theForm1.reset();
481
+ sqlQuery1.focus();
482
+ return false;
483
+ } // end if
484
+ } // end if
485
+
486
+ // Confirms a "DROP/DELETE/ALTER/TRUNCATE" statement
487
+ //
488
+ // TODO: find a way (if possible) to use the parser-analyser
489
+ // for this kind of verification
490
+ // For now, I just added a ^ to check for the statement at
491
+ // beginning of expression
492
+
493
+ var do_confirm_re_0 = new RegExp('^\\s*DROP\\s+(IF EXISTS\\s+)?(TABLE|DATABASE|PROCEDURE)\\s', 'i');
494
+ var do_confirm_re_1 = new RegExp('^\\s*ALTER\\s+TABLE\\s+((`[^`]+`)|([A-Za-z0-9_$]+))\\s+DROP\\s', 'i');
495
+ var do_confirm_re_2 = new RegExp('^\\s*DELETE\\s+FROM\\s', 'i');
496
+ var do_confirm_re_3 = new RegExp('^\\s*TRUNCATE\\s', 'i');
497
+
498
+ if (do_confirm_re_0.test(sqlQuery1.value) ||
499
+ do_confirm_re_1.test(sqlQuery1.value) ||
500
+ do_confirm_re_2.test(sqlQuery1.value) ||
501
+ do_confirm_re_3.test(sqlQuery1.value)) {
502
+ var message;
503
+ if (sqlQuery1.value.length > 100) {
504
+ message = sqlQuery1.value.substr(0, 100) + '\n ...';
505
+ } else {
506
+ message = sqlQuery1.value;
507
+ }
508
+ var is_confirmed = confirm(PMA_sprintf(PMA_messages.strDoYouReally, message));
509
+ // statement is confirmed -> update the
510
+ // "is_js_confirmed" form field so the confirm test won't be
511
+ // run on the server side and allows to submit the form
512
+ if (is_confirmed) {
513
+ theForm1.elements.is_js_confirmed.value = 1;
514
+ return true;
515
+ }
516
+ // statement is rejected -> do not submit the form
517
+ else {
518
+ window.focus();
519
+ sqlQuery1.focus();
520
+ return false;
521
+ } // end if (handle confirm box result)
522
+ } // end if (display confirm box)
523
+
524
+ return true;
525
+ } // end of the 'confirmQuery()' function
526
+
527
+ /**
528
+ * Displays an error message if the user submitted the sql query form with no
529
+ * sql query, else checks for "DROP/DELETE/ALTER" statements
530
+ *
531
+ * @param theForm object the form
532
+ *
533
+ * @return boolean always false
534
+ *
535
+ * @see confirmQuery()
536
+ */
537
+ function checkSqlQuery(theForm)
538
+ {
539
+ // get the textarea element containing the query
540
+ var sqlQuery;
541
+ if (codemirror_editor) {
542
+ codemirror_editor.save();
543
+ sqlQuery = codemirror_editor.getValue();
544
+ } else {
545
+ sqlQuery = theForm.elements.sql_query.value;
546
+ }
547
+ var isEmpty = 1;
548
+ var space_re = new RegExp('\\s+');
549
+ if (typeof(theForm.elements.sql_file) != 'undefined' &&
550
+ theForm.elements.sql_file.value.replace(space_re, '') !== '') {
551
+ return true;
552
+ }
553
+ if (typeof(theForm.elements.sql_localfile) != 'undefined' &&
554
+ theForm.elements.sql_localfile.value.replace(space_re, '') !== '') {
555
+ return true;
556
+ }
557
+ if (isEmpty && typeof(theForm.elements.id_bookmark) != 'undefined' &&
558
+ (theForm.elements.id_bookmark.value !== null || theForm.elements.id_bookmark.value !== '') &&
559
+ theForm.elements.id_bookmark.selectedIndex !== 0) {
560
+ return true;
561
+ }
562
+ // Checks for "DROP/DELETE/ALTER" statements
563
+ if (sqlQuery.replace(space_re, '') !== '') {
564
+ return confirmQuery(theForm, sqlQuery);
565
+ }
566
+ theForm.reset();
567
+ isEmpty = 1;
568
+
569
+ if (isEmpty) {
570
+ alert(PMA_messages.strFormEmpty);
571
+ codemirror_editor.focus();
572
+ return false;
573
+ }
574
+
575
+ return true;
576
+ } // end of the 'checkSqlQuery()' function
577
+
578
+ /**
579
+ * Check if a form's element is empty.
580
+ * An element containing only spaces is also considered empty
581
+ *
582
+ * @param object the form
583
+ * @param string the name of the form field to put the focus on
584
+ *
585
+ * @return boolean whether the form field is empty or not
586
+ */
587
+ function emptyCheckTheField(theForm, theFieldName)
588
+ {
589
+ var theField = theForm.elements[theFieldName];
590
+ var space_re = new RegExp('\\s+');
591
+ return theField.value.replace(space_re, '') === '';
592
+ } // end of the 'emptyCheckTheField()' function
593
+
594
+ /**
595
+ * Ensures a value submitted in a form is numeric and is in a range
596
+ *
597
+ * @param object the form
598
+ * @param string the name of the form field to check
599
+ * @param integer the minimum authorized value
600
+ * @param integer the maximum authorized value
601
+ *
602
+ * @return boolean whether a valid number has been submitted or not
603
+ */
604
+ function checkFormElementInRange(theForm, theFieldName, message, min, max)
605
+ {
606
+ var theField = theForm.elements[theFieldName];
607
+ var val = parseInt(theField.value, 10);
608
+
609
+ if (typeof(min) == 'undefined') {
610
+ min = 0;
611
+ }
612
+ if (typeof(max) == 'undefined') {
613
+ max = Number.MAX_VALUE;
614
+ }
615
+
616
+ // It's not a number
617
+ if (isNaN(val)) {
618
+ theField.select();
619
+ alert(PMA_messages.strEnterValidNumber);
620
+ theField.focus();
621
+ return false;
622
+ }
623
+ // It's a number but it is not between min and max
624
+ else if (val < min || val > max) {
625
+ theField.select();
626
+ alert(PMA_sprintf(message, val));
627
+ theField.focus();
628
+ return false;
629
+ }
630
+ // It's a valid number
631
+ else {
632
+ theField.value = val;
633
+ }
634
+ return true;
635
+
636
+ } // end of the 'checkFormElementInRange()' function
637
+
638
+
639
+ function checkTableEditForm(theForm, fieldsCnt)
640
+ {
641
+ // TODO: avoid sending a message if user just wants to add a line
642
+ // on the form but has not completed at least one field name
643
+
644
+ var atLeastOneField = 0;
645
+ var i, elm, elm2, elm3, val, id;
646
+
647
+ for (i = 0; i < fieldsCnt; i++) {
648
+ id = "#field_" + i + "_2";
649
+ elm = $(id);
650
+ val = elm.val();
651
+ if (val == 'VARCHAR' || val == 'CHAR' || val == 'BIT' || val == 'VARBINARY' || val == 'BINARY') {
652
+ elm2 = $("#field_" + i + "_3");
653
+ val = parseInt(elm2.val(), 10);
654
+ elm3 = $("#field_" + i + "_1");
655
+ if (isNaN(val) && elm3.val() !== "") {
656
+ elm2.select();
657
+ alert(PMA_messages.strEnterValidLength);
658
+ elm2.focus();
659
+ return false;
660
+ }
661
+ }
662
+
663
+ if (atLeastOneField === 0) {
664
+ id = "field_" + i + "_1";
665
+ if (!emptyCheckTheField(theForm, id)) {
666
+ atLeastOneField = 1;
667
+ }
668
+ }
669
+ }
670
+ if (atLeastOneField === 0) {
671
+ var theField = theForm.elements.field_0_1;
672
+ alert(PMA_messages.strFormEmpty);
673
+ theField.focus();
674
+ return false;
675
+ }
676
+
677
+ // at least this section is under jQuery
678
+ if ($("input.textfield[name='table']").val() === "") {
679
+ alert(PMA_messages.strFormEmpty);
680
+ $("input.textfield[name='table']").focus();
681
+ return false;
682
+ }
683
+
684
+ return true;
685
+ } // enf of the 'checkTableEditForm()' function
686
+
687
+ /**
688
+ * True if last click is to check a row.
689
+ */
690
+ var last_click_checked = false;
691
+
692
+ /**
693
+ * Zero-based index of last clicked row.
694
+ * Used to handle the shift + click event in the code above.
695
+ */
696
+ var last_clicked_row = -1;
697
+
698
+ /**
699
+ * Zero-based index of last shift clicked row.
700
+ */
701
+ var last_shift_clicked_row = -1;
702
+
703
+ var _idleSecondsCounter = 0;
704
+ var IncInterval;
705
+ var updateInterval;
706
+ AJAX.registerTeardown('functions.js', function () {
707
+ clearInterval(updateInterval);
708
+ clearInterval(IncInterval);
709
+ $(document).off('mousemove');
710
+ });
711
+
712
+ AJAX.registerOnload('functions.js', function () {
713
+ document.onclick = function() {
714
+ _idleSecondsCounter = 0;
715
+ };
716
+ $(document).on('mousemove',function() {
717
+ _idleSecondsCounter = 0;
718
+ });
719
+ document.onkeypress = function() {
720
+ _idleSecondsCounter = 0;
721
+ };
722
+
723
+ function SetIdleTime() {
724
+ _idleSecondsCounter++;
725
+ }
726
+ function UpdateIdleTime() {
727
+ var href = 'index.php';
728
+ var params = {
729
+ 'ajax_request' : true,
730
+ 'token' : PMA_commonParams.get('token'),
731
+ 'server' : PMA_commonParams.get('server'),
732
+ 'db' : PMA_commonParams.get('db'),
733
+ 'access_time':_idleSecondsCounter
734
+ };
735
+ $.ajax({
736
+ type: 'POST',
737
+ url: href,
738
+ data: params,
739
+ success: function (data) {
740
+ clearInterval(updateInterval);
741
+ if (data.success) {
742
+ if (PMA_commonParams.get('LoginCookieValidity')-_idleSecondsCounter > 5) {
743
+ var interval = (PMA_commonParams.get('LoginCookieValidity') - _idleSecondsCounter - 5) * 1000;
744
+ if (interval > Math.pow(2, 31) - 1) { // max value for setInterval() function
745
+ interval = Math.pow(2, 31) - 1;
746
+ }
747
+ updateInterval = window.setInterval(UpdateIdleTime, interval);
748
+ } else {
749
+ updateInterval = window.setInterval(UpdateIdleTime, 2000);
750
+ }
751
+ } else { //timeout occurred
752
+ window.location.reload(true);
753
+ clearInterval(IncInterval);
754
+ }
755
+ }
756
+ });
757
+ }
758
+ if (PMA_commonParams.get('logged_in') && PMA_commonParams.get('auth_type') == 'cookie') {
759
+ IncInterval = window.setInterval(SetIdleTime, 1000);
760
+ var interval = (PMA_commonParams.get('LoginCookieValidity') - 5) * 1000;
761
+ if (interval > Math.pow(2, 31) - 1) { // max value for setInterval() function
762
+ interval = Math.pow(2, 31) - 1;
763
+ }
764
+ updateInterval = window.setInterval(UpdateIdleTime, interval);
765
+ }
766
+ });
767
+ /**
768
+ * Unbind all event handlers before tearing down a page
769
+ */
770
+ AJAX.registerTeardown('functions.js', function () {
771
+ $(document).off('click', 'input:checkbox.checkall');
772
+ });
773
+ AJAX.registerOnload('functions.js', function () {
774
+ /**
775
+ * Row marking in horizontal mode (use "on" so that it works also for
776
+ * next pages reached via AJAX); a tr may have the class noclick to remove
777
+ * this behavior.
778
+ */
779
+
780
+ $(document).on('click', 'input:checkbox.checkall', function (e) {
781
+ var $tr = $(this).closest('tr');
782
+
783
+ // make the table unselectable (to prevent default highlighting when shift+click)
784
+ //$tr.parents('table').noSelect();
785
+
786
+ if (!e.shiftKey || last_clicked_row == -1) {
787
+ // usual click
788
+
789
+ // XXX: FF fires two click events for <label> (label and checkbox), so we need to handle this differently
790
+ var $checkbox = $tr.find(':checkbox');
791
+ if ($checkbox.length) {
792
+ // checkbox in a row, add or remove class depending on checkbox state
793
+ var checked = $checkbox.prop('checked');
794
+ if (!$(e.target).is(':checkbox, label')) {
795
+ checked = !checked;
796
+ $checkbox.prop('checked', checked).trigger('change');
797
+ }
798
+ if (checked) {
799
+ $tr.addClass('marked');
800
+ } else {
801
+ $tr.removeClass('marked');
802
+ }
803
+ last_click_checked = checked;
804
+ } else {
805
+ // normal data table, just toggle class
806
+ $tr.toggleClass('marked');
807
+ last_click_checked = false;
808
+ }
809
+
810
+ // remember the last clicked row
811
+ last_clicked_row = last_click_checked ? $('tr.odd:not(.noclick), tr.even:not(.noclick)').index($tr) : -1;
812
+ last_shift_clicked_row = -1;
813
+ } else {
814
+ // handle the shift click
815
+ PMA_clearSelection();
816
+ var start, end;
817
+
818
+ // clear last shift click result
819
+ if (last_shift_clicked_row >= 0) {
820
+ if (last_shift_clicked_row >= last_clicked_row) {
821
+ start = last_clicked_row;
822
+ end = last_shift_clicked_row;
823
+ } else {
824
+ start = last_shift_clicked_row;
825
+ end = last_clicked_row;
826
+ }
827
+ $tr.parent().find('tr.odd:not(.noclick), tr.even:not(.noclick)')
828
+ .slice(start, end + 1)
829
+ .removeClass('marked')
830
+ .find(':checkbox')
831
+ .prop('checked', false)
832
+ .trigger('change');
833
+ }
834
+
835
+ // handle new shift click
836
+ var curr_row = $('tr.odd:not(.noclick), tr.even:not(.noclick)').index($tr);
837
+ if (curr_row >= last_clicked_row) {
838
+ start = last_clicked_row;
839
+ end = curr_row;
840
+ } else {
841
+ start = curr_row;
842
+ end = last_clicked_row;
843
+ }
844
+ $tr.parent().find('tr.odd:not(.noclick), tr.even:not(.noclick)')
845
+ .slice(start, end + 1)
846
+ .addClass('marked')
847
+ .find(':checkbox')
848
+ .prop('checked', true)
849
+ .trigger('change');
850
+
851
+ // remember the last shift clicked row
852
+ last_shift_clicked_row = curr_row;
853
+ }
854
+ });
855
+
856
+ addDateTimePicker();
857
+
858
+ /**
859
+ * Add attribute to text boxes for iOS devices (based on bugID: 3508912)
860
+ */
861
+ if (navigator.userAgent.match(/(iphone|ipod|ipad)/i)) {
862
+ $('input[type=text]').attr('autocapitalize', 'off').attr('autocorrect', 'off');
863
+ }
864
+ });
865
+
866
+ /**
867
+ * Row highlighting in horizontal mode (use "on"
868
+ * so that it works also for pages reached via AJAX)
869
+ */
870
+ /*AJAX.registerOnload('functions.js', function () {
871
+ $(document).on('hover', 'tr.odd, tr.even',function (event) {
872
+ var $tr = $(this);
873
+ $tr.toggleClass('hover',event.type=='mouseover');
874
+ $tr.children().toggleClass('hover',event.type=='mouseover');
875
+ });
876
+ })*/
877
+
878
+ /**
879
+ * This array is used to remember mark status of rows in browse mode
880
+ */
881
+ var marked_row = [];
882
+
883
+ /**
884
+ * marks all rows and selects its first checkbox inside the given element
885
+ * the given element is usually a table or a div containing the table or tables
886
+ *
887
+ * @param container DOM element
888
+ */
889
+ function markAllRows(container_id)
890
+ {
891
+
892
+ $("#" + container_id).find("input:checkbox:enabled").prop('checked', true)
893
+ .trigger("change")
894
+ .parents("tr").addClass("marked");
895
+ return true;
896
+ }
897
+
898
+ /**
899
+ * marks all rows and selects its first checkbox inside the given element
900
+ * the given element is usually a table or a div containing the table or tables
901
+ *
902
+ * @param container DOM element
903
+ */
904
+ function unMarkAllRows(container_id)
905
+ {
906
+
907
+ $("#" + container_id).find("input:checkbox:enabled").prop('checked', false)
908
+ .trigger("change")
909
+ .parents("tr").removeClass("marked");
910
+ return true;
911
+ }
912
+
913
+ /**
914
+ * Checks/unchecks all checkbox in given container (f.e. a form, fieldset or div)
915
+ *
916
+ * @param string container_id the container id
917
+ * @param boolean state new value for checkbox (true or false)
918
+ * @return boolean always true
919
+ */
920
+ function setCheckboxes(container_id, state)
921
+ {
922
+
923
+ $("#" + container_id).find("input:checkbox").prop('checked', state);
924
+ return true;
925
+ } // end of the 'setCheckboxes()' function
926
+
927
+ /**
928
+ * Checks/unchecks all options of a <select> element
929
+ *
930
+ * @param string the form name
931
+ * @param string the element name
932
+ * @param boolean whether to check or to uncheck options
933
+ *
934
+ * @return boolean always true
935
+ */
936
+ function setSelectOptions(the_form, the_select, do_check)
937
+ {
938
+ $("form[name='" + the_form + "'] select[name='" + the_select + "']").find("option").prop('selected', do_check);
939
+ return true;
940
+ } // end of the 'setSelectOptions()' function
941
+
942
+ /**
943
+ * Sets current value for query box.
944
+ */
945
+ function setQuery(query)
946
+ {
947
+ if (codemirror_editor) {
948
+ codemirror_editor.setValue(query);
949
+ codemirror_editor.focus();
950
+ } else {
951
+ document.sqlform.sql_query.value = query;
952
+ document.sqlform.sql_query.focus();
953
+ }
954
+ }
955
+
956
+ /**
957
+ * Handles 'Simulate query' button on SQL query box.
958
+ *
959
+ * @return void
960
+ */
961
+ function PMA_handleSimulateQueryButton()
962
+ {
963
+ var update_re = new RegExp('^\\s*UPDATE\\s+((`[^`]+`)|([A-Za-z0-9_$]+))\\s+SET\\s', 'i');
964
+ var delete_re = new RegExp('^\\s*DELETE\\s+FROM\\s', 'i');
965
+ var query = '';
966
+
967
+ if (codemirror_editor) {
968
+ query = codemirror_editor.getValue();
969
+ } else {
970
+ query = $('#sqlquery').val();
971
+ }
972
+
973
+ if (update_re.test(query) || delete_re.test(query)) {
974
+ if (! $('#simulate_dml').length) {
975
+ $('#button_submit_query')
976
+ .before('<input type="button" id="simulate_dml"' +
977
+ 'tabindex="199" value="' +
978
+ PMA_messages.strSimulateDML +
979
+ '" />');
980
+ }
981
+ } else {
982
+ if ($('#simulate_dml').length) {
983
+ $('#simulate_dml').remove();
984
+ }
985
+ }
986
+ }
987
+
988
+ /**
989
+ * Create quick sql statements.
990
+ *
991
+ */
992
+ function insertQuery(queryType)
993
+ {
994
+ if (queryType == "clear") {
995
+ setQuery('');
996
+ return;
997
+ } else if (queryType == "format") {
998
+ if (codemirror_editor) {
999
+ $('#querymessage').html(PMA_messages.strFormatting
1000
+ + '&nbsp;<img class="ajaxIcon" src="'
1001
+ + pmaThemeImage + 'ajax_clock_small.gif" alt="">');
1002
+ var href = 'db_sql_format.php';
1003
+ var params = {
1004
+ 'ajax_request': true,
1005
+ 'token': PMA_commonParams.get('token'),
1006
+ 'sql': codemirror_editor.getValue()
1007
+ };
1008
+ $.ajax({
1009
+ type: 'POST',
1010
+ url: href,
1011
+ data: params,
1012
+ success: function (data) {
1013
+ if (data.success) {
1014
+ codemirror_editor.setValue(data.sql);
1015
+ }
1016
+ $('#querymessage').html('');
1017
+ }
1018
+ });
1019
+ }
1020
+ return;
1021
+ } else if (queryType == "saved") {
1022
+ if ($.cookie('auto_saved_sql')) {
1023
+ setQuery($.cookie('auto_saved_sql'));
1024
+ } else {
1025
+ PMA_ajaxShowMessage(PMA_messages.strNoAutoSavedQuery);
1026
+ }
1027
+ return;
1028
+ }
1029
+
1030
+ var query = "";
1031
+ var myListBox = document.sqlform.dummy;
1032
+ var table = document.sqlform.table.value;
1033
+
1034
+ if (myListBox.options.length > 0) {
1035
+ sql_box_locked = true;
1036
+ var columnsList = "";
1037
+ var valDis = "";
1038
+ var editDis = "";
1039
+ var NbSelect = 0;
1040
+ for (var i = 0; i < myListBox.options.length; i++) {
1041
+ NbSelect++;
1042
+ if (NbSelect > 1) {
1043
+ columnsList += ", ";
1044
+ valDis += ",";
1045
+ editDis += ",";
1046
+ }
1047
+ columnsList += myListBox.options[i].value;
1048
+ valDis += "[value-" + NbSelect + "]";
1049
+ editDis += myListBox.options[i].value + "=[value-" + NbSelect + "]";
1050
+ }
1051
+ if (queryType == "selectall") {
1052
+ query = "SELECT * FROM `" + table + "` WHERE 1";
1053
+ } else if (queryType == "select") {
1054
+ query = "SELECT " + columnsList + " FROM `" + table + "` WHERE 1";
1055
+ } else if (queryType == "insert") {
1056
+ query = "INSERT INTO `" + table + "`(" + columnsList + ") VALUES (" + valDis + ")";
1057
+ } else if (queryType == "update") {
1058
+ query = "UPDATE `" + table + "` SET " + editDis + " WHERE 1";
1059
+ } else if (queryType == "delete") {
1060
+ query = "DELETE FROM `" + table + "` WHERE 1";
1061
+ }
1062
+ setQuery(query);
1063
+ sql_box_locked = false;
1064
+ }
1065
+ }
1066
+
1067
+
1068
+ /**
1069
+ * Inserts multiple fields.
1070
+ *
1071
+ */
1072
+ function insertValueQuery()
1073
+ {
1074
+ var myQuery = document.sqlform.sql_query;
1075
+ var myListBox = document.sqlform.dummy;
1076
+
1077
+ if (myListBox.options.length > 0) {
1078
+ sql_box_locked = true;
1079
+ var columnsList = "";
1080
+ var NbSelect = 0;
1081
+ for (var i = 0; i < myListBox.options.length; i++) {
1082
+ if (myListBox.options[i].selected) {
1083
+ NbSelect++;
1084
+ if (NbSelect > 1) {
1085
+ columnsList += ", ";
1086
+ }
1087
+ columnsList += myListBox.options[i].value;
1088
+ }
1089
+ }
1090
+
1091
+ /* CodeMirror support */
1092
+ if (codemirror_editor) {
1093
+ codemirror_editor.replaceSelection(columnsList);
1094
+ //IE support
1095
+ } else if (document.selection) {
1096
+ myQuery.focus();
1097
+ var sel = document.selection.createRange();
1098
+ sel.text = columnsList;
1099
+ document.sqlform.insert.focus();
1100
+ }
1101
+ //MOZILLA/NETSCAPE support
1102
+ else if (document.sqlform.sql_query.selectionStart || document.sqlform.sql_query.selectionStart == "0") {
1103
+ var startPos = document.sqlform.sql_query.selectionStart;
1104
+ var endPos = document.sqlform.sql_query.selectionEnd;
1105
+ var SqlString = document.sqlform.sql_query.value;
1106
+
1107
+ myQuery.value = SqlString.substring(0, startPos) + columnsList + SqlString.substring(endPos, SqlString.length);
1108
+ } else {
1109
+ myQuery.value += columnsList;
1110
+ }
1111
+ sql_box_locked = false;
1112
+ }
1113
+ }
1114
+
1115
+ /**
1116
+ * Add a date/time picker to each element that needs it
1117
+ * (only when jquery-ui-timepicker-addon.js is loaded)
1118
+ */
1119
+ function addDateTimePicker() {
1120
+ if ($.timepicker !== undefined) {
1121
+ $('input.timefield, input.datefield, input.datetimefield').each(function () {
1122
+
1123
+ var decimals = $(this).parent().attr('data-decimals');
1124
+ var type = $(this).parent().attr('data-type');
1125
+
1126
+ var showMillisec = false;
1127
+ var showMicrosec = false;
1128
+ var timeFormat = 'HH:mm:ss';
1129
+ // check for decimal places of seconds
1130
+ if (decimals > 0 && type.indexOf('time') != -1){
1131
+ if (decimals > 3) {
1132
+ showMillisec = true;
1133
+ showMicrosec = true;
1134
+ timeFormat = 'HH:mm:ss.lc';
1135
+ } else {
1136
+ showMillisec = true;
1137
+ timeFormat = 'HH:mm:ss.l';
1138
+ }
1139
+ }
1140
+ PMA_addDatepicker($(this), type, {
1141
+ showMillisec: showMillisec,
1142
+ showMicrosec: showMicrosec,
1143
+ timeFormat: timeFormat
1144
+ });
1145
+ });
1146
+ }
1147
+ }
1148
+
1149
+ /**
1150
+ * Refresh/resize the WYSIWYG scratchboard
1151
+ */
1152
+ function refreshLayout()
1153
+ {
1154
+ var $elm = $('#pdflayout');
1155
+ var orientation = $('#orientation_opt').val();
1156
+ var paper = 'A4';
1157
+ if ($('#paper_opt').length == 1) {
1158
+ paper = $('#paper_opt').val();
1159
+ }
1160
+ var posa = 'y';
1161
+ var posb = 'x';
1162
+ if (orientation == 'P') {
1163
+ posa = 'x';
1164
+ posb = 'y';
1165
+ }
1166
+ $elm.css('width', pdfPaperSize(paper, posa) + 'px');
1167
+ $elm.css('height', pdfPaperSize(paper, posb) + 'px');
1168
+ }
1169
+
1170
+ /**
1171
+ * Initializes positions of elements.
1172
+ */
1173
+ function TableDragInit() {
1174
+ $('.pdflayout_table').each(function () {
1175
+ var $this = $(this);
1176
+ var number = $this.data('number');
1177
+ var x = $('#c_table_' + number + '_x').val();
1178
+ var y = $('#c_table_' + number + '_y').val();
1179
+ $this.css('left', x + 'px');
1180
+ $this.css('top', y + 'px');
1181
+ /* Make elements draggable */
1182
+ $this.draggable({
1183
+ containment: "parent",
1184
+ drag: function (evt, ui) {
1185
+ var number = $this.data('number');
1186
+ $('#c_table_' + number + '_x').val(parseInt(ui.position.left, 10));
1187
+ $('#c_table_' + number + '_y').val(parseInt(ui.position.top, 10));
1188
+ }
1189
+ });
1190
+ });
1191
+ }
1192
+
1193
+ /**
1194
+ * Resets drag and drop positions.
1195
+ */
1196
+ function resetDrag() {
1197
+ $('.pdflayout_table').each(function () {
1198
+ var $this = $(this);
1199
+ var x = $this.data('x');
1200
+ var y = $this.data('y');
1201
+ $this.css('left', x + 'px');
1202
+ $this.css('top', y + 'px');
1203
+ });
1204
+ }
1205
+
1206
+ /**
1207
+ * User schema handlers.
1208
+ */
1209
+ $(function () {
1210
+ /* Move in scratchboard on manual change */
1211
+ $(document).on('change', '.position-change', function () {
1212
+ var $this = $(this);
1213
+ var $elm = $('#table_' + $this.data('number'));
1214
+ $elm.css($this.data('axis'), $this.val() + 'px');
1215
+ });
1216
+ /* Refresh on paper size/orientation change */
1217
+ $(document).on('change', '.paper-change', function () {
1218
+ var $elm = $('#pdflayout');
1219
+ if ($elm.css('visibility') == 'visible') {
1220
+ refreshLayout();
1221
+ TableDragInit();
1222
+ }
1223
+ });
1224
+ /* Show/hide the WYSIWYG scratchboard */
1225
+ $(document).on('click', '#toggle-dragdrop', function () {
1226
+ var $elm = $('#pdflayout');
1227
+ if ($elm.css('visibility') == 'hidden') {
1228
+ refreshLayout();
1229
+ TableDragInit();
1230
+ $elm.css('visibility', 'visible');
1231
+ $elm.css('display', 'block');
1232
+ $('#showwysiwyg').val('1');
1233
+ } else {
1234
+ $elm.css('visibility', 'hidden');
1235
+ $elm.css('display', 'none');
1236
+ $('#showwysiwyg').val('0');
1237
+ }
1238
+ });
1239
+ /* Reset scratchboard */
1240
+ $(document).on('click', '#reset-dragdrop', function () {
1241
+ resetDrag();
1242
+ });
1243
+ });
1244
+
1245
+ /**
1246
+ * Returns paper sizes for a given format
1247
+ */
1248
+ function pdfPaperSize(format, axis)
1249
+ {
1250
+ switch (format.toUpperCase()) {
1251
+ case '4A0':
1252
+ if (axis == 'x') {
1253
+ return 4767.87;
1254
+ } else {
1255
+ return 6740.79;
1256
+ }
1257
+ break;
1258
+ case '2A0':
1259
+ if (axis == 'x') {
1260
+ return 3370.39;
1261
+ } else {
1262
+ return 4767.87;
1263
+ }
1264
+ break;
1265
+ case 'A0':
1266
+ if (axis == 'x') {
1267
+ return 2383.94;
1268
+ } else {
1269
+ return 3370.39;
1270
+ }
1271
+ break;
1272
+ case 'A1':
1273
+ if (axis == 'x') {
1274
+ return 1683.78;
1275
+ } else {
1276
+ return 2383.94;
1277
+ }
1278
+ break;
1279
+ case 'A2':
1280
+ if (axis == 'x') {
1281
+ return 1190.55;
1282
+ } else {
1283
+ return 1683.78;
1284
+ }
1285
+ break;
1286
+ case 'A3':
1287
+ if (axis == 'x') {
1288
+ return 841.89;
1289
+ } else {
1290
+ return 1190.55;
1291
+ }
1292
+ break;
1293
+ case 'A4':
1294
+ if (axis == 'x') {
1295
+ return 595.28;
1296
+ } else {
1297
+ return 841.89;
1298
+ }
1299
+ break;
1300
+ case 'A5':
1301
+ if (axis == 'x') {
1302
+ return 419.53;
1303
+ } else {
1304
+ return 595.28;
1305
+ }
1306
+ break;
1307
+ case 'A6':
1308
+ if (axis == 'x') {
1309
+ return 297.64;
1310
+ } else {
1311
+ return 419.53;
1312
+ }
1313
+ break;
1314
+ case 'A7':
1315
+ if (axis == 'x') {
1316
+ return 209.76;
1317
+ } else {
1318
+ return 297.64;
1319
+ }
1320
+ break;
1321
+ case 'A8':
1322
+ if (axis == 'x') {
1323
+ return 147.40;
1324
+ } else {
1325
+ return 209.76;
1326
+ }
1327
+ break;
1328
+ case 'A9':
1329
+ if (axis == 'x') {
1330
+ return 104.88;
1331
+ } else {
1332
+ return 147.40;
1333
+ }
1334
+ break;
1335
+ case 'A10':
1336
+ if (axis == 'x') {
1337
+ return 73.70;
1338
+ } else {
1339
+ return 104.88;
1340
+ }
1341
+ break;
1342
+ case 'B0':
1343
+ if (axis == 'x') {
1344
+ return 2834.65;
1345
+ } else {
1346
+ return 4008.19;
1347
+ }
1348
+ break;
1349
+ case 'B1':
1350
+ if (axis == 'x') {
1351
+ return 2004.09;
1352
+ } else {
1353
+ return 2834.65;
1354
+ }
1355
+ break;
1356
+ case 'B2':
1357
+ if (axis == 'x') {
1358
+ return 1417.32;
1359
+ } else {
1360
+ return 2004.09;
1361
+ }
1362
+ break;
1363
+ case 'B3':
1364
+ if (axis == 'x') {
1365
+ return 1000.63;
1366
+ } else {
1367
+ return 1417.32;
1368
+ }
1369
+ break;
1370
+ case 'B4':
1371
+ if (axis == 'x') {
1372
+ return 708.66;
1373
+ } else {
1374
+ return 1000.63;
1375
+ }
1376
+ break;
1377
+ case 'B5':
1378
+ if (axis == 'x') {
1379
+ return 498.90;
1380
+ } else {
1381
+ return 708.66;
1382
+ }
1383
+ break;
1384
+ case 'B6':
1385
+ if (axis == 'x') {
1386
+ return 354.33;
1387
+ } else {
1388
+ return 498.90;
1389
+ }
1390
+ break;
1391
+ case 'B7':
1392
+ if (axis == 'x') {
1393
+ return 249.45;
1394
+ } else {
1395
+ return 354.33;
1396
+ }
1397
+ break;
1398
+ case 'B8':
1399
+ if (axis == 'x') {
1400
+ return 175.75;
1401
+ } else {
1402
+ return 249.45;
1403
+ }
1404
+ break;
1405
+ case 'B9':
1406
+ if (axis == 'x') {
1407
+ return 124.72;
1408
+ } else {
1409
+ return 175.75;
1410
+ }
1411
+ break;
1412
+ case 'B10':
1413
+ if (axis == 'x') {
1414
+ return 87.87;
1415
+ } else {
1416
+ return 124.72;
1417
+ }
1418
+ break;
1419
+ case 'C0':
1420
+ if (axis == 'x') {
1421
+ return 2599.37;
1422
+ } else {
1423
+ return 3676.54;
1424
+ }
1425
+ break;
1426
+ case 'C1':
1427
+ if (axis == 'x') {
1428
+ return 1836.85;
1429
+ } else {
1430
+ return 2599.37;
1431
+ }
1432
+ break;
1433
+ case 'C2':
1434
+ if (axis == 'x') {
1435
+ return 1298.27;
1436
+ } else {
1437
+ return 1836.85;
1438
+ }
1439
+ break;
1440
+ case 'C3':
1441
+ if (axis == 'x') {
1442
+ return 918.43;
1443
+ } else {
1444
+ return 1298.27;
1445
+ }
1446
+ break;
1447
+ case 'C4':
1448
+ if (axis == 'x') {
1449
+ return 649.13;
1450
+ } else {
1451
+ return 918.43;
1452
+ }
1453
+ break;
1454
+ case 'C5':
1455
+ if (axis == 'x') {
1456
+ return 459.21;
1457
+ } else {
1458
+ return 649.13;
1459
+ }
1460
+ break;
1461
+ case 'C6':
1462
+ if (axis == 'x') {
1463
+ return 323.15;
1464
+ } else {
1465
+ return 459.21;
1466
+ }
1467
+ break;
1468
+ case 'C7':
1469
+ if (axis == 'x') {
1470
+ return 229.61;
1471
+ } else {
1472
+ return 323.15;
1473
+ }
1474
+ break;
1475
+ case 'C8':
1476
+ if (axis == 'x') {
1477
+ return 161.57;
1478
+ } else {
1479
+ return 229.61;
1480
+ }
1481
+ break;
1482
+ case 'C9':
1483
+ if (axis == 'x') {
1484
+ return 113.39;
1485
+ } else {
1486
+ return 161.57;
1487
+ }
1488
+ break;
1489
+ case 'C10':
1490
+ if (axis == 'x') {
1491
+ return 79.37;
1492
+ } else {
1493
+ return 113.39;
1494
+ }
1495
+ break;
1496
+ case 'RA0':
1497
+ if (axis == 'x') {
1498
+ return 2437.80;
1499
+ } else {
1500
+ return 3458.27;
1501
+ }
1502
+ break;
1503
+ case 'RA1':
1504
+ if (axis == 'x') {
1505
+ return 1729.13;
1506
+ } else {
1507
+ return 2437.80;
1508
+ }
1509
+ break;
1510
+ case 'RA2':
1511
+ if (axis == 'x') {
1512
+ return 1218.90;
1513
+ } else {
1514
+ return 1729.13;
1515
+ }
1516
+ break;
1517
+ case 'RA3':
1518
+ if (axis == 'x') {
1519
+ return 864.57;
1520
+ } else {
1521
+ return 1218.90;
1522
+ }
1523
+ break;
1524
+ case 'RA4':
1525
+ if (axis == 'x') {
1526
+ return 609.45;
1527
+ } else {
1528
+ return 864.57;
1529
+ }
1530
+ break;
1531
+ case 'SRA0':
1532
+ if (axis == 'x') {
1533
+ return 2551.18;
1534
+ } else {
1535
+ return 3628.35;
1536
+ }
1537
+ break;
1538
+ case 'SRA1':
1539
+ if (axis == 'x') {
1540
+ return 1814.17;
1541
+ } else {
1542
+ return 2551.18;
1543
+ }
1544
+ break;
1545
+ case 'SRA2':
1546
+ if (axis == 'x') {
1547
+ return 1275.59;
1548
+ } else {
1549
+ return 1814.17;
1550
+ }
1551
+ break;
1552
+ case 'SRA3':
1553
+ if (axis == 'x') {
1554
+ return 907.09;
1555
+ } else {
1556
+ return 1275.59;
1557
+ }
1558
+ break;
1559
+ case 'SRA4':
1560
+ if (axis == 'x') {
1561
+ return 637.80;
1562
+ } else {
1563
+ return 907.09;
1564
+ }
1565
+ break;
1566
+ case 'LETTER':
1567
+ if (axis == 'x') {
1568
+ return 612.00;
1569
+ } else {
1570
+ return 792.00;
1571
+ }
1572
+ break;
1573
+ case 'LEGAL':
1574
+ if (axis == 'x') {
1575
+ return 612.00;
1576
+ } else {
1577
+ return 1008.00;
1578
+ }
1579
+ break;
1580
+ case 'EXECUTIVE':
1581
+ if (axis == 'x') {
1582
+ return 521.86;
1583
+ } else {
1584
+ return 756.00;
1585
+ }
1586
+ break;
1587
+ case 'FOLIO':
1588
+ if (axis == 'x') {
1589
+ return 612.00;
1590
+ } else {
1591
+ return 936.00;
1592
+ }
1593
+ break;
1594
+ } // end switch
1595
+
1596
+ return 0;
1597
+ }
1598
+
1599
+ /**
1600
+ * Unbind all event handlers before tearing down a page
1601
+ */
1602
+ AJAX.registerTeardown('functions.js', function () {
1603
+ $(document).off('click', "a.inline_edit_sql");
1604
+ $(document).off('click', "input#sql_query_edit_save");
1605
+ $(document).off('click', "input#sql_query_edit_discard");
1606
+ $('input.sqlbutton').unbind('click');
1607
+ $("#export_type").unbind('change');
1608
+ $('#sqlquery').unbind('keydown');
1609
+ $('#sql_query_edit').unbind('keydown');
1610
+
1611
+ if (codemirror_inline_editor) {
1612
+ // Copy the sql query to the text area to preserve it.
1613
+ $('#sql_query_edit').text(codemirror_inline_editor.getValue());
1614
+ $(codemirror_inline_editor.getWrapperElement()).unbind('keydown');
1615
+ codemirror_inline_editor.toTextArea();
1616
+ codemirror_inline_editor = false;
1617
+ }
1618
+ if (codemirror_editor) {
1619
+ $(codemirror_editor.getWrapperElement()).unbind('keydown');
1620
+ }
1621
+ });
1622
+
1623
+ /**
1624
+ * Jquery Coding for inline editing SQL_QUERY
1625
+ */
1626
+ AJAX.registerOnload('functions.js', function () {
1627
+ // If we are coming back to the page by clicking forward button
1628
+ // of the browser, bind the code mirror to inline query editor.
1629
+ bindCodeMirrorToInlineEditor();
1630
+ $(document).on('click', "a.inline_edit_sql", function () {
1631
+ if ($('#sql_query_edit').length) {
1632
+ // An inline query editor is already open,
1633
+ // we don't want another copy of it
1634
+ return false;
1635
+ }
1636
+
1637
+ var $form = $(this).prev('form');
1638
+ var sql_query = $form.find("input[name='sql_query']").val().trim();
1639
+ var $inner_sql = $(this).parent().prev().find('code.sql');
1640
+ var old_text = $inner_sql.html();
1641
+
1642
+ var new_content = "<textarea name=\"sql_query_edit\" id=\"sql_query_edit\">" + sql_query + "</textarea>\n";
1643
+ new_content += "<input type=\"submit\" id=\"sql_query_edit_save\" class=\"button btnSave\" value=\"" + PMA_messages.strGo + "\"/>\n";
1644
+ new_content += "<input type=\"button\" id=\"sql_query_edit_discard\" class=\"button btnDiscard\" value=\"" + PMA_messages.strCancel + "\"/>\n";
1645
+ var $editor_area = $('div#inline_editor');
1646
+ if ($editor_area.length === 0) {
1647
+ $editor_area = $('<div id="inline_editor_outer"></div>');
1648
+ $editor_area.insertBefore($inner_sql);
1649
+ }
1650
+ $editor_area.html(new_content);
1651
+ $inner_sql.hide();
1652
+
1653
+ bindCodeMirrorToInlineEditor();
1654
+ return false;
1655
+ });
1656
+
1657
+ $(document).on('click', "input#sql_query_edit_save", function () {
1658
+ $(".success").hide();
1659
+ //hide already existing success message
1660
+ var sql_query;
1661
+ if (codemirror_inline_editor) {
1662
+ codemirror_inline_editor.save();
1663
+ sql_query = codemirror_inline_editor.getValue();
1664
+ } else {
1665
+ sql_query = $(this).prev().val();
1666
+ }
1667
+
1668
+ var $form = $("a.inline_edit_sql").prev('form');
1669
+ var $fake_form = $('<form>', {action: 'import.php', method: 'post'})
1670
+ .append($form.find("input[name=server], input[name=db], input[name=table], input[name=token]").clone())
1671
+ .append($('<input/>', {type: 'hidden', name: 'show_query', value: 1}))
1672
+ .append($('<input/>', {type: 'hidden', name: 'is_js_confirmed', value: 0}))
1673
+ .append($('<input/>', {type: 'hidden', name: 'sql_query', value: sql_query}));
1674
+ if (! checkSqlQuery($fake_form[0])) {
1675
+ return false;
1676
+ }
1677
+ $fake_form.appendTo($('body')).submit();
1678
+ });
1679
+
1680
+ $(document).on('click', "input#sql_query_edit_discard", function () {
1681
+ $('div#inline_editor_outer').siblings('code.sql').show();
1682
+ $('div#inline_editor_outer').remove();
1683
+ });
1684
+
1685
+ $('input.sqlbutton').click(function (evt) {
1686
+ insertQuery(evt.target.id);
1687
+ PMA_handleSimulateQueryButton();
1688
+ return false;
1689
+ });
1690
+
1691
+ $("#export_type").change(function () {
1692
+ if ($("#export_type").val() == 'svg') {
1693
+ $("#show_grid_opt").prop("disabled", true);
1694
+ $("#orientation_opt").prop("disabled", true);
1695
+ $("#with_doc").prop("disabled", true);
1696
+ $("#show_table_dim_opt").removeProp("disabled");
1697
+ $("#all_tables_same_width").removeProp("disabled");
1698
+ $("#paper_opt").removeProp("disabled");
1699
+ $("#show_color_opt").removeProp("disabled");
1700
+ //$(this).css("background-color","yellow");
1701
+ } else if ($("#export_type").val() == 'dia') {
1702
+ $("#show_grid_opt").prop("disabled", true);
1703
+ $("#with_doc").prop("disabled", true);
1704
+ $("#show_table_dim_opt").prop("disabled", true);
1705
+ $("#all_tables_same_width").prop("disabled", true);
1706
+ $("#paper_opt").removeProp("disabled");
1707
+ $("#show_color_opt").removeProp("disabled");
1708
+ $("#orientation_opt").removeProp("disabled");
1709
+ } else if ($("#export_type").val() == 'eps') {
1710
+ $("#show_grid_opt").prop("disabled", true);
1711
+ $("#orientation_opt").removeProp("disabled");
1712
+ $("#with_doc").prop("disabled", true);
1713
+ $("#show_table_dim_opt").prop("disabled", true);
1714
+ $("#all_tables_same_width").prop("disabled", true);
1715
+ $("#paper_opt").prop("disabled", true);
1716
+ $("#show_color_opt").prop("disabled", true);
1717
+ } else if ($("#export_type").val() == 'pdf') {
1718
+ $("#show_grid_opt").removeProp("disabled");
1719
+ $("#orientation_opt").removeProp("disabled");
1720
+ $("#with_doc").removeProp("disabled");
1721
+ $("#show_table_dim_opt").removeProp("disabled");
1722
+ $("#all_tables_same_width").removeProp("disabled");
1723
+ $("#paper_opt").removeProp("disabled");
1724
+ $("#show_color_opt").removeProp("disabled");
1725
+ }
1726
+ });
1727
+
1728
+ if ($('#input_username')) {
1729
+ if ($('#input_username').val() === '') {
1730
+ $('#input_username').focus();
1731
+ } else {
1732
+ $('#input_password').focus();
1733
+ }
1734
+ }
1735
+ });
1736
+
1737
+ /**
1738
+ * "inputRead" event handler for CodeMirror SQL query editors for autocompletion
1739
+ */
1740
+ function codemirrorAutocompleteOnInputRead(instance) {
1741
+ if (!sql_autocomplete_in_progress
1742
+ && (!instance.options.hintOptions.tables || !sql_autocomplete)) {
1743
+
1744
+ if (!sql_autocomplete) {
1745
+ // Reset after teardown
1746
+ instance.options.hintOptions.tables = false;
1747
+ instance.options.hintOptions.defaultTable = '';
1748
+
1749
+ sql_autocomplete_in_progress = true;
1750
+
1751
+ var href = 'db_sql_autocomplete.php';
1752
+ var params = {
1753
+ 'ajax_request': true,
1754
+ 'token': PMA_commonParams.get('token'),
1755
+ 'server': PMA_commonParams.get('server'),
1756
+ 'db': PMA_commonParams.get('db')
1757
+ };
1758
+ $.ajax({
1759
+ type: 'POST',
1760
+ url: href,
1761
+ data: params,
1762
+ success: function (data) {
1763
+ if (data.success) {
1764
+ var tables = $.parseJSON(data.tables);
1765
+ sql_autocomplete_default_table = PMA_commonParams.get('table');
1766
+ sql_autocomplete = [];
1767
+ for (var table in tables) {
1768
+ if (tables.hasOwnProperty(table)) {
1769
+ var columns = tables[table];
1770
+ table = {
1771
+ text: table,
1772
+ columns: []
1773
+ };
1774
+ for (var column in columns) {
1775
+ if (columns.hasOwnProperty(column)) {
1776
+ var displayText = column + ' | ' + columns[column].Type;
1777
+ if (columns[column].Key == 'PRI') {
1778
+ displayText += ' | Primary';
1779
+ } else if (columns[column].Key == 'UNI') {
1780
+ displayText += ' | Unique';
1781
+ }
1782
+ table.columns.push({
1783
+ text: column,
1784
+ displayText: displayText
1785
+ });
1786
+ }
1787
+ }
1788
+ }
1789
+ sql_autocomplete.push(table);
1790
+ }
1791
+ instance.options.hintOptions.tables = sql_autocomplete;
1792
+ instance.options.hintOptions.defaultTable = sql_autocomplete_default_table;
1793
+ }
1794
+ },
1795
+ complete: function () {
1796
+ sql_autocomplete_in_progress = false;
1797
+ }
1798
+ });
1799
+ }
1800
+ else {
1801
+ instance.options.hintOptions.tables = sql_autocomplete;
1802
+ instance.options.hintOptions.defaultTable = sql_autocomplete_default_table;
1803
+ }
1804
+ }
1805
+ if (instance.state.completionActive) {
1806
+ return;
1807
+ }
1808
+ var cur = instance.getCursor();
1809
+ var token = instance.getTokenAt(cur);
1810
+ var string = '';
1811
+ if (token.string.match(/^[.`\w@]\w*$/)) {
1812
+ string = token.string;
1813
+ }
1814
+ if (string.length > 0) {
1815
+ CodeMirror.commands.autocomplete(instance);
1816
+ }
1817
+ }
1818
+
1819
+ /**
1820
+ * Remove autocomplete information before tearing down a page
1821
+ */
1822
+ AJAX.registerTeardown('functions.js', function () {
1823
+ sql_autocomplete = false;
1824
+ sql_autocomplete_default_table = '';
1825
+ });
1826
+
1827
+ /**
1828
+ * Binds the CodeMirror to the text area used to inline edit a query.
1829
+ */
1830
+ function bindCodeMirrorToInlineEditor() {
1831
+ var $inline_editor = $('#sql_query_edit');
1832
+ if ($inline_editor.length > 0) {
1833
+ if (typeof CodeMirror !== 'undefined') {
1834
+ var height = $('#sql_query_edit').css('height');
1835
+ codemirror_inline_editor = CodeMirror.fromTextArea($inline_editor[0], {
1836
+ lineNumbers: true,
1837
+ matchBrackets: true,
1838
+ extraKeys: {"Ctrl-Space": "autocomplete"},
1839
+ hintOptions: {"completeSingle": false, "completeOnSingleClick": true},
1840
+ indentUnit: 4,
1841
+ mode: "text/x-mysql",
1842
+ lineWrapping: true
1843
+ });
1844
+ codemirror_inline_editor.on("inputRead", codemirrorAutocompleteOnInputRead);
1845
+ codemirror_inline_editor.getScrollerElement().style.height = height;
1846
+ codemirror_inline_editor.refresh();
1847
+ codemirror_inline_editor.focus();
1848
+ $(codemirror_inline_editor.getWrapperElement()).bind(
1849
+ 'keydown',
1850
+ catchKeypressesFromSqlTextboxes
1851
+ );
1852
+ } else {
1853
+ $inline_editor.focus().bind(
1854
+ 'keydown',
1855
+ catchKeypressesFromSqlTextboxes
1856
+ );
1857
+ }
1858
+ }
1859
+ }
1860
+
1861
+ function catchKeypressesFromSqlTextboxes(event) {
1862
+ // ctrl-enter is 10 in chrome and ie, but 13 in ff
1863
+ if (event.ctrlKey && (event.keyCode == 13 || event.keyCode == 10)) {
1864
+ if ($('#sql_query_edit').length > 0) {
1865
+ $("#sql_query_edit_save").trigger('click');
1866
+ } else if ($('#sqlquery').length > 0) {
1867
+ $("#button_submit_query").trigger('click');
1868
+ }
1869
+ }
1870
+ }
1871
+
1872
+ /**
1873
+ * Adds doc link to single highlighted SQL element
1874
+ */
1875
+ function PMA_doc_add($elm, params)
1876
+ {
1877
+ if (typeof mysql_doc_template == 'undefined') {
1878
+ return;
1879
+ }
1880
+
1881
+ var url = PMA_sprintf(
1882
+ decodeURIComponent(mysql_doc_template),
1883
+ params[0]
1884
+ );
1885
+ if (params.length > 1) {
1886
+ url += '#' + params[1];
1887
+ }
1888
+ var content = $elm.text();
1889
+ $elm.text('');
1890
+ $elm.append('<a target="mysql_doc" class="cm-sql-doc" href="' + url + '">' + content + '</a>');
1891
+ }
1892
+
1893
+ /**
1894
+ * Generates doc links for keywords inside highlighted SQL
1895
+ */
1896
+ function PMA_doc_keyword(idx, elm)
1897
+ {
1898
+ var $elm = $(elm);
1899
+ /* Skip already processed ones */
1900
+ if ($elm.find('a').length > 0) {
1901
+ return;
1902
+ }
1903
+ var keyword = $elm.text().toUpperCase();
1904
+ var $next = $elm.next('.cm-keyword');
1905
+ if ($next) {
1906
+ var next_keyword = $next.text().toUpperCase();
1907
+ var full = keyword + ' ' + next_keyword;
1908
+
1909
+ var $next2 = $next.next('.cm-keyword');
1910
+ if ($next2) {
1911
+ var next2_keyword = $next2.text().toUpperCase();
1912
+ var full2 = full + ' ' + next2_keyword;
1913
+ if (full2 in mysql_doc_keyword) {
1914
+ PMA_doc_add($elm, mysql_doc_keyword[full2]);
1915
+ PMA_doc_add($next, mysql_doc_keyword[full2]);
1916
+ PMA_doc_add($next2, mysql_doc_keyword[full2]);
1917
+ return;
1918
+ }
1919
+ }
1920
+ if (full in mysql_doc_keyword) {
1921
+ PMA_doc_add($elm, mysql_doc_keyword[full]);
1922
+ PMA_doc_add($next, mysql_doc_keyword[full]);
1923
+ return;
1924
+ }
1925
+ }
1926
+ if (keyword in mysql_doc_keyword) {
1927
+ PMA_doc_add($elm, mysql_doc_keyword[keyword]);
1928
+ }
1929
+ }
1930
+
1931
+ /**
1932
+ * Generates doc links for builtins inside highlighted SQL
1933
+ */
1934
+ function PMA_doc_builtin(idx, elm)
1935
+ {
1936
+ var $elm = $(elm);
1937
+ var builtin = $elm.text().toUpperCase();
1938
+ if (builtin in mysql_doc_builtin) {
1939
+ PMA_doc_add($elm, mysql_doc_builtin[builtin]);
1940
+ }
1941
+ }
1942
+
1943
+ /**
1944
+ * Higlights SQL using CodeMirror.
1945
+ */
1946
+ function PMA_highlightSQL($base)
1947
+ {
1948
+ var $elm = $base.find('code.sql');
1949
+ $elm.each(function () {
1950
+ var $sql = $(this);
1951
+ var $pre = $sql.find('pre');
1952
+ /* We only care about visible elements to avoid double processing */
1953
+ if ($pre.is(":visible")) {
1954
+ var $highlight = $('<div class="sql-highlight cm-s-default"></div>');
1955
+ $sql.append($highlight);
1956
+ if (typeof CodeMirror != 'undefined') {
1957
+ CodeMirror.runMode($sql.text(), 'text/x-mysql', $highlight[0]);
1958
+ $pre.hide();
1959
+ $highlight.find('.cm-keyword').each(PMA_doc_keyword);
1960
+ $highlight.find('.cm-builtin').each(PMA_doc_builtin);
1961
+ }
1962
+ }
1963
+ });
1964
+ }
1965
+
1966
+ /**
1967
+ * Updates an element containing code.
1968
+ *
1969
+ * @param jQuery Object $base base element which contains the raw and the
1970
+ * highlighted code.
1971
+ *
1972
+ * @param string htmlValue code in HTML format, displayed if code cannot be
1973
+ * highlighted
1974
+ *
1975
+ * @param string rawValue raw code, used as a parameter for highlighter
1976
+ *
1977
+ * @return bool whether content was updated or not
1978
+ */
1979
+ function PMA_updateCode($base, htmlValue, rawValue)
1980
+ {
1981
+ var $code = $base.find('code');
1982
+ if ($code.length == 0) {
1983
+ return false;
1984
+ }
1985
+
1986
+ // Determines the type of the content and appropriate CodeMirror mode.
1987
+ var type = '', mode = '';
1988
+ if ($code.hasClass('json')) {
1989
+ type = 'json';
1990
+ mode = 'application/json';
1991
+ } else if ($code.hasClass('sql')) {
1992
+ type = 'sql';
1993
+ mode = 'text/x-mysql';
1994
+ } else if ($code.hasClass('xml')) {
1995
+ type = 'xml';
1996
+ mode = 'application/xml';
1997
+ } else {
1998
+ return false;
1999
+ }
2000
+
2001
+ // Element used to display unhighlighted code.
2002
+ var $notHighlighted = $('<pre>' + htmlValue + '</pre>');
2003
+
2004
+ // Tries to highlight code using CodeMirror.
2005
+ if (typeof CodeMirror != 'undefined') {
2006
+ var $highlighted = $('<div class="' + type + '-highlight cm-s-default"></div>');
2007
+ CodeMirror.runMode(rawValue, mode, $highlighted[0]);
2008
+ $notHighlighted.hide();
2009
+ $code.html('').append($notHighlighted, $highlighted[0]);
2010
+ } else {
2011
+ $code.html('').append($notHighlighted);
2012
+ }
2013
+
2014
+ return true;
2015
+ }
2016
+
2017
+ /**
2018
+ * Show a message on the top of the page for an Ajax request
2019
+ *
2020
+ * Sample usage:
2021
+ *
2022
+ * 1) var $msg = PMA_ajaxShowMessage();
2023
+ * This will show a message that reads "Loading...". Such a message will not
2024
+ * disappear automatically and cannot be dismissed by the user. To remove this
2025
+ * message either the PMA_ajaxRemoveMessage($msg) function must be called or
2026
+ * another message must be show with PMA_ajaxShowMessage() function.
2027
+ *
2028
+ * 2) var $msg = PMA_ajaxShowMessage(PMA_messages.strProcessingRequest);
2029
+ * This is a special case. The behaviour is same as above,
2030
+ * just with a different message
2031
+ *
2032
+ * 3) var $msg = PMA_ajaxShowMessage('The operation was successful');
2033
+ * This will show a message that will disappear automatically and it can also
2034
+ * be dismissed by the user.
2035
+ *
2036
+ * 4) var $msg = PMA_ajaxShowMessage('Some error', false);
2037
+ * This will show a message that will not disappear automatically, but it
2038
+ * can be dismissed by the user after he has finished reading it.
2039
+ *
2040
+ * @param string message string containing the message to be shown.
2041
+ * optional, defaults to 'Loading...'
2042
+ * @param mixed timeout number of milliseconds for the message to be visible
2043
+ * optional, defaults to 5000. If set to 'false', the
2044
+ * notification will never disappear
2045
+ * @return jQuery object jQuery Element that holds the message div
2046
+ * this object can be passed to PMA_ajaxRemoveMessage()
2047
+ * to remove the notification
2048
+ */
2049
+ function PMA_ajaxShowMessage(message, timeout)
2050
+ {
2051
+ /**
2052
+ * @var self_closing Whether the notification will automatically disappear
2053
+ */
2054
+ var self_closing = true;
2055
+ /**
2056
+ * @var dismissable Whether the user will be able to remove
2057
+ * the notification by clicking on it
2058
+ */
2059
+ var dismissable = true;
2060
+ // Handle the case when a empty data.message is passed.
2061
+ // We don't want the empty message
2062
+ if (message === '') {
2063
+ return true;
2064
+ } else if (! message) {
2065
+ // If the message is undefined, show the default
2066
+ message = PMA_messages.strLoading;
2067
+ dismissable = false;
2068
+ self_closing = false;
2069
+ } else if (message == PMA_messages.strProcessingRequest) {
2070
+ // This is another case where the message should not disappear
2071
+ dismissable = false;
2072
+ self_closing = false;
2073
+ }
2074
+ // Figure out whether (or after how long) to remove the notification
2075
+ if (timeout === undefined) {
2076
+ timeout = 5000;
2077
+ } else if (timeout === false) {
2078
+ self_closing = false;
2079
+ }
2080
+ // Create a parent element for the AJAX messages, if necessary
2081
+ if ($('#loading_parent').length === 0) {
2082
+ $('<div id="loading_parent"></div>')
2083
+ .prependTo("#page_content");
2084
+ }
2085
+ // Update message count to create distinct message elements every time
2086
+ ajax_message_count++;
2087
+ // Remove all old messages, if any
2088
+ $("span.ajax_notification[id^=ajax_message_num]").remove();
2089
+ /**
2090
+ * @var $retval a jQuery object containing the reference
2091
+ * to the created AJAX message
2092
+ */
2093
+ var $retval = $(
2094
+ '<span class="ajax_notification" id="ajax_message_num_' +
2095
+ ajax_message_count +
2096
+ '"></span>'
2097
+ )
2098
+ .hide()
2099
+ .appendTo("#loading_parent")
2100
+ .html(message)
2101
+ .show();
2102
+ // If the notification is self-closing we should create a callback to remove it
2103
+ if (self_closing) {
2104
+ $retval
2105
+ .delay(timeout)
2106
+ .fadeOut('medium', function () {
2107
+ if ($(this).is(':data(tooltip)')) {
2108
+ $(this).tooltip('destroy');
2109
+ }
2110
+ // Remove the notification
2111
+ $(this).remove();
2112
+ });
2113
+ }
2114
+ // If the notification is dismissable we need to add the relevant class to it
2115
+ // and add a tooltip so that the users know that it can be removed
2116
+ if (dismissable) {
2117
+ $retval.addClass('dismissable').css('cursor', 'pointer');
2118
+ /**
2119
+ * Add a tooltip to the notification to let the user know that (s)he
2120
+ * can dismiss the ajax notification by clicking on it.
2121
+ */
2122
+ PMA_tooltip(
2123
+ $retval,
2124
+ 'span',
2125
+ PMA_messages.strDismiss
2126
+ );
2127
+ }
2128
+ PMA_highlightSQL($retval);
2129
+
2130
+ return $retval;
2131
+ }
2132
+
2133
+ /**
2134
+ * Removes the message shown for an Ajax operation when it's completed
2135
+ *
2136
+ * @param jQuery object jQuery Element that holds the notification
2137
+ *
2138
+ * @return nothing
2139
+ */
2140
+ function PMA_ajaxRemoveMessage($this_msgbox)
2141
+ {
2142
+ if ($this_msgbox !== undefined && $this_msgbox instanceof jQuery) {
2143
+ $this_msgbox
2144
+ .stop(true, true)
2145
+ .fadeOut('medium');
2146
+ if ($this_msgbox.is(':data(tooltip)')) {
2147
+ $this_msgbox.tooltip('destroy');
2148
+ } else {
2149
+ $this_msgbox.remove();
2150
+ }
2151
+ }
2152
+ }
2153
+
2154
+ /**
2155
+ * Requests SQL for previewing before executing.
2156
+ *
2157
+ * @param jQuery Object $form Form containing query data
2158
+ *
2159
+ * @return void
2160
+ */
2161
+ function PMA_previewSQL($form)
2162
+ {
2163
+ var form_url = $form.attr('action');
2164
+ var form_data = $form.serialize() +
2165
+ '&do_save_data=1' +
2166
+ '&preview_sql=1' +
2167
+ '&ajax_request=1';
2168
+ var $msgbox = PMA_ajaxShowMessage();
2169
+ $.ajax({
2170
+ type: 'POST',
2171
+ url: form_url,
2172
+ data: form_data,
2173
+ success: function (response) {
2174
+ PMA_ajaxRemoveMessage($msgbox);
2175
+ if (response.success) {
2176
+ var $dialog_content = $('<div/>')
2177
+ .append(response.sql_data);
2178
+ var button_options = {};
2179
+ button_options[PMA_messages.strClose] = function () {
2180
+ $(this).dialog('close');
2181
+ };
2182
+ var $response_dialog = $dialog_content.dialog({
2183
+ minWidth: 550,
2184
+ maxHeight: 400,
2185
+ modal: true,
2186
+ buttons: button_options,
2187
+ title: PMA_messages.strPreviewSQL,
2188
+ close: function () {
2189
+ $(this).remove();
2190
+ },
2191
+ open: function () {
2192
+ // Pretty SQL printing.
2193
+ PMA_highlightSQL($(this));
2194
+ }
2195
+ });
2196
+ } else {
2197
+ PMA_ajaxShowMessage(response.message);
2198
+ }
2199
+ },
2200
+ error: function () {
2201
+ PMA_ajaxShowMessage(PMA_messages.strErrorProcessingRequest);
2202
+ }
2203
+ });
2204
+ }
2205
+
2206
+ /**
2207
+ * check for reserved keyword column name
2208
+ *
2209
+ * @param jQuery Object $form Form
2210
+ *
2211
+ * @returns true|false
2212
+ */
2213
+
2214
+ function PMA_checkReservedWordColumns($form) {
2215
+ var is_confirmed = true;
2216
+ $.ajax({
2217
+ type: 'POST',
2218
+ url: "tbl_structure.php",
2219
+ data: $form.serialize() + '&reserved_word_check=1',
2220
+ success: function (data) {
2221
+ if (typeof data.success != 'undefined' && data.success === true) {
2222
+ is_confirmed = confirm(data.message);
2223
+ }
2224
+ },
2225
+ async:false
2226
+ });
2227
+ return is_confirmed;
2228
+ }
2229
+
2230
+ // This event only need to be fired once after the initial page load
2231
+ $(function () {
2232
+ /**
2233
+ * Allows the user to dismiss a notification
2234
+ * created with PMA_ajaxShowMessage()
2235
+ */
2236
+ $(document).on('click', 'span.ajax_notification.dismissable', function () {
2237
+ PMA_ajaxRemoveMessage($(this));
2238
+ });
2239
+ /**
2240
+ * The below two functions hide the "Dismiss notification" tooltip when a user
2241
+ * is hovering a link or button that is inside an ajax message
2242
+ */
2243
+ $(document).on('mouseover', 'span.ajax_notification a, span.ajax_notification button, span.ajax_notification input', function () {
2244
+ if ($(this).parents('span.ajax_notification').is(':data(tooltip)')) {
2245
+ $(this).parents('span.ajax_notification').tooltip('disable');
2246
+ }
2247
+ });
2248
+ $(document).on('mouseout', 'span.ajax_notification a, span.ajax_notification button, span.ajax_notification input', function () {
2249
+ if ($(this).parents('span.ajax_notification').is(':data(tooltip)')) {
2250
+ $(this).parents('span.ajax_notification').tooltip('enable');
2251
+ }
2252
+ });
2253
+ });
2254
+
2255
+ /**
2256
+ * Hides/shows the "Open in ENUM/SET editor" message, depending on the data type of the column currently selected
2257
+ */
2258
+ function PMA_showNoticeForEnum(selectElement)
2259
+ {
2260
+ var enum_notice_id = selectElement.attr("id").split("_")[1];
2261
+ enum_notice_id += "_" + (parseInt(selectElement.attr("id").split("_")[2], 10) + 1);
2262
+ var selectedType = selectElement.val();
2263
+ if (selectedType == "ENUM" || selectedType == "SET") {
2264
+ $("p#enum_notice_" + enum_notice_id).show();
2265
+ } else {
2266
+ $("p#enum_notice_" + enum_notice_id).hide();
2267
+ }
2268
+ }
2269
+
2270
+ /*
2271
+ * Creates a Profiling Chart with jqplot. Used in sql.js
2272
+ * and in server_status_monitor.js
2273
+ */
2274
+ function PMA_createProfilingChartJqplot(target, data)
2275
+ {
2276
+ return $.jqplot(target, [data],
2277
+ {
2278
+ seriesDefaults: {
2279
+ renderer: $.jqplot.PieRenderer,
2280
+ rendererOptions: {
2281
+ showDataLabels: true
2282
+ }
2283
+ },
2284
+ highlighter: {
2285
+ show: true,
2286
+ tooltipLocation: 'se',
2287
+ sizeAdjust: 0,
2288
+ tooltipAxes: 'pieref',
2289
+ useAxesFormatters: false,
2290
+ formatString: '%s, %.9Ps'
2291
+ },
2292
+ legend: {
2293
+ show: true,
2294
+ location: 'e',
2295
+ rendererOptions: {numberColumns: 2}
2296
+ },
2297
+ // from http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines#Color_Palette
2298
+ seriesColors: [
2299
+ '#fce94f',
2300
+ '#fcaf3e',
2301
+ '#e9b96e',
2302
+ '#8ae234',
2303
+ '#729fcf',
2304
+ '#ad7fa8',
2305
+ '#ef2929',
2306
+ '#eeeeec',
2307
+ '#888a85',
2308
+ '#c4a000',
2309
+ '#ce5c00',
2310
+ '#8f5902',
2311
+ '#4e9a06',
2312
+ '#204a87',
2313
+ '#5c3566',
2314
+ '#a40000',
2315
+ '#babdb6',
2316
+ '#2e3436'
2317
+ ]
2318
+ }
2319
+ );
2320
+ }
2321
+
2322
+ /**
2323
+ * Formats a profiling duration nicely (in us and ms time).
2324
+ * Used in server_status_monitor.js
2325
+ *
2326
+ * @param integer Number to be formatted, should be in the range of microsecond to second
2327
+ * @param integer Accuracy, how many numbers right to the comma should be
2328
+ * @return string The formatted number
2329
+ */
2330
+ function PMA_prettyProfilingNum(num, acc)
2331
+ {
2332
+ if (!acc) {
2333
+ acc = 2;
2334
+ }
2335
+ acc = Math.pow(10, acc);
2336
+ if (num * 1000 < 0.1) {
2337
+ num = Math.round(acc * (num * 1000 * 1000)) / acc + 'µ';
2338
+ } else if (num < 0.1) {
2339
+ num = Math.round(acc * (num * 1000)) / acc + 'm';
2340
+ } else {
2341
+ num = Math.round(acc * num) / acc;
2342
+ }
2343
+
2344
+ return num + 's';
2345
+ }
2346
+
2347
+
2348
+ /**
2349
+ * Formats a SQL Query nicely with newlines and indentation. Depends on Codemirror and MySQL Mode!
2350
+ *
2351
+ * @param string Query to be formatted
2352
+ * @return string The formatted query
2353
+ */
2354
+ function PMA_SQLPrettyPrint(string)
2355
+ {
2356
+ if (typeof CodeMirror == 'undefined') {
2357
+ return string;
2358
+ }
2359
+
2360
+ var mode = CodeMirror.getMode({}, "text/x-mysql");
2361
+ var stream = new CodeMirror.StringStream(string);
2362
+ var state = mode.startState();
2363
+ var token, tokens = [];
2364
+ var output = '';
2365
+ var tabs = function (cnt) {
2366
+ var ret = '';
2367
+ for (var i = 0; i < 4 * cnt; i++) {
2368
+ ret += " ";
2369
+ }
2370
+ return ret;
2371
+ };
2372
+
2373
+ // "root-level" statements
2374
+ var statements = {
2375
+ 'select': ['select', 'from', 'on', 'where', 'having', 'limit', 'order by', 'group by'],
2376
+ 'update': ['update', 'set', 'where'],
2377
+ 'insert into': ['insert into', 'values']
2378
+ };
2379
+ // don't put spaces before these tokens
2380
+ var spaceExceptionsBefore = {';': true, ',': true, '.': true, '(': true};
2381
+ // don't put spaces after these tokens
2382
+ var spaceExceptionsAfter = {'.': true};
2383
+
2384
+ // Populate tokens array
2385
+ var str = '';
2386
+ while (! stream.eol()) {
2387
+ stream.start = stream.pos;
2388
+ token = mode.token(stream, state);
2389
+ if (token !== null) {
2390
+ tokens.push([token, stream.current().toLowerCase()]);
2391
+ }
2392
+ }
2393
+
2394
+ var currentStatement = tokens[0][1];
2395
+
2396
+ if (! statements[currentStatement]) {
2397
+ return string;
2398
+ }
2399
+ // Holds all currently opened code blocks (statement, function or generic)
2400
+ var blockStack = [];
2401
+ // Holds the type of block from last iteration (the current is in blockStack[0])
2402
+ var previousBlock;
2403
+ // If a new code block is found, newBlock contains its type for one iteration and vice versa for endBlock
2404
+ var newBlock, endBlock;
2405
+ // How much to indent in the current line
2406
+ var indentLevel = 0;
2407
+ // Holds the "root-level" statements
2408
+ var statementPart, lastStatementPart = statements[currentStatement][0];
2409
+
2410
+ blockStack.unshift('statement');
2411
+
2412
+ // Iterate through every token and format accordingly
2413
+ for (var i = 0; i < tokens.length; i++) {
2414
+ previousBlock = blockStack[0];
2415
+
2416
+ // New block => push to stack
2417
+ if (tokens[i][1] == '(') {
2418
+ if (i < tokens.length - 1 && tokens[i + 1][0] == 'statement-verb') {
2419
+ blockStack.unshift(newBlock = 'statement');
2420
+ } else if (i > 0 && tokens[i - 1][0] == 'builtin') {
2421
+ blockStack.unshift(newBlock = 'function');
2422
+ } else {
2423
+ blockStack.unshift(newBlock = 'generic');
2424
+ }
2425
+ } else {
2426
+ newBlock = null;
2427
+ }
2428
+
2429
+ // Block end => pop from stack
2430
+ if (tokens[i][1] == ')') {
2431
+ endBlock = blockStack[0];
2432
+ blockStack.shift();
2433
+ } else {
2434
+ endBlock = null;
2435
+ }
2436
+
2437
+ // A subquery is starting
2438
+ if (i > 0 && newBlock == 'statement') {
2439
+ indentLevel++;
2440
+ output += "\n" + tabs(indentLevel) + tokens[i][1] + ' ' + tokens[i + 1][1].toUpperCase() + "\n" + tabs(indentLevel + 1);
2441
+ currentStatement = tokens[i + 1][1];
2442
+ i++;
2443
+ continue;
2444
+ }
2445
+
2446
+ // A subquery is ending
2447
+ if (endBlock == 'statement' && indentLevel > 0) {
2448
+ output += "\n" + tabs(indentLevel);
2449
+ indentLevel--;
2450
+ }
2451
+
2452
+ // One less indentation for statement parts (from, where, order by, etc.) and a newline
2453
+ statementPart = statements[currentStatement].indexOf(tokens[i][1]);
2454
+ if (statementPart != -1) {
2455
+ if (i > 0) {
2456
+ output += "\n";
2457
+ }
2458
+ output += tabs(indentLevel) + tokens[i][1].toUpperCase();
2459
+ output += "\n" + tabs(indentLevel + 1);
2460
+ lastStatementPart = tokens[i][1];
2461
+ }
2462
+ // Normal indentation and spaces for everything else
2463
+ else {
2464
+ if (! spaceExceptionsBefore[tokens[i][1]] &&
2465
+ ! (i > 0 && spaceExceptionsAfter[tokens[i - 1][1]]) &&
2466
+ output.charAt(output.length - 1) != ' ') {
2467
+ output += " ";
2468
+ }
2469
+ if (tokens[i][0] == 'keyword') {
2470
+ output += tokens[i][1].toUpperCase();
2471
+ } else {
2472
+ output += tokens[i][1];
2473
+ }
2474
+ }
2475
+
2476
+ // split columns in select and 'update set' clauses, but only inside statements blocks
2477
+ if ((lastStatementPart == 'select' || lastStatementPart == 'where' || lastStatementPart == 'set') &&
2478
+ tokens[i][1] == ',' && blockStack[0] == 'statement') {
2479
+
2480
+ output += "\n" + tabs(indentLevel + 1);
2481
+ }
2482
+
2483
+ // split conditions in where clauses, but only inside statements blocks
2484
+ if (lastStatementPart == 'where' &&
2485
+ (tokens[i][1] == 'and' || tokens[i][1] == 'or' || tokens[i][1] == 'xor')) {
2486
+
2487
+ if (blockStack[0] == 'statement') {
2488
+ output += "\n" + tabs(indentLevel + 1);
2489
+ }
2490
+ // Todo: Also split and or blocks in newlines & indentation++
2491
+ //if (blockStack[0] == 'generic')
2492
+ // output += ...
2493
+ }
2494
+ }
2495
+ return output;
2496
+ }
2497
+
2498
+ /**
2499
+ * jQuery function that uses jQueryUI's dialogs to confirm with user. Does not
2500
+ * return a jQuery object yet and hence cannot be chained
2501
+ *
2502
+ * @param string question
2503
+ * @param string url URL to be passed to the callbackFn to make
2504
+ * an Ajax call to
2505
+ * @param function callbackFn callback to execute after user clicks on OK
2506
+ */
2507
+
2508
+ jQuery.fn.PMA_confirm = function (question, url, callbackFn) {
2509
+ var confirmState = PMA_commonParams.get('confirm');
2510
+ if (! confirmState) {
2511
+ // user does not want to confirm
2512
+ if ($.isFunction(callbackFn)) {
2513
+ callbackFn.call(this, url);
2514
+ return true;
2515
+ }
2516
+ }
2517
+ if (PMA_messages.strDoYouReally === '') {
2518
+ return true;
2519
+ }
2520
+
2521
+ /**
2522
+ * @var button_options Object that stores the options passed to jQueryUI
2523
+ * dialog
2524
+ */
2525
+ var button_options = [
2526
+ {
2527
+ text: PMA_messages.strOK,
2528
+ 'class': 'submitOK',
2529
+ click: function () {
2530
+ $(this).dialog("close");
2531
+ if ($.isFunction(callbackFn)) {
2532
+ callbackFn.call(this, url);
2533
+ }
2534
+ }
2535
+ },
2536
+ {
2537
+ text: PMA_messages.strCancel,
2538
+ 'class': 'submitCancel',
2539
+ click: function () {
2540
+ $(this).dialog("close");
2541
+ }
2542
+ }
2543
+ ];
2544
+
2545
+ $('<div/>', {'id': 'confirm_dialog'})
2546
+ .prepend(question)
2547
+ .dialog({
2548
+ buttons: button_options,
2549
+ close: function () {
2550
+ $(this).remove();
2551
+ },
2552
+ modal: true
2553
+ });
2554
+ };
2555
+
2556
+ /**
2557
+ * jQuery function to sort a table's body after a new row has been appended to it.
2558
+ * Also fixes the even/odd classes of the table rows at the end.
2559
+ *
2560
+ * @param string text_selector string to select the sortKey's text
2561
+ *
2562
+ * @return jQuery Object for chaining purposes
2563
+ */
2564
+ jQuery.fn.PMA_sort_table = function (text_selector) {
2565
+ return this.each(function () {
2566
+
2567
+ /**
2568
+ * @var table_body Object referring to the table's <tbody> element
2569
+ */
2570
+ var table_body = $(this);
2571
+ /**
2572
+ * @var rows Object referring to the collection of rows in {@link table_body}
2573
+ */
2574
+ var rows = $(this).find('tr').get();
2575
+
2576
+ //get the text of the field that we will sort by
2577
+ $.each(rows, function (index, row) {
2578
+ row.sortKey = $.trim($(row).find(text_selector).text().toLowerCase());
2579
+ });
2580
+
2581
+ //get the sorted order
2582
+ rows.sort(function (a, b) {
2583
+ if (a.sortKey < b.sortKey) {
2584
+ return -1;
2585
+ }
2586
+ if (a.sortKey > b.sortKey) {
2587
+ return 1;
2588
+ }
2589
+ return 0;
2590
+ });
2591
+
2592
+ //pull out each row from the table and then append it according to it's order
2593
+ $.each(rows, function (index, row) {
2594
+ $(table_body).append(row);
2595
+ row.sortKey = null;
2596
+ });
2597
+
2598
+ //Re-check the classes of each row
2599
+ $(this).find('tr:odd')
2600
+ .removeClass('even').addClass('odd')
2601
+ .end()
2602
+ .find('tr:even')
2603
+ .removeClass('odd').addClass('even');
2604
+ });
2605
+ };
2606
+
2607
+ /**
2608
+ * Unbind all event handlers before tearing down a page
2609
+ */
2610
+ AJAX.registerTeardown('functions.js', function () {
2611
+ $(document).off('submit', "#create_table_form_minimal.ajax");
2612
+ $(document).off('submit', "form.create_table_form.ajax");
2613
+ $(document).off('click', "form.create_table_form.ajax input[name=submit_num_fields]");
2614
+ $(document).off('keyup', "form.create_table_form.ajax input");
2615
+ });
2616
+
2617
+ /**
2618
+ * jQuery coding for 'Create Table'. Used on db_operations.php,
2619
+ * db_structure.php and db_tracking.php (i.e., wherever
2620
+ * libraries/display_create_table.lib.php is used)
2621
+ *
2622
+ * Attach Ajax Event handlers for Create Table
2623
+ */
2624
+ AJAX.registerOnload('functions.js', function () {
2625
+ /**
2626
+ * Attach event handler for submission of create table form (save)
2627
+ */
2628
+ $(document).on('submit', "form.create_table_form.ajax", function (event) {
2629
+ event.preventDefault();
2630
+
2631
+ /**
2632
+ * @var the_form object referring to the create table form
2633
+ */
2634
+ var $form = $(this);
2635
+
2636
+ /*
2637
+ * First validate the form; if there is a problem, avoid submitting it
2638
+ *
2639
+ * checkTableEditForm() needs a pure element and not a jQuery object,
2640
+ * this is why we pass $form[0] as a parameter (the jQuery object
2641
+ * is actually an array of DOM elements)
2642
+ */
2643
+
2644
+ if (checkTableEditForm($form[0], $form.find('input[name=orig_num_fields]').val())) {
2645
+ PMA_prepareForAjaxRequest($form);
2646
+ if (PMA_checkReservedWordColumns($form)) {
2647
+ PMA_ajaxShowMessage(PMA_messages.strProcessingRequest);
2648
+ //User wants to submit the form
2649
+ $.post($form.attr('action'), $form.serialize() + "&do_save_data=1", function (data) {
2650
+ if (typeof data !== 'undefined' && data.success === true) {
2651
+ $('#properties_message')
2652
+ .removeClass('error')
2653
+ .html('');
2654
+ PMA_ajaxShowMessage(data.message);
2655
+ // Only if the create table dialog (distinct panel) exists
2656
+ if ($("#create_table_dialog").length > 0) {
2657
+ $("#create_table_dialog").dialog("close").remove();
2658
+ }
2659
+ $('#tableslistcontainer').before(data.formatted_sql);
2660
+
2661
+ /**
2662
+ * @var tables_table Object referring to the <tbody> element that holds the list of tables
2663
+ */
2664
+ var tables_table = $("#tablesForm").find("tbody").not("#tbl_summary_row");
2665
+ // this is the first table created in this db
2666
+ if (tables_table.length === 0) {
2667
+ PMA_commonActions.refreshMain(
2668
+ PMA_commonParams.get('opendb_url')
2669
+ );
2670
+ } else {
2671
+ /**
2672
+ * @var curr_last_row Object referring to the last <tr> element in {@link tables_table}
2673
+ */
2674
+ var curr_last_row = $(tables_table).find('tr:last');
2675
+ /**
2676
+ * @var curr_last_row_index_string String containing the index of {@link curr_last_row}
2677
+ */
2678
+ var curr_last_row_index_string = $(curr_last_row).find('input:checkbox').attr('id').match(/\d+/)[0];
2679
+ /**
2680
+ * @var curr_last_row_index Index of {@link curr_last_row}
2681
+ */
2682
+ var curr_last_row_index = parseFloat(curr_last_row_index_string);
2683
+ /**
2684
+ * @var new_last_row_index Index of the new row to be appended to {@link tables_table}
2685
+ */
2686
+ var new_last_row_index = curr_last_row_index + 1;
2687
+ /**
2688
+ * @var new_last_row_id String containing the id of the row to be appended to {@link tables_table}
2689
+ */
2690
+ var new_last_row_id = 'checkbox_tbl_' + new_last_row_index;
2691
+
2692
+ data.new_table_string = data.new_table_string.replace(/checkbox_tbl_/, new_last_row_id);
2693
+ //append to table
2694
+ $(data.new_table_string)
2695
+ .appendTo(tables_table);
2696
+
2697
+ //Sort the table
2698
+ $(tables_table).PMA_sort_table('th');
2699
+
2700
+ // Adjust summary row
2701
+ PMA_adjustTotals();
2702
+ }
2703
+
2704
+ //Refresh navigation as a new table has been added
2705
+ PMA_reloadNavigation();
2706
+ // Redirect to table structure page on creation of new table
2707
+ var params_12 = 'ajax_request=true&ajax_page_request=true';
2708
+ params_12 += AJAX.cache.menus.getRequestParam();
2709
+ tblStruct_url = 'tbl_structure.php?db='+ data._params.db + '&token='+data._params.token +'&goto=db_structure.php&table='+data._params.table+'';
2710
+ $.get(tblStruct_url, params_12, AJAX.responseHandler);
2711
+ } else {
2712
+ PMA_ajaxShowMessage(
2713
+ '<div class="error">' + data.error + '</div>',
2714
+ false
2715
+ );
2716
+ }
2717
+ }); // end $.post()
2718
+ }
2719
+ } // end if (checkTableEditForm() )
2720
+ }); // end create table form (save)
2721
+
2722
+ /**
2723
+ * Attach event handler for create table form (add fields)
2724
+ */
2725
+ $(document).on('click', "form.create_table_form.ajax input[name=submit_num_fields]", function (event) {
2726
+ event.preventDefault();
2727
+ /**
2728
+ * @var the_form object referring to the create table form
2729
+ */
2730
+ var $form = $(this).closest('form');
2731
+
2732
+ if (!checkFormElementInRange(this.form, 'added_fields', PMA_messages.strLeastColumnError, 1)) {
2733
+ return;
2734
+ }
2735
+
2736
+ var $msgbox = PMA_ajaxShowMessage(PMA_messages.strProcessingRequest);
2737
+ PMA_prepareForAjaxRequest($form);
2738
+
2739
+ //User wants to add more fields to the table
2740
+ $.post($form.attr('action'), $form.serialize() + "&submit_num_fields=1", function (data) {
2741
+ if (typeof data !== 'undefined' && data.success) {
2742
+ $("#page_content").html(data.message);
2743
+ PMA_highlightSQL($('#page_content'));
2744
+ PMA_verifyColumnsProperties();
2745
+ PMA_hideShowConnection($('.create_table_form select[name=tbl_storage_engine]'));
2746
+ PMA_ajaxRemoveMessage($msgbox);
2747
+ } else {
2748
+ PMA_ajaxShowMessage(data.error);
2749
+ }
2750
+ }); //end $.post()
2751
+ }); // end create table form (add fields)
2752
+
2753
+ $(document).on('keydown', "form.create_table_form.ajax input[name=added_fields]", function (event) {
2754
+ if (event.keyCode == 13) {
2755
+ event.preventDefault();
2756
+ event.stopImmediatePropagation();
2757
+ $(this)
2758
+ .closest('form')
2759
+ .find('input[name=submit_num_fields]')
2760
+ .click();
2761
+ }
2762
+ });
2763
+ $("input[value=AUTO_INCREMENT]").change(function(){
2764
+ if (this.checked) {
2765
+ var col = /\d/.exec($(this).attr('name'));
2766
+ col = col[0];
2767
+ var index_val = $('select[name="field_key['+col+']"]').val();
2768
+ if (index_val === 'none_'+col) {
2769
+ $('select[name="field_key['+col+']"]').val('primary_'+col).change();
2770
+ }
2771
+ }
2772
+ });
2773
+ $('body')
2774
+ .off('click', 'input.preview_sql')
2775
+ .on('click', 'input.preview_sql', function () {
2776
+ var $form = $(this).closest('form');
2777
+ PMA_previewSQL($form);
2778
+ });
2779
+ });
2780
+
2781
+
2782
+ /**
2783
+ * Validates the password field in a form
2784
+ *
2785
+ * @see PMA_messages.strPasswordEmpty
2786
+ * @see PMA_messages.strPasswordNotSame
2787
+ * @param object $the_form The form to be validated
2788
+ * @return bool
2789
+ */
2790
+ function PMA_checkPassword($the_form)
2791
+ {
2792
+ // Did the user select 'no password'?
2793
+ if ($the_form.find('#nopass_1').is(':checked')) {
2794
+ return true;
2795
+ } else {
2796
+ var $pred = $the_form.find('#select_pred_password');
2797
+ if ($pred.length && ($pred.val() == 'none' || $pred.val() == 'keep')) {
2798
+ return true;
2799
+ }
2800
+ }
2801
+
2802
+ var $password = $the_form.find('input[name=pma_pw]');
2803
+ var $password_repeat = $the_form.find('input[name=pma_pw2]');
2804
+ var alert_msg = false;
2805
+
2806
+ if ($password.val() === '') {
2807
+ alert_msg = PMA_messages.strPasswordEmpty;
2808
+ } else if ($password.val() != $password_repeat.val()) {
2809
+ alert_msg = PMA_messages.strPasswordNotSame;
2810
+ }
2811
+
2812
+ if (alert_msg) {
2813
+ alert(alert_msg);
2814
+ $password.val('');
2815
+ $password_repeat.val('');
2816
+ $password.focus();
2817
+ return false;
2818
+ }
2819
+ return true;
2820
+ }
2821
+
2822
+ /**
2823
+ * Unbind all event handlers before tearing down a page
2824
+ */
2825
+ AJAX.registerTeardown('functions.js', function () {
2826
+ $(document).off('click', '#change_password_anchor.ajax');
2827
+ });
2828
+ /**
2829
+ * Attach Ajax event handlers for 'Change Password' on index.php
2830
+ */
2831
+ AJAX.registerOnload('functions.js', function () {
2832
+
2833
+ /**
2834
+ * Attach Ajax event handler on the change password anchor
2835
+ */
2836
+ $(document).on('click', '#change_password_anchor.ajax', function (event) {
2837
+ event.preventDefault();
2838
+
2839
+ var $msgbox = PMA_ajaxShowMessage();
2840
+
2841
+ /**
2842
+ * @var button_options Object containing options to be passed to jQueryUI's dialog
2843
+ */
2844
+ var button_options = {};
2845
+ button_options[PMA_messages.strGo] = function () {
2846
+
2847
+ event.preventDefault();
2848
+
2849
+ /**
2850
+ * @var $the_form Object referring to the change password form
2851
+ */
2852
+ var $the_form = $("#change_password_form");
2853
+
2854
+ if (! PMA_checkPassword($the_form)) {
2855
+ return false;
2856
+ }
2857
+
2858
+ /**
2859
+ * @var this_value String containing the value of the submit button.
2860
+ * Need to append this for the change password form on Server Privileges
2861
+ * page to work
2862
+ */
2863
+ var this_value = $(this).val();
2864
+
2865
+ var $msgbox = PMA_ajaxShowMessage(PMA_messages.strProcessingRequest);
2866
+ $the_form.append('<input type="hidden" name="ajax_request" value="true" />');
2867
+
2868
+ $.post($the_form.attr('action'), $the_form.serialize() + '&change_pw=' + this_value, function (data) {
2869
+ if (typeof data !== 'undefined' && data.success === true) {
2870
+ $("#page_content").prepend(data.message);
2871
+ PMA_highlightSQL($('#page_content'));
2872
+ $("#change_password_dialog").hide().remove();
2873
+ $("#edit_user_dialog").dialog("close").remove();
2874
+ PMA_ajaxRemoveMessage($msgbox);
2875
+ }
2876
+ else {
2877
+ PMA_ajaxShowMessage(data.error, false);
2878
+ }
2879
+ }); // end $.post()
2880
+ };
2881
+
2882
+ button_options[PMA_messages.strCancel] = function () {
2883
+ $(this).dialog('close');
2884
+ };
2885
+ $.get($(this).attr('href'), {'ajax_request': true}, function (data) {
2886
+ if (typeof data !== 'undefined' && data.success) {
2887
+ $('<div id="change_password_dialog"></div>')
2888
+ .dialog({
2889
+ title: PMA_messages.strChangePassword,
2890
+ width: 600,
2891
+ close: function (ev, ui) {
2892
+ $(this).remove();
2893
+ },
2894
+ buttons : button_options,
2895
+ modal: true
2896
+ })
2897
+ .append(data.message);
2898
+ // for this dialog, we remove the fieldset wrapping due to double headings
2899
+ $("fieldset#fieldset_change_password")
2900
+ .find("legend").remove().end()
2901
+ .find("table.noclick").unwrap().addClass("some-margin")
2902
+ .find("input#text_pma_pw").focus();
2903
+ displayPasswordGenerateButton();
2904
+ $('#fieldset_change_password_footer').hide();
2905
+ PMA_ajaxRemoveMessage($msgbox);
2906
+ $('#change_password_form').bind('submit', function (e) {
2907
+ e.preventDefault();
2908
+ $(this)
2909
+ .closest('.ui-dialog')
2910
+ .find('.ui-dialog-buttonpane .ui-button')
2911
+ .first()
2912
+ .click();
2913
+ });
2914
+ } else {
2915
+ PMA_ajaxShowMessage(data.error, false);
2916
+ }
2917
+ }); // end $.get()
2918
+ }); // end handler for change password anchor
2919
+ }); // end $() for Change Password
2920
+
2921
+ /**
2922
+ * Unbind all event handlers before tearing down a page
2923
+ */
2924
+ AJAX.registerTeardown('functions.js', function () {
2925
+ $(document).off('change', "select.column_type");
2926
+ $(document).off('change', "select.default_type");
2927
+ $(document).off('change', 'input.allow_null');
2928
+ $(document).off('change', '.create_table_form select[name=tbl_storage_engine]');
2929
+ });
2930
+ /**
2931
+ * Toggle the hiding/showing of the "Open in ENUM/SET editor" message when
2932
+ * the page loads and when the selected data type changes
2933
+ */
2934
+ AJAX.registerOnload('functions.js', function () {
2935
+ // is called here for normal page loads and also when opening
2936
+ // the Create table dialog
2937
+ PMA_verifyColumnsProperties();
2938
+ //
2939
+ // needs on() to work also in the Create Table dialog
2940
+ $(document).on('change', "select.column_type", function () {
2941
+ PMA_showNoticeForEnum($(this));
2942
+ });
2943
+ $(document).on('change', "select.default_type", function () {
2944
+ PMA_hideShowDefaultValue($(this));
2945
+ });
2946
+ $(document).on('change', 'input.allow_null', function () {
2947
+ PMA_validateDefaultValue($(this));
2948
+ });
2949
+ $(document).on('change', '.create_table_form select[name=tbl_storage_engine]', function () {
2950
+ PMA_hideShowConnection($(this));
2951
+ });
2952
+ });
2953
+
2954
+ /**
2955
+ * If the chosen storage engine is FEDERATED show connection field. Hide otherwise
2956
+ *
2957
+ * @param $engine_selector storage engine selector
2958
+ */
2959
+ function PMA_hideShowConnection($engine_selector)
2960
+ {
2961
+ var $connection = $('.create_table_form input[name=connection]');
2962
+ var index = $connection.parent('td').index() + 1;
2963
+ var $labelTh = $connection.parents('tr').prev('tr').children('th:nth-child(' + index + ')');
2964
+ if ($engine_selector.val() != 'FEDERATED') {
2965
+ $connection
2966
+ .prop('disabled', true)
2967
+ .parent('td').hide();
2968
+ $labelTh.hide();
2969
+ } else {
2970
+ $connection
2971
+ .prop('disabled', false)
2972
+ .parent('td').show();
2973
+ $labelTh.show();
2974
+ }
2975
+ }
2976
+
2977
+ /**
2978
+ * If the column does not allow NULL values, makes sure that default is not NULL
2979
+ */
2980
+ function PMA_validateDefaultValue($null_checkbox)
2981
+ {
2982
+ if (! $null_checkbox.prop('checked')) {
2983
+ var $default = $null_checkbox.closest('tr').find('.default_type');
2984
+ if ($default.val() == 'NULL') {
2985
+ $default.val('NONE');
2986
+ }
2987
+ }
2988
+ }
2989
+
2990
+ /**
2991
+ * function to populate the input fields on picking a column from central list
2992
+ *
2993
+ * @param string input_id input id of the name field for the column to be populated
2994
+ * @param integer offset of the selected column in central list of columns
2995
+ */
2996
+ function autoPopulate(input_id, offset)
2997
+ {
2998
+ var db = PMA_commonParams.get('db');
2999
+ var table = PMA_commonParams.get('table');
3000
+ input_id = input_id.substring(0, input_id.length - 1);
3001
+ $('#'+input_id+'1').val(central_column_list[db+'_'+table][offset].col_name);
3002
+ var col_type = central_column_list[db+'_'+table][offset].col_type.toUpperCase();
3003
+ $('#'+input_id+'2').val(col_type);
3004
+ $('#'+input_id+'3').val(central_column_list[db+'_'+table][offset].col_length);
3005
+ if(col_type === 'ENUM' || col_type === 'SET') {
3006
+ $('#'+input_id+'3').next().show();
3007
+ } else {
3008
+ $('#'+input_id+'3').next().hide();
3009
+ }
3010
+ var col_default = central_column_list[db+'_'+table][offset].col_default.toUpperCase();
3011
+ if (col_default !== '' && col_default !== 'NULL' && col_default !== 'CURRENT_TIMESTAMP') {
3012
+ $('#'+input_id+'4').val("USER_DEFINED");
3013
+ $('#'+input_id+'4').next().next().show();
3014
+ $('#'+input_id+'4').next().next().val(central_column_list[db+'_'+table][offset].col_default);
3015
+ } else {
3016
+ $('#'+input_id+'4').val(central_column_list[db+'_'+table][offset].col_default);
3017
+ $('#'+input_id+'4').next().next().hide();
3018
+ }
3019
+ $('#'+input_id+'5').val(central_column_list[db+'_'+table][offset].col_collation);
3020
+ $('#'+input_id+'6').val(central_column_list[db+'_'+table][offset].col_attribute);
3021
+ if(central_column_list[db+'_'+table][offset].col_extra === 'on update CURRENT_TIMESTAMP') {
3022
+ $('#'+input_id+'6').val(central_column_list[db+'_'+table][offset].col_extra);
3023
+ }
3024
+ if(central_column_list[db+'_'+table][offset].col_extra.toUpperCase() === 'AUTO_INCREMENT') {
3025
+ $('#'+input_id+'9').prop("checked",true).change();
3026
+ } else {
3027
+ $('#'+input_id+'9').prop("checked",false);
3028
+ }
3029
+ if(central_column_list[db+'_'+table][offset].col_isNull !== '0') {
3030
+ $('#'+input_id+'7').prop("checked",true);
3031
+ } else {
3032
+ $('#'+input_id+'7').prop("checked",false);
3033
+ }
3034
+ }
3035
+
3036
+ /**
3037
+ * Unbind all event handlers before tearing down a page
3038
+ */
3039
+ AJAX.registerTeardown('functions.js', function () {
3040
+ $(document).off('click', "a.open_enum_editor");
3041
+ $(document).off('click', "input.add_value");
3042
+ $(document).off('click', "#enum_editor td.drop");
3043
+ $(document).off('click', 'a.central_columns_dialog');
3044
+ });
3045
+ /**
3046
+ * @var $enum_editor_dialog An object that points to the jQuery
3047
+ * dialog of the ENUM/SET editor
3048
+ */
3049
+ var $enum_editor_dialog = null;
3050
+ /**
3051
+ * Opens the ENUM/SET editor and controls its functions
3052
+ */
3053
+ AJAX.registerOnload('functions.js', function () {
3054
+ $(document).on('click', "a.open_enum_editor", function () {
3055
+ // Get the name of the column that is being edited
3056
+ var colname = $(this).closest('tr').find('input:first').val();
3057
+ var title;
3058
+ var i;
3059
+ // And use it to make up a title for the page
3060
+ if (colname.length < 1) {
3061
+ title = PMA_messages.enum_newColumnVals;
3062
+ } else {
3063
+ title = PMA_messages.enum_columnVals.replace(
3064
+ /%s/,
3065
+ '"' + escapeHtml(decodeURIComponent(colname)) + '"'
3066
+ );
3067
+ }
3068
+ // Get the values as a string
3069
+ var inputstring = $(this)
3070
+ .closest('td')
3071
+ .find("input")
3072
+ .val();
3073
+ // Escape html entities
3074
+ inputstring = $('<div/>')
3075
+ .text(inputstring)
3076
+ .html();
3077
+ // Parse the values, escaping quotes and
3078
+ // slashes on the fly, into an array
3079
+ var values = [];
3080
+ var in_string = false;
3081
+ var curr, next, buffer = '';
3082
+ for (i = 0; i < inputstring.length; i++) {
3083
+ curr = inputstring.charAt(i);
3084
+ next = i == inputstring.length ? '' : inputstring.charAt(i + 1);
3085
+ if (! in_string && curr == "'") {
3086
+ in_string = true;
3087
+ } else if (in_string && curr == "\\" && next == "\\") {
3088
+ buffer += "&#92;";
3089
+ i++;
3090
+ } else if (in_string && next == "'" && (curr == "'" || curr == "\\")) {
3091
+ buffer += "&#39;";
3092
+ i++;
3093
+ } else if (in_string && curr == "'") {
3094
+ in_string = false;
3095
+ values.push(buffer);
3096
+ buffer = '';
3097
+ } else if (in_string) {
3098
+ buffer += curr;
3099
+ }
3100
+ }
3101
+ if (buffer.length > 0) {
3102
+ // The leftovers in the buffer are the last value (if any)
3103
+ values.push(buffer);
3104
+ }
3105
+ var fields = '';
3106
+ // If there are no values, maybe the user is about to make a
3107
+ // new list so we add a few for him/her to get started with.
3108
+ if (values.length === 0) {
3109
+ values.push('', '', '', '');
3110
+ }
3111
+ // Add the parsed values to the editor
3112
+ var drop_icon = PMA_getImage('b_drop.png');
3113
+ for (i = 0; i < values.length; i++) {
3114
+ fields += "<tr><td>" +
3115
+ "<input type='text' value='" + values[i] + "'/>" +
3116
+ "</td><td class='drop'>" +
3117
+ drop_icon +
3118
+ "</td></tr>";
3119
+ }
3120
+ /**
3121
+ * @var dialog HTML code for the ENUM/SET dialog
3122
+ */
3123
+ var dialog = "<div id='enum_editor'>" +
3124
+ "<fieldset>" +
3125
+ "<legend>" + title + "</legend>" +
3126
+ "<p>" + PMA_getImage('s_notice.png') +
3127
+ PMA_messages.enum_hint + "</p>" +
3128
+ "<table class='values'>" + fields + "</table>" +
3129
+ "</fieldset><fieldset class='tblFooters'>" +
3130
+ "<table class='add'><tr><td>" +
3131
+ "<div class='slider'></div>" +
3132
+ "</td><td>" +
3133
+ "<form><div><input type='submit' class='add_value' value='" +
3134
+ PMA_sprintf(PMA_messages.enum_addValue, 1) +
3135
+ "'/></div></form>" +
3136
+ "</td></tr></table>" +
3137
+ "<input type='hidden' value='" + // So we know which column's data is being edited
3138
+ $(this).closest('td').find("input").attr("id") +
3139
+ "' />" +
3140
+ "</fieldset>" +
3141
+ "</div>";
3142
+ /**
3143
+ * @var Defines functions to be called when the buttons in
3144
+ * the buttonOptions jQuery dialog bar are pressed
3145
+ */
3146
+ var buttonOptions = {};
3147
+ buttonOptions[PMA_messages.strGo] = function () {
3148
+ // When the submit button is clicked,
3149
+ // put the data back into the original form
3150
+ var value_array = [];
3151
+ $(this).find(".values input").each(function (index, elm) {
3152
+ var val = elm.value.replace(/\\/g, '\\\\').replace(/'/g, "''");
3153
+ value_array.push("'" + val + "'");
3154
+ });
3155
+ // get the Length/Values text field where this value belongs
3156
+ var values_id = $(this).find("input[type='hidden']").val();
3157
+ $("input#" + values_id).val(value_array.join(","));
3158
+ $(this).dialog("close");
3159
+ };
3160
+ buttonOptions[PMA_messages.strClose] = function () {
3161
+ $(this).dialog("close");
3162
+ };
3163
+ // Show the dialog
3164
+ var width = parseInt(
3165
+ (parseInt($('html').css('font-size'), 10) / 13) * 340,
3166
+ 10
3167
+ );
3168
+ if (! width) {
3169
+ width = 340;
3170
+ }
3171
+ $enum_editor_dialog = $(dialog).dialog({
3172
+ minWidth: width,
3173
+ maxHeight: 450,
3174
+ modal: true,
3175
+ title: PMA_messages.enum_editor,
3176
+ buttons: buttonOptions,
3177
+ open: function () {
3178
+ // Focus the "Go" button after opening the dialog
3179
+ $(this).closest('.ui-dialog').find('.ui-dialog-buttonpane button:first').focus();
3180
+ },
3181
+ close: function () {
3182
+ $(this).remove();
3183
+ }
3184
+ });
3185
+ // slider for choosing how many fields to add
3186
+ $enum_editor_dialog.find(".slider").slider({
3187
+ animate: true,
3188
+ range: "min",
3189
+ value: 1,
3190
+ min: 1,
3191
+ max: 9,
3192
+ slide: function (event, ui) {
3193
+ $(this).closest('table').find('input[type=submit]').val(
3194
+ PMA_sprintf(PMA_messages.enum_addValue, ui.value)
3195
+ );
3196
+ }
3197
+ });
3198
+ // Focus the slider, otherwise it looks nearly transparent
3199
+ $('a.ui-slider-handle').addClass('ui-state-focus');
3200
+ return false;
3201
+ });
3202
+
3203
+ $(document).on('click', 'a.central_columns_dialog', function (e) {
3204
+ var href = "db_central_columns.php";
3205
+ var db = PMA_commonParams.get('db');
3206
+ var table = PMA_commonParams.get('table');
3207
+ var maxRows = $(this).data('maxrows');
3208
+ var pick = $(this).data('pick');
3209
+ if (pick !== false) {
3210
+ pick = true;
3211
+ }
3212
+ var params = {
3213
+ 'ajax_request' : true,
3214
+ 'token' : PMA_commonParams.get('token'),
3215
+ 'db' : PMA_commonParams.get('db'),
3216
+ 'cur_table' : PMA_commonParams.get('table'),
3217
+ 'getColumnList':true
3218
+ };
3219
+ var colid = $(this).closest('td').find("input").attr("id");
3220
+ var fields = '';
3221
+ if (! (db + '_' + table in central_column_list)) {
3222
+ central_column_list.push(db + '_' + table);
3223
+ $.ajax({
3224
+ type: 'POST',
3225
+ url: href,
3226
+ data: params,
3227
+ success: function (data) {
3228
+ central_column_list[db + '_' + table] = $.parseJSON(data.message);
3229
+ },
3230
+ async:false
3231
+ });
3232
+ }
3233
+ var i = 0;
3234
+ var list_size = central_column_list[db + '_' + table].length;
3235
+ var min = (list_size <= maxRows) ? list_size : maxRows;
3236
+ for (i = 0; i < min; i++) {
3237
+
3238
+ fields += '<tr><td><div><span style="font-size:14px; font-weight:bold">' +
3239
+ escapeHtml(central_column_list[db + '_' + table][i].col_name) +
3240
+ '</span><br><span style="color:gray">' + central_column_list[db + '_' + table][i].col_type;
3241
+
3242
+ if (central_column_list[db + '_' + table][i].col_attribute !== '') {
3243
+ fields += '(' + escapeHtml(central_column_list[db + '_' + table][i].col_attribute) + ') ';
3244
+ }
3245
+ if (central_column_list[db + '_' + table][i].col_length !== '') {
3246
+ fields += '(' + escapeHtml(central_column_list[db + '_' + table][i].col_length) +') ';
3247
+ }
3248
+ fields += escapeHtml(central_column_list[db + '_' + table][i].col_extra) + '</span>' +
3249
+ '</div></td>';
3250
+ if (pick) {
3251
+ fields += '<td><input class="pick" style="width:100%" type="submit" value="' +
3252
+ PMA_messages.pickColumn + '" onclick="autoPopulate(\'' + colid + '\',' + i + ')"/></td>';
3253
+ }
3254
+ fields += '</tr>';
3255
+ }
3256
+ var result_pointer = i;
3257
+ var search_in = '<input type="text" class="filter_rows" placeholder="' + PMA_messages.searchList + '">';
3258
+ if (fields === '') {
3259
+ fields = PMA_sprintf(PMA_messages.strEmptyCentralList, "'" + db + "'");
3260
+ search_in = '';
3261
+ }
3262
+ var seeMore = '';
3263
+ if (list_size > maxRows) {
3264
+ seeMore = "<fieldset class='tblFooters' style='text-align:center;font-weight:bold'>" +
3265
+ "<a href='#' id='seeMore'>" + PMA_messages.seeMore + "</a></fieldset>";
3266
+ }
3267
+ var central_columns_dialog = "<div style='max-height:400px'>" +
3268
+ "<fieldset>" +
3269
+ search_in +
3270
+ "<table id='col_list' style='width:100%' class='values'>" + fields + "</table>" +
3271
+ "</fieldset>" +
3272
+ seeMore +
3273
+ "</div>";
3274
+
3275
+ var width = parseInt(
3276
+ (parseInt($('html').css('font-size'), 10) / 13) * 500,
3277
+ 10
3278
+ );
3279
+ if (! width) {
3280
+ width = 500;
3281
+ }
3282
+ var buttonOptions = {};
3283
+ var $central_columns_dialog = $(central_columns_dialog).dialog({
3284
+ minWidth: width,
3285
+ maxHeight: 450,
3286
+ modal: true,
3287
+ title: PMA_messages.pickColumnTitle,
3288
+ buttons: buttonOptions,
3289
+ open: function () {
3290
+ $('#col_list').on("click", ".pick", function (){
3291
+ $central_columns_dialog.remove();
3292
+ });
3293
+ $(".filter_rows").on("keyup", function () {
3294
+ $.uiTableFilter($("#col_list"), $(this).val());
3295
+ });
3296
+ $("#seeMore").click(function() {
3297
+ fields = '';
3298
+ min = (list_size <= maxRows + result_pointer) ? list_size : maxRows + result_pointer;
3299
+ for (i = result_pointer; i < min; i++) {
3300
+
3301
+ fields += '<tr><td><div><span style="font-size:14px; font-weight:bold">' +
3302
+ central_column_list[db + '_' + table][i].col_name +
3303
+ '</span><br><span style="color:gray">' +
3304
+ central_column_list[db + '_' + table][i].col_type;
3305
+
3306
+ if (central_column_list[db + '_' + table][i].col_attribute !== '') {
3307
+ fields += '(' + central_column_list[db + '_' + table][i].col_attribute + ') ';
3308
+ }
3309
+ if (central_column_list[db + '_' + table][i].col_length !== '') {
3310
+ fields += '(' + central_column_list[db + '_' + table][i].col_length + ') ';
3311
+ }
3312
+ fields += central_column_list[db + '_' + table][i].col_extra + '</span>' +
3313
+ '</div></td>';
3314
+ if (pick) {
3315
+ fields += '<td><input class="pick" style="width:100%" type="submit" value="' +
3316
+ PMA_messages.pickColumn + '" onclick="autoPopulate(\'' + colid + '\',' + i + ')"/></td>';
3317
+ }
3318
+ fields += '</tr>';
3319
+ }
3320
+ $("#col_list").append(fields);
3321
+ result_pointer = i;
3322
+ if (result_pointer === list_size) {
3323
+ $('.tblFooters').hide();
3324
+ }
3325
+ return false;
3326
+ });
3327
+ $(this).closest('.ui-dialog').find('.ui-dialog-buttonpane button:first').focus();
3328
+ },
3329
+ close: function () {
3330
+ $('#col_list').off("click", ".pick");
3331
+ $(".filter_rows").off("keyup");
3332
+ $(this).remove();
3333
+ }
3334
+ });
3335
+ return false;
3336
+ });
3337
+
3338
+ // $(document).on('click', 'a.show_central_list',function(e) {
3339
+
3340
+ // });
3341
+ // When "add a new value" is clicked, append an empty text field
3342
+ $(document).on('click', "input.add_value", function (e) {
3343
+ e.preventDefault();
3344
+ var num_new_rows = $enum_editor_dialog.find("div.slider").slider('value');
3345
+ while (num_new_rows--) {
3346
+ $enum_editor_dialog.find('.values')
3347
+ .append(
3348
+ "<tr style='display: none;'><td>" +
3349
+ "<input type='text' />" +
3350
+ "</td><td class='drop'>" +
3351
+ PMA_getImage('b_drop.png') +
3352
+ "</td></tr>"
3353
+ )
3354
+ .find('tr:last')
3355
+ .show('fast');
3356
+ }
3357
+ });
3358
+
3359
+ // Removes the specified row from the enum editor
3360
+ $(document).on('click', "#enum_editor td.drop", function () {
3361
+ $(this).closest('tr').hide('fast', function () {
3362
+ $(this).remove();
3363
+ });
3364
+ });
3365
+ });
3366
+
3367
+ /**
3368
+ * Ensures indexes names are valid according to their type and, for a primary
3369
+ * key, lock index name to 'PRIMARY'
3370
+ * @param string form_id Variable which parses the form name as
3371
+ * the input
3372
+ * @return boolean false if there is no index form, true else
3373
+ */
3374
+ function checkIndexName(form_id)
3375
+ {
3376
+ if ($("#" + form_id).length === 0) {
3377
+ return false;
3378
+ }
3379
+
3380
+ // Gets the elements pointers
3381
+ var $the_idx_name = $("#input_index_name");
3382
+ var $the_idx_choice = $("#select_index_choice");
3383
+
3384
+ // Index is a primary key
3385
+ if ($the_idx_choice.find("option:selected").val() == 'PRIMARY') {
3386
+ $the_idx_name.val('PRIMARY');
3387
+ $the_idx_name.prop("disabled", true);
3388
+ }
3389
+
3390
+ // Other cases
3391
+ else {
3392
+ if ($the_idx_name.val() == 'PRIMARY') {
3393
+ $the_idx_name.val("");
3394
+ }
3395
+ $the_idx_name.prop("disabled", false);
3396
+ }
3397
+
3398
+ return true;
3399
+ } // end of the 'checkIndexName()' function
3400
+
3401
+ AJAX.registerTeardown('functions.js', function () {
3402
+ $(document).off('click', '#index_frm input[type=submit]');
3403
+ });
3404
+ AJAX.registerOnload('functions.js', function () {
3405
+ /**
3406
+ * Handler for adding more columns to an index in the editor
3407
+ */
3408
+ $(document).on('click', '#index_frm input[type=submit]', function (event) {
3409
+ event.preventDefault();
3410
+ var rows_to_add = $(this)
3411
+ .closest('fieldset')
3412
+ .find('.slider')
3413
+ .slider('value');
3414
+
3415
+ var tempEmptyVal = function () {
3416
+ $(this).val('');
3417
+ };
3418
+
3419
+ var tempSetFocus = function () {
3420
+ if ($(this).find("option:selected").val() === '') {
3421
+ return true;
3422
+ }
3423
+ $(this).closest("tr").find("input").focus();
3424
+ };
3425
+
3426
+ while (rows_to_add--) {
3427
+ var $newrow = $('#index_columns')
3428
+ .find('tbody > tr:first')
3429
+ .clone()
3430
+ .appendTo(
3431
+ $('#index_columns').find('tbody')
3432
+ );
3433
+ $newrow.find(':input').each(tempEmptyVal);
3434
+ // focus index size input on column picked
3435
+ $newrow.find('select').change(tempSetFocus);
3436
+ }
3437
+ });
3438
+ });
3439
+
3440
+ function indexEditorDialog(url, title, callback_success, callback_failure)
3441
+ {
3442
+ /*Remove the hidden dialogs if there are*/
3443
+ if ($('#edit_index_dialog').length !== 0) {
3444
+ $('#edit_index_dialog').remove();
3445
+ }
3446
+ var $div = $('<div id="edit_index_dialog"></div>');
3447
+
3448
+ /**
3449
+ * @var button_options Object that stores the options
3450
+ * passed to jQueryUI dialog
3451
+ */
3452
+ var button_options = {};
3453
+ button_options[PMA_messages.strGo] = function () {
3454
+ /**
3455
+ * @var the_form object referring to the export form
3456
+ */
3457
+ var $form = $("#index_frm");
3458
+ var $msgbox = PMA_ajaxShowMessage(PMA_messages.strProcessingRequest);
3459
+ PMA_prepareForAjaxRequest($form);
3460
+ //User wants to submit the form
3461
+ $.post($form.attr('action'), $form.serialize() + "&do_save_data=1", function (data) {
3462
+ if ($(".sqlqueryresults").length !== 0) {
3463
+ $(".sqlqueryresults").remove();
3464
+ }
3465
+ if (typeof data !== 'undefined' && data.success === true) {
3466
+ PMA_ajaxShowMessage(data.message);
3467
+ if ($('.result_query').length) {
3468
+ $('.result_query').remove();
3469
+ }
3470
+ if (data.sql_query) {
3471
+ $('<div class="result_query"></div>')
3472
+ .html(data.sql_query)
3473
+ .prependTo('#page_content');
3474
+ PMA_highlightSQL($('#page_content'));
3475
+ }
3476
+ $(".result_query .notice").remove();
3477
+ $(".result_query").prepend(data.message);
3478
+ /*Reload the field form*/
3479
+ $("#table_index").remove();
3480
+ $("<div id='temp_div'><div>")
3481
+ .append(data.index_table)
3482
+ .find("#table_index")
3483
+ .insertAfter("#index_header");
3484
+ if ($("#edit_index_dialog").length > 0) {
3485
+ $("#edit_index_dialog").dialog("close");
3486
+ }
3487
+ $('div.no_indexes_defined').hide();
3488
+ if (callback_success) {
3489
+ callback_success();
3490
+ }
3491
+ PMA_reloadNavigation();
3492
+ } else {
3493
+ var $temp_div = $("<div id='temp_div'><div>").append(data.error);
3494
+ var $error;
3495
+ if ($temp_div.find(".error code").length !== 0) {
3496
+ $error = $temp_div.find(".error code").addClass("error");
3497
+ } else {
3498
+ $error = $temp_div;
3499
+ }
3500
+ if (callback_failure) {
3501
+ callback_failure();
3502
+ }
3503
+ PMA_ajaxShowMessage($error, false);
3504
+ }
3505
+ }); // end $.post()
3506
+ };
3507
+ button_options[PMA_messages.strPreviewSQL] = function () {
3508
+ // Function for Previewing SQL
3509
+ var $form = $('#index_frm');
3510
+ PMA_previewSQL($form);
3511
+ };
3512
+ button_options[PMA_messages.strCancel] = function () {
3513
+ $(this).dialog('close');
3514
+ };
3515
+ var $msgbox = PMA_ajaxShowMessage();
3516
+ $.get("tbl_indexes.php", url, function (data) {
3517
+ if (typeof data !== 'undefined' && data.success === false) {
3518
+ //in the case of an error, show the error message returned.
3519
+ PMA_ajaxShowMessage(data.error, false);
3520
+ } else {
3521
+ PMA_ajaxRemoveMessage($msgbox);
3522
+ // Show dialog if the request was successful
3523
+ $div
3524
+ .append(data.message)
3525
+ .dialog({
3526
+ title: title,
3527
+ width: 450,
3528
+ height: 350,
3529
+ open: PMA_verifyColumnsProperties,
3530
+ modal: true,
3531
+ buttons: button_options,
3532
+ close: function () {
3533
+ $(this).remove();
3534
+ }
3535
+ });
3536
+ $div.find('.tblFooters').remove();
3537
+ showIndexEditDialog($div);
3538
+ }
3539
+ }); // end $.get()
3540
+ }
3541
+
3542
+ function showIndexEditDialog($outer)
3543
+ {
3544
+ checkIndexType();
3545
+ checkIndexName("index_frm");
3546
+ $('#index_columns td').each(function () {
3547
+ $(this).css("width", $(this).width() + 'px');
3548
+ });
3549
+ $('#index_columns tbody').sortable({
3550
+ axis: 'y',
3551
+ containment: $("#index_columns tbody"),
3552
+ tolerance: 'pointer'
3553
+ });
3554
+ PMA_showHints($outer);
3555
+ PMA_init_slider();
3556
+ // Add a slider for selecting how many columns to add to the index
3557
+ $outer.find('.slider').slider({
3558
+ animate: true,
3559
+ value: 1,
3560
+ min: 1,
3561
+ max: 16,
3562
+ slide: function (event, ui) {
3563
+ $(this).closest('fieldset').find('input[type=submit]').val(
3564
+ PMA_sprintf(PMA_messages.strAddToIndex, ui.value)
3565
+ );
3566
+ }
3567
+ });
3568
+ $('div.add_fields').removeClass('hide');
3569
+ // focus index size input on column picked
3570
+ $outer.find('table#index_columns select').change(function () {
3571
+ if ($(this).find("option:selected").val() === '') {
3572
+ return true;
3573
+ }
3574
+ $(this).closest("tr").find("input").focus();
3575
+ });
3576
+ // Focus the slider, otherwise it looks nearly transparent
3577
+ $('a.ui-slider-handle').addClass('ui-state-focus');
3578
+ // set focus on index name input, if empty
3579
+ var input = $outer.find('input#input_index_name');
3580
+ input.val() || input.focus();
3581
+ }
3582
+
3583
+ /**
3584
+ * Function to display tooltips that were
3585
+ * generated on the PHP side by PMA_Util::showHint()
3586
+ *
3587
+ * @param object $div a div jquery object which specifies the
3588
+ * domain for searching for tooltips. If we
3589
+ * omit this parameter the function searches
3590
+ * in the whole body
3591
+ **/
3592
+ function PMA_showHints($div)
3593
+ {
3594
+ if ($div === undefined || ! $div instanceof jQuery || $div.length === 0) {
3595
+ $div = $("body");
3596
+ }
3597
+ $div.find('.pma_hint').each(function () {
3598
+ PMA_tooltip(
3599
+ $(this).children('img'),
3600
+ 'img',
3601
+ $(this).children('span').html()
3602
+ );
3603
+ });
3604
+ }
3605
+
3606
+ AJAX.registerOnload('functions.js', function () {
3607
+ PMA_showHints();
3608
+ });
3609
+
3610
+ function PMA_mainMenuResizerCallback() {
3611
+ // 5 px margin for jumping menu in Chrome
3612
+ return $(document.body).width() - 5;
3613
+ }
3614
+ // This must be fired only once after the initial page load
3615
+ $(function () {
3616
+ // Initialise the menu resize plugin
3617
+ $('#topmenu').menuResizer(PMA_mainMenuResizerCallback);
3618
+ // register resize event
3619
+ $(window).resize(function () {
3620
+ $('#topmenu').menuResizer('resize');
3621
+ });
3622
+ });
3623
+
3624
+ /**
3625
+ * Get the row number from the classlist (for example, row_1)
3626
+ */
3627
+ function PMA_getRowNumber(classlist)
3628
+ {
3629
+ return parseInt(classlist.split(/\s+row_/)[1], 10);
3630
+ }
3631
+
3632
+ /**
3633
+ * Changes status of slider
3634
+ */
3635
+ function PMA_set_status_label($element)
3636
+ {
3637
+ var text;
3638
+ if ($element.css('display') == 'none') {
3639
+ text = '+ ';
3640
+ } else {
3641
+ text = '- ';
3642
+ }
3643
+ $element.closest('.slide-wrapper').prev().find('span').text(text);
3644
+ }
3645
+
3646
+ /**
3647
+ * var toggleButton This is a function that creates a toggle
3648
+ * sliding button given a jQuery reference
3649
+ * to the correct DOM element
3650
+ */
3651
+ var toggleButton = function ($obj) {
3652
+ // In rtl mode the toggle switch is flipped horizontally
3653
+ // so we need to take that into account
3654
+ var right;
3655
+ if ($('span.text_direction', $obj).text() == 'ltr') {
3656
+ right = 'right';
3657
+ } else {
3658
+ right = 'left';
3659
+ }
3660
+ /**
3661
+ * var h Height of the button, used to scale the
3662
+ * background image and position the layers
3663
+ */
3664
+ var h = $obj.height();
3665
+ $('img', $obj).height(h);
3666
+ $('table', $obj).css('bottom', h - 1);
3667
+ /**
3668
+ * var on Width of the "ON" part of the toggle switch
3669
+ * var off Width of the "OFF" part of the toggle switch
3670
+ */
3671
+ var on = $('td.toggleOn', $obj).width();
3672
+ var off = $('td.toggleOff', $obj).width();
3673
+ // Make the "ON" and "OFF" parts of the switch the same size
3674
+ // + 2 pixels to avoid overflowed
3675
+ $('td.toggleOn > div', $obj).width(Math.max(on, off) + 2);
3676
+ $('td.toggleOff > div', $obj).width(Math.max(on, off) + 2);
3677
+ /**
3678
+ * var w Width of the central part of the switch
3679
+ */
3680
+ var w = parseInt(($('img', $obj).height() / 16) * 22, 10);
3681
+ // Resize the central part of the switch on the top
3682
+ // layer to match the background
3683
+ $('table td:nth-child(2) > div', $obj).width(w);
3684
+ /**
3685
+ * var imgw Width of the background image
3686
+ * var tblw Width of the foreground layer
3687
+ * var offset By how many pixels to move the background
3688
+ * image, so that it matches the top layer
3689
+ */
3690
+ var imgw = $('img', $obj).width();
3691
+ var tblw = $('table', $obj).width();
3692
+ var offset = parseInt(((imgw - tblw) / 2), 10);
3693
+ // Move the background to match the layout of the top layer
3694
+ $obj.find('img').css(right, offset);
3695
+ /**
3696
+ * var offw Outer width of the "ON" part of the toggle switch
3697
+ * var btnw Outer width of the central part of the switch
3698
+ */
3699
+ var offw = $('td.toggleOff', $obj).outerWidth();
3700
+ var btnw = $('table td:nth-child(2)', $obj).outerWidth();
3701
+ // Resize the main div so that exactly one side of
3702
+ // the switch plus the central part fit into it.
3703
+ $obj.width(offw + btnw + 2);
3704
+ /**
3705
+ * var move How many pixels to move the
3706
+ * switch by when toggling
3707
+ */
3708
+ var move = $('td.toggleOff', $obj).outerWidth();
3709
+ // If the switch is initialized to the
3710
+ // OFF state we need to move it now.
3711
+ if ($('div.container', $obj).hasClass('off')) {
3712
+ if (right == 'right') {
3713
+ $('div.container', $obj).animate({'left': '-=' + move + 'px'}, 0);
3714
+ } else {
3715
+ $('div.container', $obj).animate({'left': '+=' + move + 'px'}, 0);
3716
+ }
3717
+ }
3718
+ // Attach an 'onclick' event to the switch
3719
+ $('div.container', $obj).click(function () {
3720
+ if ($(this).hasClass('isActive')) {
3721
+ return false;
3722
+ } else {
3723
+ $(this).addClass('isActive');
3724
+ }
3725
+ var $msg = PMA_ajaxShowMessage();
3726
+ var $container = $(this);
3727
+ var callback = $('span.callback', this).text();
3728
+ var operator, url, removeClass, addClass;
3729
+ // Perform the actual toggle
3730
+ if ($(this).hasClass('on')) {
3731
+ if (right == 'right') {
3732
+ operator = '-=';
3733
+ } else {
3734
+ operator = '+=';
3735
+ }
3736
+ url = $(this).find('td.toggleOff > span').text();
3737
+ removeClass = 'on';
3738
+ addClass = 'off';
3739
+ } else {
3740
+ if (right == 'right') {
3741
+ operator = '+=';
3742
+ } else {
3743
+ operator = '-=';
3744
+ }
3745
+ url = $(this).find('td.toggleOn > span').text();
3746
+ removeClass = 'off';
3747
+ addClass = 'on';
3748
+ }
3749
+ $.post(url, {'ajax_request': true}, function (data) {
3750
+ if (typeof data !== 'undefined' && data.success === true) {
3751
+ PMA_ajaxRemoveMessage($msg);
3752
+ $container
3753
+ .removeClass(removeClass)
3754
+ .addClass(addClass)
3755
+ .animate({'left': operator + move + 'px'}, function () {
3756
+ $container.removeClass('isActive');
3757
+ });
3758
+ eval(callback);
3759
+ } else {
3760
+ PMA_ajaxShowMessage(data.error, false);
3761
+ $container.removeClass('isActive');
3762
+ }
3763
+ });
3764
+ });
3765
+ };
3766
+
3767
+ /**
3768
+ * Unbind all event handlers before tearing down a page
3769
+ */
3770
+ AJAX.registerTeardown('functions.js', function () {
3771
+ $('div.container').unbind('click');
3772
+ });
3773
+ /**
3774
+ * Initialise all toggle buttons
3775
+ */
3776
+ AJAX.registerOnload('functions.js', function () {
3777
+ $('div.toggleAjax').each(function () {
3778
+ var $button = $(this).show();
3779
+ $button.find('img').each(function () {
3780
+ if (this.complete) {
3781
+ toggleButton($button);
3782
+ } else {
3783
+ $(this).load(function () {
3784
+ toggleButton($button);
3785
+ });
3786
+ }
3787
+ });
3788
+ });
3789
+ });
3790
+
3791
+ /**
3792
+ * Unbind all event handlers before tearing down a page
3793
+ */
3794
+ AJAX.registerTeardown('functions.js', function () {
3795
+ $(document).off('change', 'select.pageselector');
3796
+ $(document).off('click', 'a.formLinkSubmit');
3797
+ $('#update_recent_tables').unbind('ready');
3798
+ $('#sync_favorite_tables').unbind('ready');
3799
+ });
3800
+
3801
+ AJAX.registerOnload('functions.js', function () {
3802
+
3803
+ /**
3804
+ * Autosubmit page selector
3805
+ */
3806
+ $(document).on('change', 'select.pageselector', function (event) {
3807
+ event.stopPropagation();
3808
+ // Check where to load the new content
3809
+ if ($(this).closest("#pma_navigation").length === 0) {
3810
+ // For the main page we don't need to do anything,
3811
+ $(this).closest("form").submit();
3812
+ } else {
3813
+ // but for the navigation we need to manually replace the content
3814
+ PMA_navigationTreePagination($(this));
3815
+ }
3816
+ });
3817
+
3818
+ /**
3819
+ * Load version information asynchronously.
3820
+ */
3821
+ if ($('li.jsversioncheck').length > 0) {
3822
+ $.getJSON('version_check.php', {}, PMA_current_version);
3823
+ }
3824
+
3825
+ if ($('#is_git_revision').length > 0) {
3826
+ setTimeout(PMA_display_git_revision, 10);
3827
+ }
3828
+
3829
+ /**
3830
+ * Slider effect.
3831
+ */
3832
+ PMA_init_slider();
3833
+
3834
+ /**
3835
+ * Enables the text generated by PMA_Util::linkOrButton() to be clickable
3836
+ */
3837
+ $(document).on('click', 'a.formLinkSubmit', function (e) {
3838
+ if (! $(this).hasClass('requireConfirm')) {
3839
+ submitFormLink($(this));
3840
+ return false;
3841
+ }
3842
+ });
3843
+
3844
+ if ($('#update_recent_tables').length) {
3845
+ $.get(
3846
+ $('#update_recent_tables').attr('href'),
3847
+ function (data) {
3848
+ if (typeof data !== 'undefined' && data.success === true) {
3849
+ $('#pma_recent_list').html(data.list);
3850
+ }
3851
+ }
3852
+ );
3853
+ }
3854
+
3855
+ // Sync favorite tables from localStorage to pmadb.
3856
+ if ($('#sync_favorite_tables').length) {
3857
+ $.ajax({
3858
+ url: $('#sync_favorite_tables').attr("href"),
3859
+ cache: false,
3860
+ type: 'POST',
3861
+ data: {
3862
+ favorite_tables: (isStorageSupported('localStorage'))
3863
+ ? window.localStorage['favorite_tables']
3864
+ : ''
3865
+ },
3866
+ success: function (data) {
3867
+ // Update localStorage.
3868
+ if (isStorageSupported('localStorage')) {
3869
+ window.localStorage.favorite_tables
3870
+ = data.favorite_tables;
3871
+ }
3872
+ $('#pma_favorite_list').html(data.list);
3873
+ }
3874
+ });
3875
+ }
3876
+ }); // end of $()
3877
+
3878
+ /**
3879
+ * Submits the form placed in place of a link due to the excessive url length
3880
+ *
3881
+ * @param $link anchor
3882
+ * @returns {Boolean}
3883
+ */
3884
+ function submitFormLink($link)
3885
+ {
3886
+ if ($link.attr('href').indexOf('=') != -1) {
3887
+ var data = $link.attr('href').substr($link.attr('href').indexOf('#') + 1).split('=', 2);
3888
+ $link.parents('form').append('<input type="hidden" name="' + data[0] + '" value="' + data[1] + '"/>');
3889
+ }
3890
+ $link.parents('form').submit();
3891
+ }
3892
+
3893
+ /**
3894
+ * Initializes slider effect.
3895
+ */
3896
+ function PMA_init_slider()
3897
+ {
3898
+ $('div.pma_auto_slider').each(function () {
3899
+ var $this = $(this);
3900
+ if ($this.data('slider_init_done')) {
3901
+ return;
3902
+ }
3903
+ var $wrapper = $('<div>', {'class': 'slide-wrapper'});
3904
+ $wrapper.toggle($this.is(':visible'));
3905
+ $('<a>', {href: '#' + this.id, "class": 'ajax'})
3906
+ .text(this.title)
3907
+ .prepend($('<span>'))
3908
+ .insertBefore($this)
3909
+ .click(function () {
3910
+ var $wrapper = $this.closest('.slide-wrapper');
3911
+ var visible = $this.is(':visible');
3912
+ if (!visible) {
3913
+ $wrapper.show();
3914
+ }
3915
+ $this[visible ? 'hide' : 'show']('blind', function () {
3916
+ $wrapper.toggle(!visible);
3917
+ PMA_set_status_label($this);
3918
+ });
3919
+ return false;
3920
+ });
3921
+ $this.wrap($wrapper);
3922
+ PMA_set_status_label($this);
3923
+ $this.data('slider_init_done', 1);
3924
+ });
3925
+ }
3926
+
3927
+ /**
3928
+ * Initializes slider effect.
3929
+ */
3930
+ AJAX.registerOnload('functions.js', function () {
3931
+ PMA_init_slider();
3932
+ });
3933
+
3934
+ /**
3935
+ * Restores sliders to the state they were in before initialisation.
3936
+ */
3937
+ AJAX.registerTeardown('functions.js', function () {
3938
+ $('div.pma_auto_slider').each(function () {
3939
+ var $this = $(this);
3940
+ $this.removeData();
3941
+ $this.parent().replaceWith($this);
3942
+ $this.parent().children('a').remove();
3943
+ });
3944
+ });
3945
+
3946
+ /**
3947
+ * Creates a message inside an object with a sliding effect
3948
+ *
3949
+ * @param msg A string containing the text to display
3950
+ * @param $obj a jQuery object containing the reference
3951
+ * to the element where to put the message
3952
+ * This is optional, if no element is
3953
+ * provided, one will be created below the
3954
+ * navigation links at the top of the page
3955
+ *
3956
+ * @return bool True on success, false on failure
3957
+ */
3958
+ function PMA_slidingMessage(msg, $obj)
3959
+ {
3960
+ if (msg === undefined || msg.length === 0) {
3961
+ // Don't show an empty message
3962
+ return false;
3963
+ }
3964
+ if ($obj === undefined || ! $obj instanceof jQuery || $obj.length === 0) {
3965
+ // If the second argument was not supplied,
3966
+ // we might have to create a new DOM node.
3967
+ if ($('#PMA_slidingMessage').length === 0) {
3968
+ $('#page_content').prepend(
3969
+ '<span id="PMA_slidingMessage" ' +
3970
+ 'style="display: inline-block;"></span>'
3971
+ );
3972
+ }
3973
+ $obj = $('#PMA_slidingMessage');
3974
+ }
3975
+ if ($obj.has('div').length > 0) {
3976
+ // If there already is a message inside the
3977
+ // target object, we must get rid of it
3978
+ $obj
3979
+ .find('div')
3980
+ .first()
3981
+ .fadeOut(function () {
3982
+ $obj
3983
+ .children()
3984
+ .remove();
3985
+ $obj
3986
+ .append('<div>' + msg + '</div>');
3987
+ // highlight any sql before taking height;
3988
+ PMA_highlightSQL($obj);
3989
+ $obj.find('div')
3990
+ .first()
3991
+ .hide();
3992
+ $obj
3993
+ .animate({
3994
+ height: $obj.find('div').first().height()
3995
+ })
3996
+ .find('div')
3997
+ .first()
3998
+ .fadeIn();
3999
+ });
4000
+ } else {
4001
+ // Object does not already have a message
4002
+ // inside it, so we simply slide it down
4003
+ $obj.width('100%')
4004
+ .html('<div>' + msg + '</div>');
4005
+ // highlight any sql before taking height;
4006
+ PMA_highlightSQL($obj);
4007
+ var h = $obj
4008
+ .find('div')
4009
+ .first()
4010
+ .hide()
4011
+ .height();
4012
+ $obj
4013
+ .find('div')
4014
+ .first()
4015
+ .css('height', 0)
4016
+ .show()
4017
+ .animate({
4018
+ height: h
4019
+ }, function () {
4020
+ // Set the height of the parent
4021
+ // to the height of the child
4022
+ $obj
4023
+ .height(
4024
+ $obj
4025
+ .find('div')
4026
+ .first()
4027
+ .height()
4028
+ );
4029
+ });
4030
+ }
4031
+ return true;
4032
+ } // end PMA_slidingMessage()
4033
+
4034
+ /**
4035
+ * Attach CodeMirror2 editor to SQL edit area.
4036
+ */
4037
+ AJAX.registerOnload('functions.js', function () {
4038
+ var $elm = $('#sqlquery');
4039
+ if ($elm.length > 0) {
4040
+ if (typeof CodeMirror != 'undefined') {
4041
+ // for codemirror
4042
+ codemirror_editor = CodeMirror.fromTextArea($elm[0], {
4043
+ lineNumbers: true,
4044
+ matchBrackets: true,
4045
+ extraKeys: {"Ctrl-Space": "autocomplete"},
4046
+ hintOptions: {"completeSingle": false, "completeOnSingleClick": true},
4047
+ indentUnit: 4,
4048
+ mode: "text/x-mysql",
4049
+ lineWrapping: true
4050
+ });
4051
+ codemirror_editor.on("inputRead", codemirrorAutocompleteOnInputRead);
4052
+ codemirror_editor.focus();
4053
+ $(codemirror_editor.getWrapperElement()).bind(
4054
+ 'keydown',
4055
+ catchKeypressesFromSqlTextboxes
4056
+ );
4057
+ } else {
4058
+ // without codemirror
4059
+ $elm.focus().bind('keydown', catchKeypressesFromSqlTextboxes);
4060
+ }
4061
+ }
4062
+ PMA_highlightSQL($('body'));
4063
+ });
4064
+ AJAX.registerTeardown('functions.js', function () {
4065
+ if (codemirror_editor) {
4066
+ $('#sqlquery').text(codemirror_editor.getValue());
4067
+ codemirror_editor.toTextArea();
4068
+ codemirror_editor = false;
4069
+ }
4070
+ });
4071
+ AJAX.registerOnload('functions.js', function () {
4072
+ // initializes all lock-page elements lock-id and
4073
+ // val-hash data property
4074
+ $('#page_content form.lock-page textarea, ' +
4075
+ '#page_content form.lock-page input[type="text"]').each(function (i) {
4076
+ $(this).data('lock-id', i);
4077
+ // val-hash is the hash of default value of the field
4078
+ // so that it can be compared with new value hash
4079
+ // to check whether field was modified or not.
4080
+ $(this).data('val-hash', AJAX.hash($(this).val()));
4081
+ });
4082
+ });
4083
+ /**
4084
+ * jQuery plugin to cancel selection in HTML code.
4085
+ */
4086
+ (function ($) {
4087
+ $.fn.noSelect = function (p) { //no select plugin by Paulo P.Marinas
4088
+ var prevent = (p === null) ? true : p;
4089
+ var is_msie = navigator.userAgent.indexOf('MSIE') > -1 || !!window.navigator.userAgent.match(/Trident.*rv\:11\./);
4090
+ var is_firefox = navigator.userAgent.indexOf('Firefox') > -1;
4091
+ var is_safari = navigator.userAgent.indexOf("Safari") > -1;
4092
+ var is_opera = navigator.userAgent.indexOf("Presto") > -1;
4093
+ if (prevent) {
4094
+ return this.each(function () {
4095
+ if (is_msie || is_safari) {
4096
+ $(this).bind('selectstart', function () {
4097
+ return false;
4098
+ });
4099
+ } else if (is_firefox) {
4100
+ $(this).css('MozUserSelect', 'none');
4101
+ $('body').trigger('focus');
4102
+ } else if (is_opera) {
4103
+ $(this).bind('mousedown', function () {
4104
+ return false;
4105
+ });
4106
+ } else {
4107
+ $(this).attr('unselectable', 'on');
4108
+ }
4109
+ });
4110
+ } else {
4111
+ return this.each(function () {
4112
+ if (is_msie || is_safari) {
4113
+ $(this).unbind('selectstart');
4114
+ } else if (is_firefox) {
4115
+ $(this).css('MozUserSelect', 'inherit');
4116
+ } else if (is_opera) {
4117
+ $(this).unbind('mousedown');
4118
+ } else {
4119
+ $(this).removeAttr('unselectable');
4120
+ }
4121
+ });
4122
+ }
4123
+ }; //end noSelect
4124
+ })(jQuery);
4125
+
4126
+ /**
4127
+ * jQuery plugin to correctly filter input fields by value, needed
4128
+ * because some nasty values may break selector syntax
4129
+ */
4130
+ (function ($) {
4131
+ $.fn.filterByValue = function (value) {
4132
+ return this.filter(function () {
4133
+ return $(this).val() === value;
4134
+ });
4135
+ };
4136
+ })(jQuery);
4137
+
4138
+ /**
4139
+ * Return value of a cell in a table.
4140
+ */
4141
+ function PMA_getCellValue(td) {
4142
+ var $td = $(td);
4143
+ if ($td.is('.null')) {
4144
+ return '';
4145
+ } else if (! $td.is('.to_be_saved') && $td.data('original_data')) {
4146
+ return $td.data('original_data');
4147
+ } else {
4148
+ return $td.text();
4149
+ }
4150
+ }
4151
+
4152
+ /**
4153
+ * Unbind all event handlers before tearing down a page
4154
+ */
4155
+ AJAX.registerTeardown('functions.js', function () {
4156
+ $(document).off('click', 'a.themeselect');
4157
+ $(document).off('change', '.autosubmit');
4158
+ $('a.take_theme').unbind('click');
4159
+ });
4160
+
4161
+ AJAX.registerOnload('functions.js', function () {
4162
+ /**
4163
+ * Theme selector.
4164
+ */
4165
+ $(document).on('click', 'a.themeselect', function (e) {
4166
+ window.open(
4167
+ e.target,
4168
+ 'themes',
4169
+ 'left=10,top=20,width=510,height=350,scrollbars=yes,status=yes,resizable=yes'
4170
+ );
4171
+ return false;
4172
+ });
4173
+
4174
+ /**
4175
+ * Automatic form submission on change.
4176
+ */
4177
+ $(document).on('change', '.autosubmit', function (e) {
4178
+ $(this).closest('form').submit();
4179
+ });
4180
+
4181
+ /**
4182
+ * Theme changer.
4183
+ */
4184
+ $('a.take_theme').click(function (e) {
4185
+ var what = this.name;
4186
+ if (window.opener && window.opener.document.forms.setTheme.elements.set_theme) {
4187
+ window.opener.document.forms.setTheme.elements.set_theme.value = what;
4188
+ window.opener.document.forms.setTheme.submit();
4189
+ window.close();
4190
+ return false;
4191
+ }
4192
+ return true;
4193
+ });
4194
+ });
4195
+
4196
+ /**
4197
+ * Print button
4198
+ */
4199
+ function printPage()
4200
+ {
4201
+ // Do print the page
4202
+ if (typeof(window.print) != 'undefined') {
4203
+ window.print();
4204
+ }
4205
+ }
4206
+
4207
+ /**
4208
+ * Unbind all event handlers before tearing down a page
4209
+ */
4210
+ AJAX.registerTeardown('functions.js', function () {
4211
+ $('input#print').unbind('click');
4212
+ $(document).off('click', 'a.create_view.ajax');
4213
+ $(document).off('keydown', '#createViewDialog input, #createViewDialog select');
4214
+ $(document).off('change', '#fkc_checkbox');
4215
+ });
4216
+
4217
+ AJAX.registerOnload('functions.js', function () {
4218
+ $('input#print').click(printPage);
4219
+ /**
4220
+ * Ajaxification for the "Create View" action
4221
+ */
4222
+ $(document).on('click', 'a.create_view.ajax', function (e) {
4223
+ e.preventDefault();
4224
+ PMA_createViewDialog($(this));
4225
+ });
4226
+ /**
4227
+ * Attach Ajax event handlers for input fields in the editor
4228
+ * and used to submit the Ajax request when the ENTER key is pressed.
4229
+ */
4230
+ if ($('#createViewDialog').length !== 0) {
4231
+ $(document).on('keydown', '#createViewDialog input, #createViewDialog select', function (e) {
4232
+ if (e.which === 13) { // 13 is the ENTER key
4233
+ e.preventDefault();
4234
+
4235
+ // with preventing default, selection by <select> tag
4236
+ // was also prevented in IE
4237
+ $(this).blur();
4238
+
4239
+ $(this).closest('.ui-dialog').find('.ui-button:first').click();
4240
+ }
4241
+ }); // end $(document).on()
4242
+ }
4243
+
4244
+ var $elm = $('textarea[name="view[as]"]');
4245
+ if ($elm.length > 0) {
4246
+ if (typeof CodeMirror != 'undefined') {
4247
+ syntaxHighlighter = CodeMirror.fromTextArea(
4248
+ $elm[0],
4249
+ {
4250
+ lineNumbers: true,
4251
+ matchBrackets: true,
4252
+ extraKeys: {"Ctrl-Space": "autocomplete"},
4253
+ hintOptions: {"completeSingle": false, "completeOnSingleClick": true},
4254
+ indentUnit: 4,
4255
+ mode: "text/x-mysql",
4256
+ lineWrapping: true
4257
+ }
4258
+ );
4259
+ syntaxHighlighter.on("inputRead", codemirrorAutocompleteOnInputRead);
4260
+ }
4261
+ }
4262
+
4263
+ $(document).on('change', '#fkc_checkbox', function () {
4264
+ if ($(this).prop("checked")) {
4265
+ $("#fkc_status").html(PMA_messages.strForeignKeyCheckEnabled);
4266
+ } else {
4267
+ $("#fkc_status").html(PMA_messages.strForeignKeyCheckDisabled);
4268
+ }
4269
+ }); // End of event handler for 'Foreign Key Check'
4270
+ });
4271
+
4272
+ function PMA_createViewDialog($this)
4273
+ {
4274
+ var $msg = PMA_ajaxShowMessage();
4275
+ var syntaxHighlighter = null;
4276
+ $.get($this.attr('href') + '&ajax_request=1&ajax_dialog=1', function (data) {
4277
+ if (typeof data !== 'undefined' && data.success === true) {
4278
+ PMA_ajaxRemoveMessage($msg);
4279
+ var buttonOptions = {};
4280
+ buttonOptions[PMA_messages.strGo] = function () {
4281
+ if (typeof CodeMirror !== 'undefined') {
4282
+ syntaxHighlighter.save();
4283
+ }
4284
+ $msg = PMA_ajaxShowMessage();
4285
+ $.get('view_create.php', $('#createViewDialog').find('form').serialize(), function (data) {
4286
+ PMA_ajaxRemoveMessage($msg);
4287
+ if (typeof data !== 'undefined' && data.success === true) {
4288
+ $('#createViewDialog').dialog("close");
4289
+ $('.result_query').html(data.message);
4290
+ PMA_reloadNavigation();
4291
+ } else {
4292
+ PMA_ajaxShowMessage(data.error, false);
4293
+ }
4294
+ });
4295
+ };
4296
+ buttonOptions[PMA_messages.strClose] = function () {
4297
+ $(this).dialog("close");
4298
+ };
4299
+ var $dialog = $('<div/>').attr('id', 'createViewDialog').append(data.message).dialog({
4300
+ width: 600,
4301
+ minWidth: 400,
4302
+ modal: true,
4303
+ buttons: buttonOptions,
4304
+ title: PMA_messages.strCreateView,
4305
+ close: function () {
4306
+ $(this).remove();
4307
+ }
4308
+ });
4309
+ // Attach syntax highlighted editor
4310
+ if (typeof CodeMirror !== 'undefined') {
4311
+ var $elm = $dialog.find('textarea');
4312
+ syntaxHighlighter = CodeMirror.fromTextArea($elm[0], {
4313
+ lineNumbers: true,
4314
+ matchBrackets: true,
4315
+ extraKeys: {"Ctrl-Space": "autocomplete"},
4316
+ hintOptions: {"completeSingle": false, "completeOnSingleClick": true},
4317
+ indentUnit: 4,
4318
+ mode: "text/x-mysql",
4319
+ lineWrapping: true
4320
+ });
4321
+ syntaxHighlighter.on("inputRead", codemirrorAutocompleteOnInputRead);
4322
+ }
4323
+ $('input:visible[type=text]', $dialog).first().focus();
4324
+ } else {
4325
+ PMA_ajaxShowMessage(data.error);
4326
+ }
4327
+ });
4328
+ }
4329
+
4330
+ /**
4331
+ * Makes the breadcrumbs and the menu bar float at the top of the viewport
4332
+ */
4333
+ $(function () {
4334
+ if ($("#floating_menubar").length && $('#PMA_disable_floating_menubar').length === 0) {
4335
+ var left = $('html').attr('dir') == 'ltr' ? 'left' : 'right';
4336
+ $("#floating_menubar")
4337
+ .css('margin-' + left, $('#pma_navigation').width() + $('#pma_navigation_resizer').width())
4338
+ .css(left, 0)
4339
+ .css({
4340
+ 'position': 'fixed',
4341
+ 'top': 0,
4342
+ 'width': '100%',
4343
+ 'z-index': 99
4344
+ })
4345
+ .append($('#serverinfo'))
4346
+ .append($('#topmenucontainer'));
4347
+ // Allow the DOM to render, then adjust the padding on the body
4348
+ setTimeout(function () {
4349
+ $('body').css(
4350
+ 'padding-top',
4351
+ $('#floating_menubar').outerHeight(true)
4352
+ );
4353
+ $('#topmenu').menuResizer('resize');
4354
+ }, 4);
4355
+ }
4356
+ });
4357
+
4358
+ /**
4359
+ * Scrolls the page to the top if clicking the serverinfo bar
4360
+ */
4361
+ $(function () {
4362
+ $(document).delegate("#serverinfo, #goto_pagetop", "click", function (event) {
4363
+ event.preventDefault();
4364
+ $('html, body').animate({scrollTop: 0}, 'fast');
4365
+ });
4366
+ });
4367
+
4368
+ var checkboxes_sel = "input.checkall:checkbox:enabled";
4369
+ /**
4370
+ * Watches checkboxes in a form to set the checkall box accordingly
4371
+ */
4372
+ var checkboxes_changed = function () {
4373
+ var $form = $(this.form);
4374
+ // total number of checkboxes in current form
4375
+ var total_boxes = $form.find(checkboxes_sel).length;
4376
+ // number of checkboxes checked in current form
4377
+ var checked_boxes = $form.find(checkboxes_sel + ":checked").length;
4378
+ var $checkall = $form.find("input.checkall_box");
4379
+ if (total_boxes == checked_boxes) {
4380
+ $checkall.prop({checked: true, indeterminate: false});
4381
+ }
4382
+ else if (checked_boxes > 0) {
4383
+ $checkall.prop({checked: true, indeterminate: true});
4384
+ }
4385
+ else {
4386
+ $checkall.prop({checked: false, indeterminate: false});
4387
+ }
4388
+ };
4389
+ $(document).on("change", checkboxes_sel, checkboxes_changed);
4390
+
4391
+ $(document).on("change", "input.checkall_box", function () {
4392
+ var is_checked = $(this).is(":checked");
4393
+ $(this.form).find(checkboxes_sel).prop("checked", is_checked)
4394
+ .parents("tr").toggleClass("marked", is_checked);
4395
+ });
4396
+
4397
+ /**
4398
+ * Toggles row colors of a set of 'tr' elements starting from a given element
4399
+ *
4400
+ * @param $start Starting element
4401
+ */
4402
+ function toggleRowColors($start)
4403
+ {
4404
+ for (var $curr_row = $start; $curr_row.length > 0; $curr_row = $curr_row.next()) {
4405
+ if ($curr_row.hasClass('odd')) {
4406
+ $curr_row.removeClass('odd').addClass('even');
4407
+ } else if ($curr_row.hasClass('even')) {
4408
+ $curr_row.removeClass('even').addClass('odd');
4409
+ }
4410
+ }
4411
+ }
4412
+
4413
+ /**
4414
+ * Formats a byte number to human-readable form
4415
+ *
4416
+ * @param bytes the bytes to format
4417
+ * @param optional subdecimals the number of digits after the point
4418
+ * @param optional pointchar the char to use as decimal point
4419
+ */
4420
+ function formatBytes(bytes, subdecimals, pointchar) {
4421
+ if (!subdecimals) {
4422
+ subdecimals = 0;
4423
+ }
4424
+ if (!pointchar) {
4425
+ pointchar = '.';
4426
+ }
4427
+ var units = ['B', 'KiB', 'MiB', 'GiB'];
4428
+ for (var i = 0; bytes > 1024 && i < units.length; i++) {
4429
+ bytes /= 1024;
4430
+ }
4431
+ var factor = Math.pow(10, subdecimals);
4432
+ bytes = Math.round(bytes * factor) / factor;
4433
+ bytes = bytes.toString().split('.').join(pointchar);
4434
+ return bytes + ' ' + units[i];
4435
+ }
4436
+
4437
+ AJAX.registerOnload('functions.js', function () {
4438
+ /**
4439
+ * Opens pma more themes link in themes browser, in new window instead of popup
4440
+ * This way, we don't break HTML validity
4441
+ */
4442
+ $("a._blank").prop("target", "_blank");
4443
+ /**
4444
+ * Reveal the login form to users with JS enabled
4445
+ * and focus the appropriate input field
4446
+ */
4447
+ var $loginform = $('#loginform');
4448
+ if ($loginform.length) {
4449
+ $loginform.find('.js-show').show();
4450
+ if ($('#input_username').val()) {
4451
+ $('#input_password').focus();
4452
+ } else {
4453
+ $('#input_username').focus();
4454
+ }
4455
+ }
4456
+ });
4457
+
4458
+ /**
4459
+ * Dynamically adjust the width of the boxes
4460
+ * on the table and db operations pages
4461
+ */
4462
+ (function () {
4463
+ function DynamicBoxes() {
4464
+ var $boxContainer = $('#boxContainer');
4465
+ if ($boxContainer.length) {
4466
+ var minWidth = $boxContainer.data('box-width');
4467
+ var viewport = $(window).width() - $('#pma_navigation').width();
4468
+ var slots = Math.floor(viewport / minWidth);
4469
+ $boxContainer.children()
4470
+ .each(function () {
4471
+ if (viewport < minWidth) {
4472
+ $(this).width(minWidth);
4473
+ } else {
4474
+ $(this).css('width', ((1 / slots) * 100) + "%");
4475
+ }
4476
+ })
4477
+ .removeClass('clearfloat')
4478
+ .filter(':nth-child(' + slots + 'n+1)')
4479
+ .addClass('clearfloat');
4480
+ }
4481
+ }
4482
+ AJAX.registerOnload('functions.js', function () {
4483
+ DynamicBoxes();
4484
+ });
4485
+ $(function () {
4486
+ $(window).resize(DynamicBoxes);
4487
+ });
4488
+ })();
4489
+
4490
+ /**
4491
+ * Formats timestamp for display
4492
+ */
4493
+ function PMA_formatDateTime(date, seconds) {
4494
+ var result = $.datepicker.formatDate('yy-mm-dd', date);
4495
+ var timefmt = 'HH:mm';
4496
+ if (seconds) {
4497
+ timefmt = 'HH:mm:ss';
4498
+ }
4499
+ return result + ' ' + $.datepicker.formatTime(
4500
+ timefmt, {
4501
+ hour: date.getHours(),
4502
+ minute: date.getMinutes(),
4503
+ second: date.getSeconds()
4504
+ }
4505
+ );
4506
+ }
4507
+
4508
+ /**
4509
+ * Check than forms have less fields than max allowed by PHP.
4510
+ */
4511
+ function checkNumberOfFields() {
4512
+ if (typeof maxInputVars === 'undefined') {
4513
+ return false;
4514
+ }
4515
+ if (false === maxInputVars) {
4516
+ return false;
4517
+ }
4518
+ $('form').each(function() {
4519
+ var nbInputs = $(this).find(':input').length;
4520
+ if (nbInputs > maxInputVars) {
4521
+ var warning = PMA_sprintf(PMA_messages.strTooManyInputs, maxInputVars);
4522
+ PMA_ajaxShowMessage(warning);
4523
+ return false;
4524
+ }
4525
+ return true;
4526
+ });
4527
+
4528
+ return true;
4529
+ }
4530
+
4531
+ /**
4532
+ * Ignore the displayed php errors.
4533
+ * Simply removes the displayed errors.
4534
+ *
4535
+ * @param clearPrevErrors whether to clear errors stored
4536
+ * in $_SESSION['prev_errors'] at server
4537
+ *
4538
+ */
4539
+ function PMA_ignorePhpErrors(clearPrevErrors){
4540
+ if (typeof(clearPrevErrors) === "undefined"
4541
+ || clearPrevErrors === null
4542
+ ) {
4543
+ str = false;
4544
+ }
4545
+ // send AJAX request to error_report.php with send_error_report=0, exception_type=php & token.
4546
+ // It clears the prev_errors stored in session.
4547
+ if(clearPrevErrors){
4548
+ $('#pma_report_errors_form input[name="send_error_report"]').val(0); // change send_error_report to '0'
4549
+ $('#pma_report_errors_form').submit();
4550
+ }
4551
+
4552
+ // remove displayed errors
4553
+ $('#pma_errors').fadeOut( "slow");
4554
+ $('#pma_errors').remove();
4555
+ }
4556
+
4557
+ /**
4558
+ * checks whether browser supports web storage
4559
+ *
4560
+ * @param type the type of storage i.e. localStorage or sessionStorage
4561
+ *
4562
+ * @returns bool
4563
+ */
4564
+ function isStorageSupported(type)
4565
+ {
4566
+ try {
4567
+ window[type].setItem('PMATest', 'test');
4568
+ // Check whether key-value pair was set successfully
4569
+ if (window[type].getItem('PMATest') === 'test') {
4570
+ // Supported, remove test variable from storage
4571
+ window[type].removeItem('PMATest');
4572
+ return true;
4573
+ }
4574
+ } catch(error) {
4575
+ // Not supported
4576
+ PMA_ajaxShowMessage(PMA_messages.strNoLocalStorage, false);
4577
+ }
4578
+ return false;
4579
+ }