simpletool 0.0.1 → 0.0.2

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