simpletool 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1707) hide show
  1. checksums.yaml +4 -4
  2. data/lib/simpletool.rb +46 -11
  3. data/lib/support/ftp/vsftpd.conf +152 -0
  4. data/lib/support/phpmyadmin/nginx.phpmyadmin.default +112 -0
  5. data/lib/support/phpmyadmin/phpmyadmin/CONTRIBUTING.md +25 -0
  6. data/lib/support/phpmyadmin/phpmyadmin/ChangeLog +312 -0
  7. data/lib/support/phpmyadmin/phpmyadmin/DCO +44 -0
  8. data/lib/support/phpmyadmin/phpmyadmin/LICENSE +340 -0
  9. data/lib/support/phpmyadmin/phpmyadmin/README +52 -0
  10. data/lib/support/phpmyadmin/phpmyadmin/RELEASE-DATE-4.4.8 +1 -0
  11. data/lib/support/phpmyadmin/phpmyadmin/browse_foreigners.php +61 -0
  12. data/lib/support/phpmyadmin/phpmyadmin/changelog.php +153 -0
  13. data/lib/support/phpmyadmin/phpmyadmin/chk_rel.php +27 -0
  14. data/lib/support/phpmyadmin/phpmyadmin/composer.json +30 -0
  15. data/lib/support/phpmyadmin/phpmyadmin/config.sample.inc.php +152 -0
  16. data/lib/support/phpmyadmin/phpmyadmin/db_central_columns.php +134 -0
  17. data/lib/support/phpmyadmin/phpmyadmin/db_create.php +141 -0
  18. data/lib/support/phpmyadmin/phpmyadmin/db_datadict.php +208 -0
  19. data/lib/support/phpmyadmin/phpmyadmin/db_designer.php +173 -0
  20. data/lib/support/phpmyadmin/phpmyadmin/db_events.php +26 -0
  21. data/lib/support/phpmyadmin/phpmyadmin/db_export.php +94 -0
  22. data/lib/support/phpmyadmin/phpmyadmin/db_import.php +25 -0
  23. data/lib/support/phpmyadmin/phpmyadmin/db_operations.php +291 -0
  24. data/lib/support/phpmyadmin/phpmyadmin/db_printview.php +175 -0
  25. data/lib/support/phpmyadmin/phpmyadmin/db_qbe.php +131 -0
  26. data/lib/support/phpmyadmin/phpmyadmin/db_routines.php +27 -0
  27. data/lib/support/phpmyadmin/phpmyadmin/db_search.php +63 -0
  28. data/lib/support/phpmyadmin/phpmyadmin/db_sql.php +45 -0
  29. data/lib/support/phpmyadmin/phpmyadmin/db_sql_autocomplete.php +24 -0
  30. data/lib/support/phpmyadmin/phpmyadmin/db_sql_format.php +18 -0
  31. data/lib/support/phpmyadmin/phpmyadmin/db_structure.php +345 -0
  32. data/lib/support/phpmyadmin/phpmyadmin/db_tracking.php +350 -0
  33. data/lib/support/phpmyadmin/phpmyadmin/db_triggers.php +25 -0
  34. data/lib/support/phpmyadmin/phpmyadmin/doc/Makefile +197 -0
  35. data/lib/support/phpmyadmin/phpmyadmin/doc/_ext/configext.py +188 -0
  36. data/lib/support/phpmyadmin/phpmyadmin/doc/conf.py +304 -0
  37. data/lib/support/phpmyadmin/phpmyadmin/doc/config.rst +2794 -0
  38. data/lib/support/phpmyadmin/phpmyadmin/doc/copyright.rst +50 -0
  39. data/lib/support/phpmyadmin/phpmyadmin/doc/credits.rst +657 -0
  40. data/lib/support/phpmyadmin/phpmyadmin/doc/developers.rst +12 -0
  41. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/config.doctree +0 -0
  42. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/copyright.doctree +0 -0
  43. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/credits.doctree +0 -0
  44. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/developers.doctree +0 -0
  45. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/environment.pickle +0 -0
  46. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/faq.doctree +0 -0
  47. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/glossary.doctree +0 -0
  48. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/import_export.doctree +0 -0
  49. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/index.doctree +0 -0
  50. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/intro.doctree +0 -0
  51. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/other.doctree +0 -0
  52. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/privileges.doctree +0 -0
  53. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/require.doctree +0 -0
  54. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/setup.doctree +0 -0
  55. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/transformations.doctree +0 -0
  56. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/user.doctree +0 -0
  57. data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/vendors.doctree +0 -0
  58. data/lib/support/phpmyadmin/phpmyadmin/doc/faq.rst +2112 -0
  59. data/lib/support/phpmyadmin/phpmyadmin/doc/glossary.rst +399 -0
  60. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/config.txt +2794 -0
  61. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/copyright.txt +50 -0
  62. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/credits.txt +657 -0
  63. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/developers.txt +12 -0
  64. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/faq.txt +2112 -0
  65. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/glossary.txt +399 -0
  66. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/import_export.txt +27 -0
  67. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/index.txt +32 -0
  68. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/intro.txt +68 -0
  69. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/other.txt +18 -0
  70. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/privileges.txt +50 -0
  71. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/require.txt +54 -0
  72. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/setup.txt +543 -0
  73. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/transformations.txt +138 -0
  74. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/user.txt +10 -0
  75. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/vendors.txt +35 -0
  76. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/ajax-loader.gif +0 -0
  77. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/basic.css +540 -0
  78. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment-bright.png +0 -0
  79. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment-close.png +0 -0
  80. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment.png +0 -0
  81. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/default.css +256 -0
  82. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/doctools.js +247 -0
  83. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/down-pressed.png +0 -0
  84. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/down.png +0 -0
  85. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/file.png +0 -0
  86. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/jquery.js +154 -0
  87. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/minus.png +0 -0
  88. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/plus.png +0 -0
  89. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/pygments.css +62 -0
  90. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/searchtools.js +560 -0
  91. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/sidebar.js +151 -0
  92. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/underscore.js +23 -0
  93. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/up-pressed.png +0 -0
  94. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/up.png +0 -0
  95. data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/websupport.js +808 -0
  96. data/lib/support/phpmyadmin/phpmyadmin/doc/html/config.html +5000 -0
  97. data/lib/support/phpmyadmin/phpmyadmin/doc/html/copyright.html +157 -0
  98. data/lib/support/phpmyadmin/phpmyadmin/doc/html/credits.html +714 -0
  99. data/lib/support/phpmyadmin/phpmyadmin/doc/html/developers.html +118 -0
  100. data/lib/support/phpmyadmin/phpmyadmin/doc/html/faq.html +1871 -0
  101. data/lib/support/phpmyadmin/phpmyadmin/doc/html/genindex.html +3807 -0
  102. data/lib/support/phpmyadmin/phpmyadmin/doc/html/glossary.html +618 -0
  103. data/lib/support/phpmyadmin/phpmyadmin/doc/html/import_export.html +148 -0
  104. data/lib/support/phpmyadmin/phpmyadmin/doc/html/index.html +210 -0
  105. data/lib/support/phpmyadmin/phpmyadmin/doc/html/intro.html +182 -0
  106. data/lib/support/phpmyadmin/phpmyadmin/doc/html/objects.inv +0 -0
  107. data/lib/support/phpmyadmin/phpmyadmin/doc/html/other.html +135 -0
  108. data/lib/support/phpmyadmin/phpmyadmin/doc/html/privileges.html +169 -0
  109. data/lib/support/phpmyadmin/phpmyadmin/doc/html/require.html +168 -0
  110. data/lib/support/phpmyadmin/phpmyadmin/doc/html/search.html +100 -0
  111. data/lib/support/phpmyadmin/phpmyadmin/doc/html/searchindex.js +1 -0
  112. data/lib/support/phpmyadmin/phpmyadmin/doc/html/setup.html +909 -0
  113. data/lib/support/phpmyadmin/phpmyadmin/doc/html/transformations.html +240 -0
  114. data/lib/support/phpmyadmin/phpmyadmin/doc/html/user.html +139 -0
  115. data/lib/support/phpmyadmin/phpmyadmin/doc/html/vendors.html +149 -0
  116. data/lib/support/phpmyadmin/phpmyadmin/doc/import_export.rst +27 -0
  117. data/lib/support/phpmyadmin/phpmyadmin/doc/index.rst +32 -0
  118. data/lib/support/phpmyadmin/phpmyadmin/doc/intro.rst +68 -0
  119. data/lib/support/phpmyadmin/phpmyadmin/doc/make.bat +242 -0
  120. data/lib/support/phpmyadmin/phpmyadmin/doc/other.rst +18 -0
  121. data/lib/support/phpmyadmin/phpmyadmin/doc/privileges.rst +50 -0
  122. data/lib/support/phpmyadmin/phpmyadmin/doc/require.rst +54 -0
  123. data/lib/support/phpmyadmin/phpmyadmin/doc/setup.rst +543 -0
  124. data/lib/support/phpmyadmin/phpmyadmin/doc/transformations.rst +138 -0
  125. data/lib/support/phpmyadmin/phpmyadmin/doc/user.rst +10 -0
  126. data/lib/support/phpmyadmin/phpmyadmin/doc/vendors.rst +35 -0
  127. data/lib/support/phpmyadmin/phpmyadmin/error_report.php +130 -0
  128. data/lib/support/phpmyadmin/phpmyadmin/examples/config.manyhosts.inc.php +51 -0
  129. data/lib/support/phpmyadmin/phpmyadmin/examples/openid.php +160 -0
  130. data/lib/support/phpmyadmin/phpmyadmin/examples/signon-script.php +37 -0
  131. data/lib/support/phpmyadmin/phpmyadmin/examples/signon.php +71 -0
  132. data/lib/support/phpmyadmin/phpmyadmin/examples/swekey.sample.conf +44 -0
  133. data/lib/support/phpmyadmin/phpmyadmin/export.php +480 -0
  134. data/lib/support/phpmyadmin/phpmyadmin/favicon.ico +0 -0
  135. data/lib/support/phpmyadmin/phpmyadmin/file_echo.php +81 -0
  136. data/lib/support/phpmyadmin/phpmyadmin/gis_data_editor.php +429 -0
  137. data/lib/support/phpmyadmin/phpmyadmin/import.php +770 -0
  138. data/lib/support/phpmyadmin/phpmyadmin/import_status.php +118 -0
  139. data/lib/support/phpmyadmin/phpmyadmin/index.php +701 -0
  140. data/lib/support/phpmyadmin/phpmyadmin/js/OpenStreetMap.js +126 -0
  141. data/lib/support/phpmyadmin/phpmyadmin/js/ajax.js +1031 -0
  142. data/lib/support/phpmyadmin/phpmyadmin/js/big_ints.js +67 -0
  143. data/lib/support/phpmyadmin/phpmyadmin/js/canvg/MIT-LICENSE.txt +22 -0
  144. data/lib/support/phpmyadmin/phpmyadmin/js/canvg/canvg.js +2509 -0
  145. data/lib/support/phpmyadmin/phpmyadmin/js/chart.js +664 -0
  146. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/LICENSE +19 -0
  147. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/hint/show-hint.js +394 -0
  148. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/hint/sql-hint.js +248 -0
  149. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/runmode/runmode.js +72 -0
  150. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/lib/codemirror.js +8645 -0
  151. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/javascript/javascript.js +692 -0
  152. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/sql/sql.js +391 -0
  153. data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/xml/xml.js +384 -0
  154. data/lib/support/phpmyadmin/phpmyadmin/js/common.js +515 -0
  155. data/lib/support/phpmyadmin/phpmyadmin/js/config.js +798 -0
  156. data/lib/support/phpmyadmin/phpmyadmin/js/console.js +1032 -0
  157. data/lib/support/phpmyadmin/phpmyadmin/js/cross_framing_protection.js +10 -0
  158. data/lib/support/phpmyadmin/phpmyadmin/js/db_central_columns.js +200 -0
  159. data/lib/support/phpmyadmin/phpmyadmin/js/db_operations.js +157 -0
  160. data/lib/support/phpmyadmin/phpmyadmin/js/db_qbe.js +64 -0
  161. data/lib/support/phpmyadmin/phpmyadmin/js/db_search.js +239 -0
  162. data/lib/support/phpmyadmin/phpmyadmin/js/db_structure.js +391 -0
  163. data/lib/support/phpmyadmin/phpmyadmin/js/db_tracking.js +85 -0
  164. data/lib/support/phpmyadmin/phpmyadmin/js/doclinks.js +365 -0
  165. data/lib/support/phpmyadmin/phpmyadmin/js/error_report.js +340 -0
  166. data/lib/support/phpmyadmin/phpmyadmin/js/export.js +401 -0
  167. data/lib/support/phpmyadmin/phpmyadmin/js/functions.js +4579 -0
  168. data/lib/support/phpmyadmin/phpmyadmin/js/get_image.js.php +148 -0
  169. data/lib/support/phpmyadmin/phpmyadmin/js/get_scripts.js.php +62 -0
  170. data/lib/support/phpmyadmin/phpmyadmin/js/gis_data_editor.js +396 -0
  171. data/lib/support/phpmyadmin/phpmyadmin/js/import.js +167 -0
  172. data/lib/support/phpmyadmin/phpmyadmin/js/indexes.js +697 -0
  173. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/excanvas.js +1438 -0
  174. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/jquery.jqplot.js +11411 -0
  175. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.barRenderer.js +801 -0
  176. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.byteFormatter.js +46 -0
  177. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.canvasAxisLabelRenderer.js +203 -0
  178. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.canvasTextRenderer.js +449 -0
  179. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.categoryAxisRenderer.js +679 -0
  180. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.cursor.js +1108 -0
  181. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.dateAxisRenderer.js +741 -0
  182. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.highlighter.js +465 -0
  183. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.pieRenderer.js +904 -0
  184. data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.pointLabels.js +377 -0
  185. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/MIT-LICENSE.txt +21 -0
  186. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-1.11.1.min.js +4 -0
  187. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-ui-1.11.2.min.js +13 -0
  188. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-ui-timepicker-addon.js +2223 -0
  189. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.ba-hashchange-1.3.js +390 -0
  190. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.cookie.js +91 -0
  191. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.debounce-1.0.5.js +71 -0
  192. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.event.drag-2.2.js +402 -0
  193. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.fullscreen.js +60 -0
  194. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.mousewheel.js +221 -0
  195. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.sortableTable.js +272 -0
  196. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.svg.js +1352 -0
  197. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.tablesorter.js +1033 -0
  198. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.uitablefilter.js +117 -0
  199. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/README +9 -0
  200. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/jsonp.js +89 -0
  201. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/load.js +75 -0
  202. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/parseJSON.js +51 -0
  203. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/parseXML.js +31 -0
  204. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/script.js +93 -0
  205. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/var/nonce.js +5 -0
  206. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/var/rquery.js +3 -0
  207. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/xhr.js +196 -0
  208. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax.js +807 -0
  209. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/attr.js +271 -0
  210. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/classes.js +157 -0
  211. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/prop.js +134 -0
  212. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/support.js +62 -0
  213. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/val.js +178 -0
  214. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes.js +11 -0
  215. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/callbacks.js +205 -0
  216. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/access.js +60 -0
  217. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/init.js +132 -0
  218. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/parseHTML.js +39 -0
  219. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/ready.js +152 -0
  220. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/var/rsingleTag.js +4 -0
  221. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core.js +534 -0
  222. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/addGetHookIf.js +32 -0
  223. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/curCSS.js +117 -0
  224. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/defaultDisplay.js +69 -0
  225. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/hiddenVisibleSelectors.js +20 -0
  226. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/support.js +149 -0
  227. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/swap.js +28 -0
  228. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/cssExpand.js +3 -0
  229. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/isHidden.js +13 -0
  230. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/rmargin.js +3 -0
  231. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/rnumnonpx.js +5 -0
  232. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css.js +504 -0
  233. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data/accepts.js +21 -0
  234. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data/support.js +25 -0
  235. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data.js +335 -0
  236. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/deferred.js +150 -0
  237. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/deprecated.js +13 -0
  238. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/dimensions.js +50 -0
  239. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/Tween.js +114 -0
  240. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/animatedSelector.js +13 -0
  241. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/support.js +55 -0
  242. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects.js +656 -0
  243. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event/alias.js +39 -0
  244. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event/support.js +26 -0
  245. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event.js +1037 -0
  246. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/exports/amd.js +24 -0
  247. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/exports/global.js +32 -0
  248. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/intro.js +44 -0
  249. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/jquery.js +37 -0
  250. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/_evalUrl.js +18 -0
  251. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/support.js +76 -0
  252. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/var/rcheckableType.js +3 -0
  253. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation.js +744 -0
  254. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/offset.js +211 -0
  255. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/outro.js +1 -0
  256. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/queue/delay.js +22 -0
  257. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/queue.js +142 -0
  258. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/selector-sizzle.js +14 -0
  259. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/selector.js +1 -0
  260. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/serialize.js +110 -0
  261. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.js +2044 -0
  262. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.min.js +3 -0
  263. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.min.map +1 -0
  264. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/empty.js +0 -0
  265. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/mixed_sort.html +22 -0
  266. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/testinit.js +136 -0
  267. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/index.html +242 -0
  268. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/jquery.js +9597 -0
  269. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/extending.js +95 -0
  270. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/selector.js +1149 -0
  271. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/utilities.js +169 -0
  272. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/support.js +58 -0
  273. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing/findFilter.js +100 -0
  274. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing/var/rneedsContext.js +6 -0
  275. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing.js +200 -0
  276. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/class2type.js +4 -0
  277. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/concat.js +5 -0
  278. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/deletedIds.js +3 -0
  279. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/hasOwn.js +5 -0
  280. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/indexOf.js +5 -0
  281. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/pnum.js +3 -0
  282. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/push.js +5 -0
  283. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/rnotwhite.js +3 -0
  284. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/slice.js +5 -0
  285. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/strundefined.js +3 -0
  286. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/support.js +4 -0
  287. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/toString.js +5 -0
  288. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/wrap.js +75 -0
  289. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/accordion.js +584 -0
  290. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/autocomplete.js +628 -0
  291. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/button.js +411 -0
  292. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/core.js +304 -0
  293. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/datepicker.js +2080 -0
  294. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/dialog.js +875 -0
  295. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/draggable.js +1128 -0
  296. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/droppable.js +413 -0
  297. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-blind.js +90 -0
  298. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-bounce.js +123 -0
  299. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-clip.js +77 -0
  300. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-drop.js +75 -0
  301. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-explode.js +107 -0
  302. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-fade.js +40 -0
  303. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-fold.js +86 -0
  304. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-highlight.js +60 -0
  305. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-puff.js +60 -0
  306. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-pulsate.js +73 -0
  307. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-scale.js +89 -0
  308. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-shake.js +84 -0
  309. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-size.js +233 -0
  310. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-slide.js +74 -0
  311. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-transfer.js +57 -0
  312. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect.js +1301 -0
  313. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/menu.js +646 -0
  314. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/mouse.js +199 -0
  315. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/position.js +517 -0
  316. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/progressbar.js +159 -0
  317. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/resizable.js +1179 -0
  318. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/selectable.js +287 -0
  319. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/selectmenu.js +616 -0
  320. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/slider.js +699 -0
  321. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/sortable.js +1304 -0
  322. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/spinner.js +514 -0
  323. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/tabs.js +880 -0
  324. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/tooltip.js +461 -0
  325. data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/widget.js +557 -0
  326. data/lib/support/phpmyadmin/phpmyadmin/js/keyhandler.js +145 -0
  327. data/lib/support/phpmyadmin/phpmyadmin/js/line_counts.php +523 -0
  328. data/lib/support/phpmyadmin/phpmyadmin/js/makegrid.js +1973 -0
  329. data/lib/support/phpmyadmin/phpmyadmin/js/menu-resizer.js +182 -0
  330. data/lib/support/phpmyadmin/phpmyadmin/js/messages.php +718 -0
  331. data/lib/support/phpmyadmin/phpmyadmin/js/multi_column_sort.js +81 -0
  332. data/lib/support/phpmyadmin/phpmyadmin/js/navigation.js +1505 -0
  333. data/lib/support/phpmyadmin/phpmyadmin/js/normalization.js +707 -0
  334. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/OpenLayers.js +2681 -0
  335. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/blank.gif +0 -0
  336. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/cloud-popup-relative.png +0 -0
  337. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/drag-rectangle-off.png +0 -0
  338. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/drag-rectangle-on.png +0 -0
  339. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/east-mini.png +0 -0
  340. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/layer-switcher-maximize.png +0 -0
  341. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/layer-switcher-minimize.png +0 -0
  342. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-blue.png +0 -0
  343. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-gold.png +0 -0
  344. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-green.png +0 -0
  345. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker.png +0 -0
  346. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/measuring-stick-off.png +0 -0
  347. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/measuring-stick-on.png +0 -0
  348. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/north-mini.png +0 -0
  349. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/panning-hand-off.png +0 -0
  350. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/panning-hand-on.png +0 -0
  351. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/slider.png +0 -0
  352. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/south-mini.png +0 -0
  353. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/west-mini.png +0 -0
  354. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-minus-mini.png +0 -0
  355. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-plus-mini.png +0 -0
  356. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-world-mini.png +0 -0
  357. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoombar.png +0 -0
  358. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/README +12 -0
  359. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/errorIcon.png +0 -0
  360. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.css +209 -0
  361. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.html +23 -0
  362. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.js +674 -0
  363. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebugx.js +9 -0
  364. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/infoIcon.png +0 -0
  365. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/license.txt +30 -0
  366. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/readme.txt +13 -0
  367. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/warningIcon.png +0 -0
  368. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Gears/gears_init.js +88 -0
  369. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Ajax.js +678 -0
  370. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Bounds.js +681 -0
  371. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Class.js +116 -0
  372. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Element.js +251 -0
  373. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/LonLat.js +190 -0
  374. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Pixel.js +125 -0
  375. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Size.js +85 -0
  376. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes.js +682 -0
  377. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Console.js +246 -0
  378. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ArgParser.js +166 -0
  379. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Attribution.js +97 -0
  380. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Button.js +44 -0
  381. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DragFeature.js +303 -0
  382. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DragPan.js +94 -0
  383. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DrawFeature.js +126 -0
  384. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/EditingToolbar.js +63 -0
  385. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/GetFeature.js +595 -0
  386. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Graticule.js +373 -0
  387. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/KeyboardDefaults.js +127 -0
  388. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/LayerSwitcher.js +620 -0
  389. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Measure.js +321 -0
  390. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ModifyFeature.js +777 -0
  391. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MouseDefaults.js +368 -0
  392. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MousePosition.js +213 -0
  393. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MouseToolbar.js +406 -0
  394. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/NavToolbar.js +55 -0
  395. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Navigation.js +303 -0
  396. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/NavigationHistory.js +423 -0
  397. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/OverviewMap.js +720 -0
  398. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Pan.js +86 -0
  399. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanPanel.js +63 -0
  400. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanZoom.js +246 -0
  401. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanZoomBar.js +396 -0
  402. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Panel.js +371 -0
  403. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Permalink.js +220 -0
  404. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/SLDSelect.js +570 -0
  405. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Scale.js +99 -0
  406. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ScaleLine.js +223 -0
  407. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/SelectFeature.js +613 -0
  408. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Snapping.js +547 -0
  409. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Split.js +498 -0
  410. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/TransformFeature.js +579 -0
  411. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/WMSGetFeatureInfo.js +524 -0
  412. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/WMTSGetFeatureInfo.js +442 -0
  413. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomBox.js +95 -0
  414. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomIn.js +35 -0
  415. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomOut.js +35 -0
  416. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomPanel.js +54 -0
  417. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomToMaxExtent.js +40 -0
  418. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control.js +368 -0
  419. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Events.js +855 -0
  420. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature/Vector.js +454 -0
  421. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature/WFS.js +80 -0
  422. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature.js +227 -0
  423. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Comparison.js +258 -0
  424. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/FeatureId.js +81 -0
  425. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Logical.js +119 -0
  426. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Spatial.js +128 -0
  427. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter.js +68 -0
  428. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML/Features.js +49 -0
  429. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML.js +1028 -0
  430. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Atom.js +727 -0
  431. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js +243 -0
  432. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain.js +34 -0
  433. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js +440 -0
  434. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords.js +34 -0
  435. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Context.js +334 -0
  436. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1.js +426 -0
  437. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_0_0.js +169 -0
  438. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_1_0.js +182 -0
  439. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter.js +115 -0
  440. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/Base.js +578 -0
  441. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/v2.js +193 -0
  442. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/v3.js +462 -0
  443. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML.js +924 -0
  444. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GPX.js +184 -0
  445. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GeoJSON.js +716 -0
  446. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GeoRSS.js +420 -0
  447. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/JSON.js +389 -0
  448. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/KML.js +1429 -0
  449. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OSM.js +457 -0
  450. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1.js +256 -0
  451. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_0_0.js +50 -0
  452. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_1_0.js +64 -0
  453. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext/v0_3_1.js +589 -0
  454. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext.js +81 -0
  455. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1.js +1100 -0
  456. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1_0_0.js +51 -0
  457. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD.js +131 -0
  458. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js +158 -0
  459. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities.js +83 -0
  460. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js +193 -0
  461. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetObservation.js +262 -0
  462. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Text.js +152 -0
  463. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFS.js +220 -0
  464. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1.js +126 -0
  465. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js +157 -0
  466. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js +36 -0
  467. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities.js +80 -0
  468. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSDescribeFeatureType.js +198 -0
  469. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1.js +368 -0
  470. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_0_0.js +150 -0
  471. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_1_0.js +161 -0
  472. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST.js +34 -0
  473. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WKT.js +358 -0
  474. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1.js +835 -0
  475. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_0_0.js +76 -0
  476. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_1_0.js +127 -0
  477. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC.js +152 -0
  478. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1.js +418 -0
  479. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1.js +118 -0
  480. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js +62 -0
  481. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js +58 -0
  482. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3.js +128 -0
  483. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js +30 -0
  484. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities.js +82 -0
  485. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js +100 -0
  486. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer.js +91 -0
  487. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSGetFeatureInfo.js +284 -0
  488. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js +221 -0
  489. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js +162 -0
  490. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/XML.js +881 -0
  491. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format.js +123 -0
  492. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Collection.js +546 -0
  493. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Curve.js +93 -0
  494. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/LineString.js +552 -0
  495. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/LinearRing.js +417 -0
  496. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiLineString.js +262 -0
  497. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPoint.js +70 -0
  498. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPolygon.js +46 -0
  499. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Point.js +283 -0
  500. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Polygon.js +259 -0
  501. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Rectangle.js +99 -0
  502. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Surface.js +17 -0
  503. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry.js +456 -0
  504. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Box.js +221 -0
  505. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Click.js +325 -0
  506. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Drag.js +420 -0
  507. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Feature.js +388 -0
  508. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Hover.js +183 -0
  509. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Keyboard.js +109 -0
  510. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/MouseWheel.js +283 -0
  511. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Path.js +302 -0
  512. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Point.js +373 -0
  513. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Polygon.js +144 -0
  514. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/RegularPolygon.js +421 -0
  515. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler.js +287 -0
  516. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Icon.js +227 -0
  517. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ar.js +38 -0
  518. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/be-tarask.js +80 -0
  519. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/bg.js +29 -0
  520. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/br.js +79 -0
  521. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ca.js +128 -0
  522. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/cs-CZ.js +69 -0
  523. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/da-DK.js +119 -0
  524. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/de.js +81 -0
  525. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/el.js +19 -0
  526. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/en-CA.js +21 -0
  527. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/en.js +128 -0
  528. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/es.js +129 -0
  529. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fi.js +34 -0
  530. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fr.js +80 -0
  531. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fur.js +35 -0
  532. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/gl.js +79 -0
  533. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/gsw.js +79 -0
  534. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hr.js +61 -0
  535. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hsb.js +79 -0
  536. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hu.js +80 -0
  537. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ia.js +79 -0
  538. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/id.js +80 -0
  539. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/io.js +19 -0
  540. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/is.js +37 -0
  541. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/it.js +116 -0
  542. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ja.js +80 -0
  543. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/km.js +25 -0
  544. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ksh.js +79 -0
  545. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nb.js +118 -0
  546. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nds.js +61 -0
  547. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nl.js +79 -0
  548. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nn.js +27 -0
  549. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/oc.js +79 -0
  550. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/pt-BR.js +80 -0
  551. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/pt.js +81 -0
  552. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ru.js +82 -0
  553. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/sk.js +71 -0
  554. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/sv-SE.js +71 -0
  555. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/te.js +27 -0
  556. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/vi.js +79 -0
  557. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/zh-CN.js +116 -0
  558. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/zh-TW.js +117 -0
  559. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang.js +133 -0
  560. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/ArcGIS93Rest.js +253 -0
  561. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/ArcIMS.js +466 -0
  562. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Boxes.js +76 -0
  563. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/EventPane.js +418 -0
  564. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/FixedZoomLevels.js +315 -0
  565. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/GML.js +174 -0
  566. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/GeoRSS.js +266 -0
  567. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Google/v3.js +419 -0
  568. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Google.js +795 -0
  569. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Grid.js +755 -0
  570. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/HTTPRequest.js +230 -0
  571. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Image.js +254 -0
  572. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/KaMap.js +206 -0
  573. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/KaMapCache.js +148 -0
  574. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapGuide.js +489 -0
  575. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer/Untiled.js +72 -0
  576. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer.js +199 -0
  577. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Markers.js +187 -0
  578. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MultiMap.js +284 -0
  579. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/PointTrack.js +103 -0
  580. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/SphericalMercator.js +196 -0
  581. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/TMS.js +167 -0
  582. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Text.js +264 -0
  583. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/TileCache.js +165 -0
  584. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Vector/RootContainer.js +157 -0
  585. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Vector.js +947 -0
  586. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/VirtualEarth.js +368 -0
  587. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WFS.js +609 -0
  588. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Post.js +99 -0
  589. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Untiled.js +72 -0
  590. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS.js +268 -0
  591. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMTS.js +476 -0
  592. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WorldWind.js +120 -0
  593. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/XYZ.js +196 -0
  594. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Yahoo.js +430 -0
  595. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Zoomify.js +308 -0
  596. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer.js +1304 -0
  597. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Map.js +2417 -0
  598. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Marker/Box.js +120 -0
  599. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Marker.js +242 -0
  600. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/Anchored.js +198 -0
  601. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/AnchoredBubble.js +190 -0
  602. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/Framed.js +343 -0
  603. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/FramedCloud.js +231 -0
  604. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup.js +1052 -0
  605. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Projection.js +178 -0
  606. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/HTTP.js +655 -0
  607. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS/v1_0_0.js +132 -0
  608. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS.js +33 -0
  609. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL/Gears.js +561 -0
  610. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL.js +88 -0
  611. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1.js +342 -0
  612. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_0_0.js +44 -0
  613. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_1_0.js +48 -0
  614. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS.js +71 -0
  615. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol.js +272 -0
  616. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/Canvas.js +494 -0
  617. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/Elements.js +1010 -0
  618. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/SVG.js +995 -0
  619. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/VML.js +999 -0
  620. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer.js +362 -0
  621. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Request/XMLHttpRequest.js +384 -0
  622. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Request.js +358 -0
  623. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Rule.js +240 -0
  624. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/SingleFile.js +10 -0
  625. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/BBOX.js +278 -0
  626. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Cluster.js +280 -0
  627. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Filter.js +164 -0
  628. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Fixed.js +138 -0
  629. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Paging.js +236 -0
  630. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Refresh.js +140 -0
  631. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Save.js +229 -0
  632. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy.js +117 -0
  633. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Style.js +443 -0
  634. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Style2.js +111 -0
  635. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/StyleMap.js +160 -0
  636. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Line.js +69 -0
  637. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Point.js +141 -0
  638. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Polygon.js +81 -0
  639. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Raster.js +34 -0
  640. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Text.js +65 -0
  641. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer.js +51 -0
  642. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/Image/IFrame.js +262 -0
  643. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/Image.js +578 -0
  644. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/WFS.js +192 -0
  645. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile.js +281 -0
  646. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tween.js +318 -0
  647. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Util.js +1797 -0
  648. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers.js +348 -0
  649. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Rico/Color.js +244 -0
  650. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Rico/Corner.js +330 -0
  651. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/framedCloud.css +0 -0
  652. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/google.css +10 -0
  653. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/ie6-style.css +7 -0
  654. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/add_point_off.png +0 -0
  655. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/add_point_on.png +0 -0
  656. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/blank.gif +0 -0
  657. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/close.gif +0 -0
  658. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/drag-rectangle-off.png +0 -0
  659. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/drag-rectangle-on.png +0 -0
  660. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_line_off.png +0 -0
  661. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_line_on.png +0 -0
  662. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_point_off.png +0 -0
  663. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_point_on.png +0 -0
  664. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_polygon_off.png +0 -0
  665. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_polygon_on.png +0 -0
  666. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/editing_tool_bar.png +0 -0
  667. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/move_feature_off.png +0 -0
  668. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/move_feature_on.png +0 -0
  669. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/navigation_history.png +0 -0
  670. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/overview_replacement.gif +0 -0
  671. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan-panel-NOALPHA.png +0 -0
  672. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan-panel.png +0 -0
  673. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan_off.png +0 -0
  674. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan_on.png +0 -0
  675. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/panning-hand-off.png +0 -0
  676. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/panning-hand-on.png +0 -0
  677. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/remove_point_off.png +0 -0
  678. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/remove_point_on.png +0 -0
  679. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/ruler.png +0 -0
  680. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/save_features_off.png +0 -0
  681. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/save_features_on.png +0 -0
  682. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_next_off.png +0 -0
  683. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_next_on.png +0 -0
  684. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_previous_off.png +0 -0
  685. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_previous_on.png +0 -0
  686. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/zoom-panel-NOALPHA.png +0 -0
  687. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/zoom-panel.png +0 -0
  688. data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/style.css +397 -0
  689. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_db.js +136 -0
  690. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_objects.js +17 -0
  691. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_page.js +164 -0
  692. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/history.js +812 -0
  693. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/iecanvas.js +147 -0
  694. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/init.js +40 -0
  695. data/lib/support/phpmyadmin/phpmyadmin/js/pmd/move.js +1993 -0
  696. data/lib/support/phpmyadmin/phpmyadmin/js/replication.js +72 -0
  697. data/lib/support/phpmyadmin/phpmyadmin/js/rte.js +944 -0
  698. data/lib/support/phpmyadmin/phpmyadmin/js/server_databases.js +137 -0
  699. data/lib/support/phpmyadmin/phpmyadmin/js/server_plugins.js +30 -0
  700. data/lib/support/phpmyadmin/phpmyadmin/js/server_privileges.js +451 -0
  701. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_advisor.js +93 -0
  702. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_monitor.js +2172 -0
  703. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_processes.js +189 -0
  704. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_queries.js +34 -0
  705. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_sorter.js +89 -0
  706. data/lib/support/phpmyadmin/phpmyadmin/js/server_status_variables.js +103 -0
  707. data/lib/support/phpmyadmin/phpmyadmin/js/server_user_groups.js +42 -0
  708. data/lib/support/phpmyadmin/phpmyadmin/js/server_variables.js +147 -0
  709. data/lib/support/phpmyadmin/phpmyadmin/js/sprintf.js +211 -0
  710. data/lib/support/phpmyadmin/phpmyadmin/js/sql.js +842 -0
  711. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_change.js +754 -0
  712. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_chart.js +437 -0
  713. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_find_replace.js +47 -0
  714. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_gis_visualization.js +353 -0
  715. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_operations.js +240 -0
  716. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_relation.js +233 -0
  717. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_select.js +395 -0
  718. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_structure.js +397 -0
  719. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_tracking.js +96 -0
  720. data/lib/support/phpmyadmin/phpmyadmin/js/tbl_zoom_plot_jqplot.js +638 -0
  721. data/lib/support/phpmyadmin/phpmyadmin/js/tracekit/tracekit.js +1114 -0
  722. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/image_upload.js +28 -0
  723. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/json.js +18 -0
  724. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/json_editor.js +17 -0
  725. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/sql_editor.js +30 -0
  726. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/xml.js +18 -0
  727. data/lib/support/phpmyadmin/phpmyadmin/js/transformations/xml_editor.js +16 -0
  728. data/lib/support/phpmyadmin/phpmyadmin/js/whitelist.php +38 -0
  729. data/lib/support/phpmyadmin/phpmyadmin/libraries/Advisor.class.php +526 -0
  730. data/lib/support/phpmyadmin/phpmyadmin/libraries/Config.class.php +1926 -0
  731. data/lib/support/phpmyadmin/phpmyadmin/libraries/Console.class.php +320 -0
  732. data/lib/support/phpmyadmin/phpmyadmin/libraries/DBQbe.class.php +1593 -0
  733. data/lib/support/phpmyadmin/phpmyadmin/libraries/DatabaseInterface.class.php +2864 -0
  734. data/lib/support/phpmyadmin/phpmyadmin/libraries/DbSearch.class.php +502 -0
  735. data/lib/support/phpmyadmin/phpmyadmin/libraries/DisplayResults.class.php +5685 -0
  736. data/lib/support/phpmyadmin/phpmyadmin/libraries/Error.class.php +470 -0
  737. data/lib/support/phpmyadmin/phpmyadmin/libraries/Error_Handler.class.php +561 -0
  738. data/lib/support/phpmyadmin/phpmyadmin/libraries/File.class.php +732 -0
  739. data/lib/support/phpmyadmin/phpmyadmin/libraries/Font.class.php +145 -0
  740. data/lib/support/phpmyadmin/phpmyadmin/libraries/Footer.class.php +351 -0
  741. data/lib/support/phpmyadmin/phpmyadmin/libraries/Header.class.php +752 -0
  742. data/lib/support/phpmyadmin/phpmyadmin/libraries/Index.class.php +1011 -0
  743. data/lib/support/phpmyadmin/phpmyadmin/libraries/List.class.php +122 -0
  744. data/lib/support/phpmyadmin/phpmyadmin/libraries/List_Database.class.php +193 -0
  745. data/lib/support/phpmyadmin/phpmyadmin/libraries/Menu.class.php +631 -0
  746. data/lib/support/phpmyadmin/phpmyadmin/libraries/Message.class.php +759 -0
  747. data/lib/support/phpmyadmin/phpmyadmin/libraries/OutputBuffering.class.php +139 -0
  748. data/lib/support/phpmyadmin/phpmyadmin/libraries/PDF.class.php +149 -0
  749. data/lib/support/phpmyadmin/phpmyadmin/libraries/PMA.php +109 -0
  750. data/lib/support/phpmyadmin/phpmyadmin/libraries/Partition.class.php +77 -0
  751. data/lib/support/phpmyadmin/phpmyadmin/libraries/RecentFavoriteTable.class.php +393 -0
  752. data/lib/support/phpmyadmin/phpmyadmin/libraries/Response.class.php +397 -0
  753. data/lib/support/phpmyadmin/phpmyadmin/libraries/SavedSearches.class.php +447 -0
  754. data/lib/support/phpmyadmin/phpmyadmin/libraries/Scripts.class.php +284 -0
  755. data/lib/support/phpmyadmin/phpmyadmin/libraries/ServerStatusData.class.php +448 -0
  756. data/lib/support/phpmyadmin/phpmyadmin/libraries/StorageEngine.class.php +451 -0
  757. data/lib/support/phpmyadmin/phpmyadmin/libraries/String.class.php +188 -0
  758. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringAbstractType.class.php +35 -0
  759. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringByte.int.php +173 -0
  760. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringCType.class.php +110 -0
  761. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringNativeType.class.php +138 -0
  762. data/lib/support/phpmyadmin/phpmyadmin/libraries/StringType.int.php +84 -0
  763. data/lib/support/phpmyadmin/phpmyadmin/libraries/Table.class.php +1806 -0
  764. data/lib/support/phpmyadmin/phpmyadmin/libraries/TableSearch.class.php +1587 -0
  765. data/lib/support/phpmyadmin/phpmyadmin/libraries/Theme.class.php +485 -0
  766. data/lib/support/phpmyadmin/phpmyadmin/libraries/Theme_Manager.class.php +460 -0
  767. data/lib/support/phpmyadmin/phpmyadmin/libraries/Tracker.class.php +1030 -0
  768. data/lib/support/phpmyadmin/phpmyadmin/libraries/Types.class.php +1071 -0
  769. data/lib/support/phpmyadmin/phpmyadmin/libraries/Util.class.php +4602 -0
  770. data/lib/support/phpmyadmin/phpmyadmin/libraries/advisory_rules.txt +470 -0
  771. data/lib/support/phpmyadmin/phpmyadmin/libraries/bfShapeFiles/ShapeFile.lib.php +682 -0
  772. data/lib/support/phpmyadmin/phpmyadmin/libraries/bookmark.lib.php +273 -0
  773. data/lib/support/phpmyadmin/phpmyadmin/libraries/browse_foreigners.lib.php +316 -0
  774. data/lib/support/phpmyadmin/phpmyadmin/libraries/build_html_for_db.lib.php +184 -0
  775. data/lib/support/phpmyadmin/phpmyadmin/libraries/central_columns.lib.php +1003 -0
  776. data/lib/support/phpmyadmin/phpmyadmin/libraries/charset_conversion.lib.php +120 -0
  777. data/lib/support/phpmyadmin/phpmyadmin/libraries/check_user_privileges.lib.php +195 -0
  778. data/lib/support/phpmyadmin/phpmyadmin/libraries/cleanup.lib.php +50 -0
  779. data/lib/support/phpmyadmin/phpmyadmin/libraries/common.inc.php +1203 -0
  780. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/ConfigFile.class.php +543 -0
  781. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/Form.class.php +231 -0
  782. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/FormDisplay.class.php +837 -0
  783. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/FormDisplay.tpl.php +491 -0
  784. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/ServerConfigChecks.class.php +577 -0
  785. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/Validator.class.php +624 -0
  786. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/config_functions.lib.php +54 -0
  787. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/messages.inc.php +818 -0
  788. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/setup.forms.php +384 -0
  789. data/lib/support/phpmyadmin/phpmyadmin/libraries/config/user_preferences.forms.php +281 -0
  790. data/lib/support/phpmyadmin/phpmyadmin/libraries/config.default.php +3011 -0
  791. data/lib/support/phpmyadmin/phpmyadmin/libraries/config.values.php +270 -0
  792. data/lib/support/phpmyadmin/phpmyadmin/libraries/core.lib.php +1013 -0
  793. data/lib/support/phpmyadmin/phpmyadmin/libraries/create_addfield.lib.php +376 -0
  794. data/lib/support/phpmyadmin/phpmyadmin/libraries/data_dictionary_relations.lib.php +167 -0
  795. data/lib/support/phpmyadmin/phpmyadmin/libraries/database_interface.inc.php +74 -0
  796. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_common.inc.php +105 -0
  797. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_designer.lib.php +1397 -0
  798. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_info.inc.php +248 -0
  799. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_printview.lib.php +30 -0
  800. data/lib/support/phpmyadmin/phpmyadmin/libraries/db_table_exists.lib.php +106 -0
  801. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIDrizzle.class.php +583 -0
  802. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIDummy.class.php +906 -0
  803. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIExtension.int.php +262 -0
  804. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIMysql.class.php +469 -0
  805. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIMysqli.class.php +620 -0
  806. data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/drizzle-wrappers.lib.php +427 -0
  807. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_change_password.lib.php +113 -0
  808. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_create_database.lib.php +62 -0
  809. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_create_table.lib.php +82 -0
  810. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_export.inc.php +72 -0
  811. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_export.lib.php +872 -0
  812. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_git_revision.lib.php +83 -0
  813. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import.inc.php +64 -0
  814. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import.lib.php +602 -0
  815. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import_ajax.lib.php +129 -0
  816. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_select_lang.lib.php +98 -0
  817. data/lib/support/phpmyadmin/phpmyadmin/libraries/display_structure.inc.php +272 -0
  818. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/bdb.lib.php +87 -0
  819. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/berkeleydb.lib.php +26 -0
  820. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/binlog.lib.php +31 -0
  821. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/innobase.lib.php +25 -0
  822. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/innodb.lib.php +392 -0
  823. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/memory.lib.php +34 -0
  824. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/merge.lib.php +21 -0
  825. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/mrg_myisam.lib.php +36 -0
  826. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/myisam.lib.php +69 -0
  827. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/ndbcluster.lib.php +55 -0
  828. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/pbxt.lib.php +149 -0
  829. data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/performance_schema.lib.php +31 -0
  830. data/lib/support/phpmyadmin/phpmyadmin/libraries/error.inc.php +58 -0
  831. data/lib/support/phpmyadmin/phpmyadmin/libraries/error_report.lib.php +432 -0
  832. data/lib/support/phpmyadmin/phpmyadmin/libraries/export.lib.php +858 -0
  833. data/lib/support/phpmyadmin/phpmyadmin/libraries/file_listing.lib.php +99 -0
  834. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Factory.class.php +66 -0
  835. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Geometry.class.php +376 -0
  836. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Geometrycollection.class.php +364 -0
  837. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Linestring.class.php +323 -0
  838. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multilinestring.class.php +394 -0
  839. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multipoint.class.php +367 -0
  840. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multipolygon.class.php +564 -0
  841. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Point.class.php +314 -0
  842. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Polygon.class.php +581 -0
  843. data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Visualization.class.php +504 -0
  844. data/lib/support/phpmyadmin/phpmyadmin/libraries/iconv_wrapper.lib.php +128 -0
  845. data/lib/support/phpmyadmin/phpmyadmin/libraries/import.lib.php +1954 -0
  846. data/lib/support/phpmyadmin/phpmyadmin/libraries/index.lib.php +48 -0
  847. data/lib/support/phpmyadmin/phpmyadmin/libraries/information_schema_relations.lib.php +327 -0
  848. data/lib/support/phpmyadmin/phpmyadmin/libraries/insert_edit.lib.php +2931 -0
  849. data/lib/support/phpmyadmin/phpmyadmin/libraries/ip_allow_deny.lib.php +341 -0
  850. data/lib/support/phpmyadmin/phpmyadmin/libraries/js_escape.lib.php +135 -0
  851. data/lib/support/phpmyadmin/phpmyadmin/libraries/kanji-encoding.lib.php +168 -0
  852. data/lib/support/phpmyadmin/phpmyadmin/libraries/language_stats.inc.php +87 -0
  853. data/lib/support/phpmyadmin/phpmyadmin/libraries/logging.lib.php +30 -0
  854. data/lib/support/phpmyadmin/phpmyadmin/libraries/mime.lib.php +34 -0
  855. data/lib/support/phpmyadmin/phpmyadmin/libraries/mult_submits.inc.php +307 -0
  856. data/lib/support/phpmyadmin/phpmyadmin/libraries/mult_submits.lib.php +647 -0
  857. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_charsets.inc.php +129 -0
  858. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_charsets.lib.php +379 -0
  859. data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_relations.lib.php +169 -0
  860. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Navigation.class.php +228 -0
  861. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NavigationHeader.class.php +223 -0
  862. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NavigationTree.class.php +1452 -0
  863. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NodeFactory.class.php +97 -0
  864. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node.class.php +813 -0
  865. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Column.class.php +47 -0
  866. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Column_Container.class.php +57 -0
  867. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Database.class.php +663 -0
  868. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_DatabaseChild.class.php +52 -0
  869. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Database_Container.class.php +51 -0
  870. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Event.class.php +57 -0
  871. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Event_Container.class.php +54 -0
  872. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Function.class.php +57 -0
  873. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Function_Container.class.php +53 -0
  874. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Index.class.php +45 -0
  875. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Index_Container.class.php +57 -0
  876. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Procedure.class.php +57 -0
  877. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Procedure_Container.class.php +55 -0
  878. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Table.class.php +294 -0
  879. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Table_Container.class.php +60 -0
  880. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Trigger.class.php +45 -0
  881. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Trigger_Container.class.php +57 -0
  882. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_View.class.php +57 -0
  883. data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_View_Container.class.php +60 -0
  884. data/lib/support/phpmyadmin/phpmyadmin/libraries/normalization.lib.php +945 -0
  885. data/lib/support/phpmyadmin/phpmyadmin/libraries/opendocument.lib.php +171 -0
  886. data/lib/support/phpmyadmin/phpmyadmin/libraries/operations.lib.php +1649 -0
  887. data/lib/support/phpmyadmin/phpmyadmin/libraries/parse_analyze.inc.php +144 -0
  888. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/gettext.inc +536 -0
  889. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/gettext.php +432 -0
  890. data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/streams.php +167 -0
  891. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/AES.php +184 -0
  892. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Base.php +1984 -0
  893. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Random.php +251 -0
  894. data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Rijndael.php +1370 -0
  895. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugin_interface.lib.php +557 -0
  896. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/AuthenticationPlugin.class.php +100 -0
  897. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/ExportPlugin.class.php +326 -0
  898. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/IOTransformationsPlugin.class.php +91 -0
  899. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/ImportPlugin.class.php +77 -0
  900. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/SchemaPlugin.class.php +76 -0
  901. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/TransformationsInterface.int.php +49 -0
  902. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/TransformationsPlugin.class.php +69 -0
  903. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/UploadInterface.int.php +36 -0
  904. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationConfig.class.php +183 -0
  905. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationCookie.class.php +871 -0
  906. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationHttp.class.php +289 -0
  907. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationSignon.class.php +267 -0
  908. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/recaptcha/LICENSE +29 -0
  909. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/recaptcha/recaptchalib.php +140 -0
  910. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/authentication.inc.php +176 -0
  911. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/musbe-ca.crt +25 -0
  912. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/swekey.auth.lib.php +318 -0
  913. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/swekey.php +536 -0
  914. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportCodegen.class.php +434 -0
  915. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportCsv.class.php +323 -0
  916. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportExcel.class.php +92 -0
  917. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportHtmlword.class.php +644 -0
  918. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportJson.class.php +215 -0
  919. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportLatex.class.php +656 -0
  920. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportMediawiki.class.php +379 -0
  921. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportOds.class.php +334 -0
  922. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportOdt.class.php +765 -0
  923. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportPdf.class.php +276 -0
  924. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportPhparray.class.php +233 -0
  925. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportSql.class.php +2601 -0
  926. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportTexytext.class.php +575 -0
  927. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportXml.class.php +584 -0
  928. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportYaml.class.php +212 -0
  929. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/PMA_ExportPdf.class.php +434 -0
  930. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/README +267 -0
  931. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/TableProperty.class.php +286 -0
  932. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/AbstractImportCsv.class.php +90 -0
  933. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportCsv.class.php +687 -0
  934. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportLdi.class.php +161 -0
  935. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportMediawiki.class.php +598 -0
  936. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportOds.class.php +414 -0
  937. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportShp.class.php +327 -0
  938. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportSql.class.php +620 -0
  939. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportXml.class.php +366 -0
  940. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/README +159 -0
  941. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ShapeFile.class.php +102 -0
  942. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ShapeRecord.class.php +161 -0
  943. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadApc.class.php +84 -0
  944. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadNoplugin.class.php +64 -0
  945. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadProgress.class.php +94 -0
  946. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadSession.class.php +96 -0
  947. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/Export_Relation_Schema.class.php +299 -0
  948. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/RelationStats.class.php +108 -0
  949. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaDia.class.php +117 -0
  950. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaEps.class.php +102 -0
  951. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaPdf.class.php +132 -0
  952. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaSvg.class.php +90 -0
  953. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/TableStats.class.php +179 -0
  954. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/Dia_Relation_Schema.class.php +378 -0
  955. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/RelationStatsDia.class.php +216 -0
  956. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/TableStatsDia.class.php +227 -0
  957. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/Eps_Relation_Schema.class.php +508 -0
  958. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/RelationStatsEps.class.php +135 -0
  959. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/TableStatsEps.class.php +157 -0
  960. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/Pdf_Relation_Schema.class.php +1070 -0
  961. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/RelationStatsPdf.class.php +135 -0
  962. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/TableStatsPdf.class.php +222 -0
  963. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/RelationStatsSvg.class.php +119 -0
  964. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/Svg_Relation_Schema.class.php +501 -0
  965. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/TableStatsSvg.class.php +180 -0
  966. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/README +4 -0
  967. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/TEMPLATE +46 -0
  968. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/TEMPLATE_ABSTRACT +73 -0
  969. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Link.class.php +44 -0
  970. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Longtoipv4.class.php +44 -0
  971. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Preappend.class.php +45 -0
  972. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Substring.class.php +44 -0
  973. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/Bool2TextTransformationsPlugin.class.php +69 -0
  974. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/CodeMirrorEditorTransformationPlugin.class.php +64 -0
  975. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/DateFormatTransformationsPlugin.class.php +164 -0
  976. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/DownloadTransformationsPlugin.class.php +95 -0
  977. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ExternalTransformationsPlugin.class.php +155 -0
  978. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/FormattedTransformationsPlugin.class.php +65 -0
  979. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/HexTransformationsPlugin.class.php +72 -0
  980. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ImageLinkTransformationsPlugin.class.php +74 -0
  981. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ImageUploadTransformationsPlugin.class.php +110 -0
  982. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/InlineTransformationsPlugin.class.php +86 -0
  983. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/LongToIPv4TransformationsPlugin.class.php +68 -0
  984. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/PreApPendTransformationsPlugin.class.php +71 -0
  985. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/RegexValidationTransformationsPlugin.class.php +74 -0
  986. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/SQLTransformationsPlugin.class.php +67 -0
  987. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/SubstringTransformationsPlugin.class.php +92 -0
  988. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextFileUploadTransformationsPlugin.class.php +93 -0
  989. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextImageLinkTransformationsPlugin.class.php +81 -0
  990. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextLinkTransformationsPlugin.class.php +82 -0
  991. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/generator_main_class.sh +16 -0
  992. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/generator_plugin.sh +64 -0
  993. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Image_JPEG_Upload.class.php +46 -0
  994. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_Fileupload.class.php +45 -0
  995. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_JsonEditor.class.php +86 -0
  996. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_Regexvalidation.class.php +46 -0
  997. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_SqlEditor.class.php +86 -0
  998. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_XmlEditor.class.php +86 -0
  999. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Application_Octetstream_Download.class.php +44 -0
  1000. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Application_Octetstream_Hex.class.php +45 -0
  1001. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_JPEG_Inline.class.php +45 -0
  1002. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_JPEG_Link.class.php +45 -0
  1003. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_PNG_Inline.class.php +45 -0
  1004. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Octetstream_Sql.class.php +45 -0
  1005. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Bool2text.class.php +47 -0
  1006. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Dateformat.class.php +45 -0
  1007. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_External.class.php +45 -0
  1008. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Formatted.class.php +45 -0
  1009. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Imagelink.class.php +45 -0
  1010. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Json.class.php +96 -0
  1011. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Sql.class.php +57 -0
  1012. data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Xml.class.php +96 -0
  1013. data/lib/support/phpmyadmin/phpmyadmin/libraries/pmd_common.php +657 -0
  1014. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/PropertyItem.class.php +49 -0
  1015. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyGroup.class.php +99 -0
  1016. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyItem.class.php +127 -0
  1017. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyOneItem.class.php +172 -0
  1018. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertyMainGroup.class.php +35 -0
  1019. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertyRootGroup.class.php +35 -0
  1020. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertySubgroup.class.php +68 -0
  1021. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/BoolPropertyItem.class.php +35 -0
  1022. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/DocPropertyItem.class.php +35 -0
  1023. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/HiddenPropertyItem.class.php +35 -0
  1024. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/MessageOnlyPropertyItem.class.php +35 -0
  1025. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/NumberPropertyItem.class.php +35 -0
  1026. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/RadioPropertyItem.class.php +35 -0
  1027. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/SelectPropertyItem.class.php +35 -0
  1028. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/TextPropertyItem.class.php +35 -0
  1029. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/ExportPluginProperties.class.php +68 -0
  1030. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/ImportPluginProperties.class.php +34 -0
  1031. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/PluginPropertyItem.class.php +183 -0
  1032. data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/SchemaPluginProperties.class.php +47 -0
  1033. data/lib/support/phpmyadmin/phpmyadmin/libraries/relation.lib.php +2024 -0
  1034. data/lib/support/phpmyadmin/phpmyadmin/libraries/relation_cleanup.lib.php +216 -0
  1035. data/lib/support/phpmyadmin/phpmyadmin/libraries/replication.inc.php +321 -0
  1036. data/lib/support/phpmyadmin/phpmyadmin/libraries/replication_gui.lib.php +1088 -0
  1037. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_events.lib.php +618 -0
  1038. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_export.lib.php +121 -0
  1039. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_footer.lib.php +130 -0
  1040. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_general.lib.php +88 -0
  1041. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_list.lib.php +387 -0
  1042. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_main.inc.php +94 -0
  1043. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_routines.lib.php +1733 -0
  1044. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_triggers.lib.php +463 -0
  1045. data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_words.lib.php +75 -0
  1046. data/lib/support/phpmyadmin/phpmyadmin/libraries/sanitizing.lib.php +191 -0
  1047. data/lib/support/phpmyadmin/phpmyadmin/libraries/select_lang.lib.php +621 -0
  1048. data/lib/support/phpmyadmin/phpmyadmin/libraries/select_server.lib.php +111 -0
  1049. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_bin_log.lib.php +244 -0
  1050. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_collations.lib.php +100 -0
  1051. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_common.inc.php +53 -0
  1052. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_common.lib.php +67 -0
  1053. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_databases.lib.php +498 -0
  1054. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_engines.lib.php +145 -0
  1055. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_plugins.lib.php +207 -0
  1056. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_privileges.lib.php +4692 -0
  1057. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status.lib.php +317 -0
  1058. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_advisor.lib.php +68 -0
  1059. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_monitor.lib.php +825 -0
  1060. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_processes.lib.php +320 -0
  1061. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_queries.lib.php +154 -0
  1062. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_variables.lib.php +765 -0
  1063. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_user_groups.lib.php +360 -0
  1064. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_users.lib.php +58 -0
  1065. data/lib/support/phpmyadmin/phpmyadmin/libraries/server_variables.lib.php +1683 -0
  1066. data/lib/support/phpmyadmin/phpmyadmin/libraries/session.inc.php +130 -0
  1067. data/lib/support/phpmyadmin/phpmyadmin/libraries/special_schema_links.lib.php +461 -0
  1068. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/LICENSE.txt +21 -0
  1069. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/README.md +185 -0
  1070. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/lib/SqlFormatter.php +1085 -0
  1071. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql.lib.php +2293 -0
  1072. data/lib/support/phpmyadmin/phpmyadmin/libraries/sql_query_form.lib.php +477 -0
  1073. data/lib/support/phpmyadmin/phpmyadmin/libraries/sqlparser.data.php +999 -0
  1074. data/lib/support/phpmyadmin/phpmyadmin/libraries/sqlparser.lib.php +2997 -0
  1075. data/lib/support/phpmyadmin/phpmyadmin/libraries/string.lib.php +33 -0
  1076. data/lib/support/phpmyadmin/phpmyadmin/libraries/stringMb.lib.php +78 -0
  1077. data/lib/support/phpmyadmin/phpmyadmin/libraries/stringNative.lib.php +245 -0
  1078. data/lib/support/phpmyadmin/phpmyadmin/libraries/structure.lib.php +3294 -0
  1079. data/lib/support/phpmyadmin/phpmyadmin/libraries/sysinfo.lib.php +369 -0
  1080. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_chart.lib.php +383 -0
  1081. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_columns_definition_form.inc.php +195 -0
  1082. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_columns_definition_form.lib.php +1458 -0
  1083. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_common.inc.php +48 -0
  1084. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_gis_visualization.lib.php +281 -0
  1085. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_indexes.lib.php +480 -0
  1086. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_info.inc.php +108 -0
  1087. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_printview.lib.php +602 -0
  1088. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_relation.lib.php +1222 -0
  1089. data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_views.lib.php +161 -0
  1090. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/LICENSE.TXT +858 -0
  1091. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/README.TXT +115 -0
  1092. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/config/tcpdf_config.php +227 -0
  1093. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE +99 -0
  1094. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.ctg.z +0 -0
  1095. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.php +16 -0
  1096. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.z +0 -0
  1097. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.ctg.z +0 -0
  1098. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.php +16 -0
  1099. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.z +0 -0
  1100. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/helvetica.php +13 -0
  1101. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/sRGB.icc +0 -0
  1102. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_colors.php +462 -0
  1103. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_font_data.php +18447 -0
  1104. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_fonts.php +2591 -0
  1105. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_images.php +355 -0
  1106. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_static.php +2528 -0
  1107. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/tcpdf.php +24478 -0
  1108. data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/tcpdf_autoconfig.php +241 -0
  1109. data/lib/support/phpmyadmin/phpmyadmin/libraries/tracking.lib.php +1439 -0
  1110. data/lib/support/phpmyadmin/phpmyadmin/libraries/transformations.lib.php +461 -0
  1111. data/lib/support/phpmyadmin/phpmyadmin/libraries/url_generating.lib.php +256 -0
  1112. data/lib/support/phpmyadmin/phpmyadmin/libraries/user_preferences.inc.php +71 -0
  1113. data/lib/support/phpmyadmin/phpmyadmin/libraries/user_preferences.lib.php +301 -0
  1114. data/lib/support/phpmyadmin/phpmyadmin/libraries/vendor_config.php +93 -0
  1115. data/lib/support/phpmyadmin/phpmyadmin/libraries/zip.lib.php +211 -0
  1116. data/lib/support/phpmyadmin/phpmyadmin/libraries/zip_extension.lib.php +195 -0
  1117. data/lib/support/phpmyadmin/phpmyadmin/license.php +31 -0
  1118. data/lib/support/phpmyadmin/phpmyadmin/locale/az/LC_MESSAGES/phpmyadmin.mo +0 -0
  1119. data/lib/support/phpmyadmin/phpmyadmin/locale/bg/LC_MESSAGES/phpmyadmin.mo +0 -0
  1120. data/lib/support/phpmyadmin/phpmyadmin/locale/bn/LC_MESSAGES/phpmyadmin.mo +0 -0
  1121. data/lib/support/phpmyadmin/phpmyadmin/locale/ca/LC_MESSAGES/phpmyadmin.mo +0 -0
  1122. data/lib/support/phpmyadmin/phpmyadmin/locale/cs/LC_MESSAGES/phpmyadmin.mo +0 -0
  1123. data/lib/support/phpmyadmin/phpmyadmin/locale/da/LC_MESSAGES/phpmyadmin.mo +0 -0
  1124. data/lib/support/phpmyadmin/phpmyadmin/locale/de/LC_MESSAGES/phpmyadmin.mo +0 -0
  1125. data/lib/support/phpmyadmin/phpmyadmin/locale/el/LC_MESSAGES/phpmyadmin.mo +0 -0
  1126. data/lib/support/phpmyadmin/phpmyadmin/locale/en_GB/LC_MESSAGES/phpmyadmin.mo +0 -0
  1127. data/lib/support/phpmyadmin/phpmyadmin/locale/es/LC_MESSAGES/phpmyadmin.mo +0 -0
  1128. data/lib/support/phpmyadmin/phpmyadmin/locale/et/LC_MESSAGES/phpmyadmin.mo +0 -0
  1129. data/lib/support/phpmyadmin/phpmyadmin/locale/fi/LC_MESSAGES/phpmyadmin.mo +0 -0
  1130. data/lib/support/phpmyadmin/phpmyadmin/locale/fr/LC_MESSAGES/phpmyadmin.mo +0 -0
  1131. data/lib/support/phpmyadmin/phpmyadmin/locale/gl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1132. data/lib/support/phpmyadmin/phpmyadmin/locale/hi/LC_MESSAGES/phpmyadmin.mo +0 -0
  1133. data/lib/support/phpmyadmin/phpmyadmin/locale/hu/LC_MESSAGES/phpmyadmin.mo +0 -0
  1134. data/lib/support/phpmyadmin/phpmyadmin/locale/ia/LC_MESSAGES/phpmyadmin.mo +0 -0
  1135. data/lib/support/phpmyadmin/phpmyadmin/locale/id/LC_MESSAGES/phpmyadmin.mo +0 -0
  1136. data/lib/support/phpmyadmin/phpmyadmin/locale/it/LC_MESSAGES/phpmyadmin.mo +0 -0
  1137. data/lib/support/phpmyadmin/phpmyadmin/locale/ja/LC_MESSAGES/phpmyadmin.mo +0 -0
  1138. data/lib/support/phpmyadmin/phpmyadmin/locale/ko/LC_MESSAGES/phpmyadmin.mo +0 -0
  1139. data/lib/support/phpmyadmin/phpmyadmin/locale/lt/LC_MESSAGES/phpmyadmin.mo +0 -0
  1140. data/lib/support/phpmyadmin/phpmyadmin/locale/nb/LC_MESSAGES/phpmyadmin.mo +0 -0
  1141. data/lib/support/phpmyadmin/phpmyadmin/locale/nl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1142. data/lib/support/phpmyadmin/phpmyadmin/locale/pl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1143. data/lib/support/phpmyadmin/phpmyadmin/locale/pt/LC_MESSAGES/phpmyadmin.mo +0 -0
  1144. data/lib/support/phpmyadmin/phpmyadmin/locale/pt_BR/LC_MESSAGES/phpmyadmin.mo +0 -0
  1145. data/lib/support/phpmyadmin/phpmyadmin/locale/ro/LC_MESSAGES/phpmyadmin.mo +0 -0
  1146. data/lib/support/phpmyadmin/phpmyadmin/locale/ru/LC_MESSAGES/phpmyadmin.mo +0 -0
  1147. data/lib/support/phpmyadmin/phpmyadmin/locale/si/LC_MESSAGES/phpmyadmin.mo +0 -0
  1148. data/lib/support/phpmyadmin/phpmyadmin/locale/sk/LC_MESSAGES/phpmyadmin.mo +0 -0
  1149. data/lib/support/phpmyadmin/phpmyadmin/locale/sl/LC_MESSAGES/phpmyadmin.mo +0 -0
  1150. data/lib/support/phpmyadmin/phpmyadmin/locale/sq/LC_MESSAGES/phpmyadmin.mo +0 -0
  1151. data/lib/support/phpmyadmin/phpmyadmin/locale/sr@latin/LC_MESSAGES/phpmyadmin.mo +0 -0
  1152. data/lib/support/phpmyadmin/phpmyadmin/locale/sv/LC_MESSAGES/phpmyadmin.mo +0 -0
  1153. data/lib/support/phpmyadmin/phpmyadmin/locale/tr/LC_MESSAGES/phpmyadmin.mo +0 -0
  1154. data/lib/support/phpmyadmin/phpmyadmin/locale/uk/LC_MESSAGES/phpmyadmin.mo +0 -0
  1155. data/lib/support/phpmyadmin/phpmyadmin/locale/zh_CN/LC_MESSAGES/phpmyadmin.mo +0 -0
  1156. data/lib/support/phpmyadmin/phpmyadmin/locale/zh_TW/LC_MESSAGES/phpmyadmin.mo +0 -0
  1157. data/lib/support/phpmyadmin/phpmyadmin/navigation.php +71 -0
  1158. data/lib/support/phpmyadmin/phpmyadmin/normalization.php +122 -0
  1159. data/lib/support/phpmyadmin/phpmyadmin/phpinfo.php +21 -0
  1160. data/lib/support/phpmyadmin/phpmyadmin/phpmyadmin.css.php +39 -0
  1161. data/lib/support/phpmyadmin/phpmyadmin/phpunit.xml.hhvm +30 -0
  1162. data/lib/support/phpmyadmin/phpmyadmin/phpunit.xml.nocoverage +40 -0
  1163. data/lib/support/phpmyadmin/phpmyadmin/prefs_forms.php +92 -0
  1164. data/lib/support/phpmyadmin/phpmyadmin/prefs_manage.php +375 -0
  1165. data/lib/support/phpmyadmin/phpmyadmin/print.css +92 -0
  1166. data/lib/support/phpmyadmin/phpmyadmin/robots.txt +2 -0
  1167. data/lib/support/phpmyadmin/phpmyadmin/schema_export.php +77 -0
  1168. data/lib/support/phpmyadmin/phpmyadmin/server_binlog.php +54 -0
  1169. data/lib/support/phpmyadmin/phpmyadmin/server_collations.php +39 -0
  1170. data/lib/support/phpmyadmin/phpmyadmin/server_databases.php +118 -0
  1171. data/lib/support/phpmyadmin/phpmyadmin/server_engines.php +34 -0
  1172. data/lib/support/phpmyadmin/phpmyadmin/server_export.php +29 -0
  1173. data/lib/support/phpmyadmin/phpmyadmin/server_import.php +27 -0
  1174. data/lib/support/phpmyadmin/phpmyadmin/server_plugins.php +59 -0
  1175. data/lib/support/phpmyadmin/phpmyadmin/server_privileges.php +410 -0
  1176. data/lib/support/phpmyadmin/phpmyadmin/server_replication.php +83 -0
  1177. data/lib/support/phpmyadmin/phpmyadmin/server_sql.php +32 -0
  1178. data/lib/support/phpmyadmin/phpmyadmin/server_status.php +38 -0
  1179. data/lib/support/phpmyadmin/phpmyadmin/server_status_advisor.php +39 -0
  1180. data/lib/support/phpmyadmin/phpmyadmin/server_status_monitor.php +113 -0
  1181. data/lib/support/phpmyadmin/phpmyadmin/server_status_processes.php +64 -0
  1182. data/lib/support/phpmyadmin/phpmyadmin/server_status_queries.php +54 -0
  1183. data/lib/support/phpmyadmin/phpmyadmin/server_status_variables.php +57 -0
  1184. data/lib/support/phpmyadmin/phpmyadmin/server_user_groups.php +72 -0
  1185. data/lib/support/phpmyadmin/phpmyadmin/server_variables.php +60 -0
  1186. data/lib/support/phpmyadmin/phpmyadmin/setup/ajax.js +11 -0
  1187. data/lib/support/phpmyadmin/phpmyadmin/setup/config.php +81 -0
  1188. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/config.inc.php +52 -0
  1189. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/form.inc.php +36 -0
  1190. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/index.inc.php +313 -0
  1191. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/menu.inc.php +37 -0
  1192. data/lib/support/phpmyadmin/phpmyadmin/setup/frames/servers.inc.php +50 -0
  1193. data/lib/support/phpmyadmin/phpmyadmin/setup/index.php +61 -0
  1194. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/ConfigGenerator.class.php +161 -0
  1195. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/common.inc.php +56 -0
  1196. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/form_processing.lib.php +81 -0
  1197. data/lib/support/phpmyadmin/phpmyadmin/setup/lib/index.lib.php +204 -0
  1198. data/lib/support/phpmyadmin/phpmyadmin/setup/scripts.js +216 -0
  1199. data/lib/support/phpmyadmin/phpmyadmin/setup/styles.css +619 -0
  1200. data/lib/support/phpmyadmin/phpmyadmin/setup/validate.php +32 -0
  1201. data/lib/support/phpmyadmin/phpmyadmin/show_config_errors.php +40 -0
  1202. data/lib/support/phpmyadmin/phpmyadmin/sql/create_tables.sql +323 -0
  1203. data/lib/support/phpmyadmin/phpmyadmin/sql/create_tables_drizzle.sql +275 -0
  1204. data/lib/support/phpmyadmin/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql +47 -0
  1205. data/lib/support/phpmyadmin/phpmyadmin/sql/upgrade_tables_mysql_4_1_2+.sql +144 -0
  1206. data/lib/support/phpmyadmin/phpmyadmin/sql.php +203 -0
  1207. data/lib/support/phpmyadmin/phpmyadmin/tbl_addfield.php +124 -0
  1208. data/lib/support/phpmyadmin/phpmyadmin/tbl_change.php +232 -0
  1209. data/lib/support/phpmyadmin/phpmyadmin/tbl_chart.php +142 -0
  1210. data/lib/support/phpmyadmin/phpmyadmin/tbl_create.php +108 -0
  1211. data/lib/support/phpmyadmin/phpmyadmin/tbl_export.php +107 -0
  1212. data/lib/support/phpmyadmin/phpmyadmin/tbl_find_replace.php +66 -0
  1213. data/lib/support/phpmyadmin/phpmyadmin/tbl_get_field.php +55 -0
  1214. data/lib/support/phpmyadmin/phpmyadmin/tbl_gis_visualization.php +115 -0
  1215. data/lib/support/phpmyadmin/phpmyadmin/tbl_import.php +30 -0
  1216. data/lib/support/phpmyadmin/phpmyadmin/tbl_indexes.php +60 -0
  1217. data/lib/support/phpmyadmin/phpmyadmin/tbl_operations.php +423 -0
  1218. data/lib/support/phpmyadmin/phpmyadmin/tbl_printview.php +74 -0
  1219. data/lib/support/phpmyadmin/phpmyadmin/tbl_recent_favorite.php +19 -0
  1220. data/lib/support/phpmyadmin/phpmyadmin/tbl_relation.php +156 -0
  1221. data/lib/support/phpmyadmin/phpmyadmin/tbl_replace.php +468 -0
  1222. data/lib/support/phpmyadmin/phpmyadmin/tbl_row_action.php +146 -0
  1223. data/lib/support/phpmyadmin/phpmyadmin/tbl_select.php +81 -0
  1224. data/lib/support/phpmyadmin/phpmyadmin/tbl_sql.php +52 -0
  1225. data/lib/support/phpmyadmin/phpmyadmin/tbl_structure.php +210 -0
  1226. data/lib/support/phpmyadmin/phpmyadmin/tbl_tracking.php +209 -0
  1227. data/lib/support/phpmyadmin/phpmyadmin/tbl_triggers.php +10 -0
  1228. data/lib/support/phpmyadmin/phpmyadmin/tbl_zoom_select.php +165 -0
  1229. data/lib/support/phpmyadmin/phpmyadmin/themes/dot.gif +0 -0
  1230. data/lib/support/phpmyadmin/phpmyadmin/themes/original/css/common.css.php +3078 -0
  1231. data/lib/support/phpmyadmin/phpmyadmin/themes/original/css/navigation.css.php +424 -0
  1232. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/ajax_clock_small.gif +0 -0
  1233. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/arrow_ltr.png +0 -0
  1234. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/arrow_rtl.png +0 -0
  1235. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_bookmark.png +0 -0
  1236. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_browse.png +0 -0
  1237. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_calendar.png +0 -0
  1238. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_chart.png +0 -0
  1239. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_close.png +0 -0
  1240. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_column_add.png +0 -0
  1241. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_comment.png +0 -0
  1242. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_dbstatistics.png +0 -0
  1243. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_deltbl.png +0 -0
  1244. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_docs.png +0 -0
  1245. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_drop.png +0 -0
  1246. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_edit.png +0 -0
  1247. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_empty.png +0 -0
  1248. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_engine.png +0 -0
  1249. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_event_add.png +0 -0
  1250. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_events.png +0 -0
  1251. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_export.png +0 -0
  1252. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_favorite.png +0 -0
  1253. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_find_replace.png +0 -0
  1254. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_ftext.png +0 -0
  1255. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_globe.gif +0 -0
  1256. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_group.png +0 -0
  1257. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_help.png +0 -0
  1258. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_home.png +0 -0
  1259. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_import.png +0 -0
  1260. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_index.png +0 -0
  1261. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_index_add.png +0 -0
  1262. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_info.png +0 -0
  1263. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_inline_edit.png +0 -0
  1264. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_insrow.png +0 -0
  1265. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_minus.png +0 -0
  1266. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_more.png +0 -0
  1267. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_move.png +0 -0
  1268. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_newdb.png +0 -0
  1269. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_newtbl.png +0 -0
  1270. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_nextpage.png +0 -0
  1271. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_no_favorite.png +0 -0
  1272. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_plus.png +0 -0
  1273. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_primary.png +0 -0
  1274. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_print.png +0 -0
  1275. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_props.png +0 -0
  1276. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_relations.png +0 -0
  1277. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_report.png +0 -0
  1278. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_routine_add.png +0 -0
  1279. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_routines.png +0 -0
  1280. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_save.png +0 -0
  1281. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_saveimage.png +0 -0
  1282. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sbrowse.png +0 -0
  1283. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_search.png +0 -0
  1284. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_selboard.png +0 -0
  1285. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_select.png +0 -0
  1286. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_snewtbl.png +0 -0
  1287. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_spatial.png +0 -0
  1288. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sql.png +0 -0
  1289. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sqlhelp.png +0 -0
  1290. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_table_add.png +0 -0
  1291. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblanalyse.png +0 -0
  1292. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblexport.png +0 -0
  1293. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblimport.png +0 -0
  1294. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblops.png +0 -0
  1295. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tbloptimize.png +0 -0
  1296. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tipp.png +0 -0
  1297. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_trigger_add.png +0 -0
  1298. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_triggers.png +0 -0
  1299. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_undo.png +0 -0
  1300. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_unique.png +0 -0
  1301. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usradd.png +0 -0
  1302. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrcheck.png +0 -0
  1303. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrdrop.png +0 -0
  1304. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usredit.png +0 -0
  1305. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrlist.png +0 -0
  1306. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_versions.png +0 -0
  1307. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_view.png +0 -0
  1308. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_view_add.png +0 -0
  1309. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_views.png +0 -0
  1310. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_browse.png +0 -0
  1311. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_deltbl.png +0 -0
  1312. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_drop.png +0 -0
  1313. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_edit.png +0 -0
  1314. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_empty.png +0 -0
  1315. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_export.png +0 -0
  1316. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_ftext.png +0 -0
  1317. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_index.png +0 -0
  1318. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_insrow.png +0 -0
  1319. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_nextpage.png +0 -0
  1320. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_primary.png +0 -0
  1321. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_routine_add.png +0 -0
  1322. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_sbrowse.png +0 -0
  1323. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_select.png +0 -0
  1324. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_spatial.png +0 -0
  1325. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_unique.png +0 -0
  1326. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns.png +0 -0
  1327. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns_add.png +0 -0
  1328. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns_delete.png +0 -0
  1329. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/cleardot.gif +0 -0
  1330. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_drop.png +0 -0
  1331. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_pointer.png +0 -0
  1332. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_pointer_ver.png +0 -0
  1333. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/console.png +0 -0
  1334. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/east-mini.png +0 -0
  1335. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/error.ico +0 -0
  1336. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/eye.png +0 -0
  1337. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/eye_grey.png +0 -0
  1338. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/lightbulb.png +0 -0
  1339. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/lightbulb_off.png +0 -0
  1340. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/logo_left.png +0 -0
  1341. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/logo_right.png +0 -0
  1342. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/more.png +0 -0
  1343. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data.png +0 -0
  1344. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_hovered.png +0 -0
  1345. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_selected.png +0 -0
  1346. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_selected_hovered.png +0 -0
  1347. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct.png +0 -0
  1348. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_hovered.png +0 -0
  1349. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_selected.png +0 -0
  1350. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_selected_hovered.png +0 -0
  1351. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/normalize.png +0 -0
  1352. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/north-mini.png +0 -0
  1353. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/pause.png +0 -0
  1354. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/play.png +0 -0
  1355. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_asc.png +0 -0
  1356. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_asci.png +0 -0
  1357. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_attention.png +0 -0
  1358. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_cancel.png +0 -0
  1359. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_cog.png +0 -0
  1360. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_collapseall.png +0 -0
  1361. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_db.png +0 -0
  1362. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_desc.png +0 -0
  1363. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_error.png +0 -0
  1364. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_error2.png +0 -0
  1365. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_fulltext.png +0 -0
  1366. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_host.png +0 -0
  1367. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_info.png +0 -0
  1368. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_lang.png +0 -0
  1369. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_link.png +0 -0
  1370. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_lock.png +0 -0
  1371. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_loggoff.png +0 -0
  1372. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_notice.png +0 -0
  1373. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_partialtext.png +0 -0
  1374. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_passwd.png +0 -0
  1375. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_really.png +0 -0
  1376. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_reload.png +0 -0
  1377. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_replication.png +0 -0
  1378. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_rights.png +0 -0
  1379. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_sortable.png +0 -0
  1380. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_status.png +0 -0
  1381. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_success.png +0 -0
  1382. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_sync.png +0 -0
  1383. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_tbl.png +0 -0
  1384. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_theme.png +0 -0
  1385. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_top.png +0 -0
  1386. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_unlink.png +0 -0
  1387. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_vars.png +0 -0
  1388. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_views.png +0 -0
  1389. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/south-mini.png +0 -0
  1390. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/spacer.png +0 -0
  1391. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/sprites.png +0 -0
  1392. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/toggle-ltr.png +0 -0
  1393. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/toggle-rtl.png +0 -0
  1394. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/vertical_line.png +0 -0
  1395. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/west-mini.png +0 -0
  1396. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/window-new.png +0 -0
  1397. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-minus-mini.png +0 -0
  1398. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-plus-mini.png +0 -0
  1399. data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-world-mini.png +0 -0
  1400. data/lib/support/phpmyadmin/phpmyadmin/themes/original/info.inc.php +15 -0
  1401. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1402. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1403. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1404. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1405. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1406. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1407. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1408. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1409. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_222222_256x240.png +0 -0
  1410. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  1411. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_454545_256x240.png +0 -0
  1412. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_888888_256x240.png +0 -0
  1413. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  1414. data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/jquery-ui-1.11.2.css +1225 -0
  1415. data/lib/support/phpmyadmin/phpmyadmin/themes/original/layout.inc.php +102 -0
  1416. data/lib/support/phpmyadmin/phpmyadmin/themes/original/screen.png +0 -0
  1417. data/lib/support/phpmyadmin/phpmyadmin/themes/original/sprites.lib.php +720 -0
  1418. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/codemirror.css.php +350 -0
  1419. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/common.css.php +3401 -0
  1420. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/enum_editor.css.php +80 -0
  1421. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/gis.css.php +52 -0
  1422. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/jqplot.css.php +277 -0
  1423. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/navigation.css.php +429 -0
  1424. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/pmd.css.php +605 -0
  1425. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/resizable-menu.css.php +57 -0
  1426. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/rte.css.php +43 -0
  1427. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/ajax_clock_small.gif +0 -0
  1428. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/arrow_ltr.png +0 -0
  1429. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/arrow_rtl.png +0 -0
  1430. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/asc_order.png +0 -0
  1431. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_bookmark.png +0 -0
  1432. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_browse.png +0 -0
  1433. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_calendar.png +0 -0
  1434. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_chart.png +0 -0
  1435. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_close.png +0 -0
  1436. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_column_add.png +0 -0
  1437. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_comment.png +0 -0
  1438. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_dbstatistics.png +0 -0
  1439. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_deltbl.png +0 -0
  1440. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_docs.png +0 -0
  1441. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_docsql.png +0 -0
  1442. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_drop.png +0 -0
  1443. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_edit.png +0 -0
  1444. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_empty.png +0 -0
  1445. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_engine.png +0 -0
  1446. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_event_add.png +0 -0
  1447. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_events.png +0 -0
  1448. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_export.png +0 -0
  1449. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_favorite.png +0 -0
  1450. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_find_replace.png +0 -0
  1451. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_firstpage.png +0 -0
  1452. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_ftext.png +0 -0
  1453. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_globe.gif +0 -0
  1454. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_group.png +0 -0
  1455. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_help.png +0 -0
  1456. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_home.png +0 -0
  1457. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_import.png +0 -0
  1458. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_index.png +0 -0
  1459. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_index_add.png +0 -0
  1460. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_info.png +0 -0
  1461. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_inline_edit.png +0 -0
  1462. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_insrow.png +0 -0
  1463. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_lastpage.png +0 -0
  1464. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_minus.png +0 -0
  1465. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_more.png +0 -0
  1466. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_move.png +0 -0
  1467. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_newdb.png +0 -0
  1468. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_newtbl.png +0 -0
  1469. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_nextpage.png +0 -0
  1470. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_no_favorite.png +0 -0
  1471. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_pdfdoc.png +0 -0
  1472. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_plus.png +0 -0
  1473. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_prevpage.png +0 -0
  1474. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_primary.png +0 -0
  1475. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_print.png +0 -0
  1476. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_props.png +0 -0
  1477. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_relations.png +0 -0
  1478. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_report.png +0 -0
  1479. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_routine_add.png +0 -0
  1480. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_routines.png +0 -0
  1481. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_save.png +0 -0
  1482. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_saveimage.png +0 -0
  1483. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sbrowse.png +0 -0
  1484. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sdb.png +0 -0
  1485. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_search.png +0 -0
  1486. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_selboard.png +0 -0
  1487. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_select.png +0 -0
  1488. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_snewtbl.png +0 -0
  1489. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_spatial.png +0 -0
  1490. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sql.png +0 -0
  1491. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sqldoc.png +0 -0
  1492. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sqlhelp.png +0 -0
  1493. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_table_add.png +0 -0
  1494. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblanalyse.png +0 -0
  1495. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblexport.png +0 -0
  1496. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblimport.png +0 -0
  1497. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblops.png +0 -0
  1498. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tbloptimize.png +0 -0
  1499. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tipp.png +0 -0
  1500. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_trigger_add.png +0 -0
  1501. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_triggers.png +0 -0
  1502. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_undo.png +0 -0
  1503. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_unique.png +0 -0
  1504. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usradd.png +0 -0
  1505. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrcheck.png +0 -0
  1506. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrdrop.png +0 -0
  1507. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usredit.png +0 -0
  1508. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrlist.png +0 -0
  1509. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_versions.png +0 -0
  1510. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_view.png +0 -0
  1511. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_view_add.png +0 -0
  1512. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_views.png +0 -0
  1513. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_browse.png +0 -0
  1514. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_deltbl.png +0 -0
  1515. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_drop.png +0 -0
  1516. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_edit.png +0 -0
  1517. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_empty.png +0 -0
  1518. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_export.png +0 -0
  1519. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_firstpage.png +0 -0
  1520. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_ftext.png +0 -0
  1521. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_index.png +0 -0
  1522. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_insrow.png +0 -0
  1523. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_lastpage.png +0 -0
  1524. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_nextpage.png +0 -0
  1525. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_prevpage.png +0 -0
  1526. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_primary.png +0 -0
  1527. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_routine_add.png +0 -0
  1528. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_sbrowse.png +0 -0
  1529. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_select.png +0 -0
  1530. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_spatial.png +0 -0
  1531. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_unique.png +0 -0
  1532. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns.png +0 -0
  1533. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns_add.png +0 -0
  1534. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns_delete.png +0 -0
  1535. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_drop.png +0 -0
  1536. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_pointer.png +0 -0
  1537. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_pointer_ver.png +0 -0
  1538. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/console.png +0 -0
  1539. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/database.png +0 -0
  1540. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/east-mini.png +0 -0
  1541. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/error.ico +0 -0
  1542. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/eye.png +0 -0
  1543. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/eye_grey.png +0 -0
  1544. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/item.png +0 -0
  1545. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/left_nav_bg.png +0 -0
  1546. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/lightbulb.png +0 -0
  1547. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/lightbulb_off.png +0 -0
  1548. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/logo_left.png +0 -0
  1549. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/logo_right.png +0 -0
  1550. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/more.png +0 -0
  1551. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data.png +0 -0
  1552. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_hovered.png +0 -0
  1553. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_selected.png +0 -0
  1554. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_selected_hovered.png +0 -0
  1555. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct.png +0 -0
  1556. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_hovered.png +0 -0
  1557. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_selected.png +0 -0
  1558. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_selected_hovered.png +0 -0
  1559. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/normalize.png +0 -0
  1560. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/north-mini.png +0 -0
  1561. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pause.png +0 -0
  1562. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/php_sym.png +0 -0
  1563. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/play.png +0 -0
  1564. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pma_logo2.png +0 -0
  1565. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/1.png +0 -0
  1566. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2.png +0 -0
  1567. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2leftarrow.png +0 -0
  1568. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2leftarrow_m.png +0 -0
  1569. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2rightarrow.png +0 -0
  1570. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2rightarrow_m.png +0 -0
  1571. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/3.png +0 -0
  1572. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/4.png +0 -0
  1573. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/5.png +0 -0
  1574. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/6.png +0 -0
  1575. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/7.png +0 -0
  1576. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/8.png +0 -0
  1577. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/FieldKey_small.png +0 -0
  1578. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small.png +0 -0
  1579. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_char.png +0 -0
  1580. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_date.png +0 -0
  1581. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_int.png +0 -0
  1582. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Header.png +0 -0
  1583. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Header_Linked.png +0 -0
  1584. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/anchor.png +0 -0
  1585. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/and_icon.png +0 -0
  1586. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/ang_direct.png +0 -0
  1587. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/bord.png +0 -0
  1588. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/bottom.png +0 -0
  1589. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/def.png +0 -0
  1590. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/display_field.png +0 -0
  1591. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow1.png +0 -0
  1592. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow2.png +0 -0
  1593. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow2_m.png +0 -0
  1594. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exec.png +0 -0
  1595. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exec_small.png +0 -0
  1596. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exitFullscreen.png +0 -0
  1597. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/export.png +0 -0
  1598. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/favicon.ico +0 -0
  1599. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/grid.png +0 -0
  1600. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/help.png +0 -0
  1601. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/help_relation.png +0 -0
  1602. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/left_panel_butt.png +0 -0
  1603. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/left_panel_tab.png +0 -0
  1604. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/minus.png +0 -0
  1605. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/or_icon.png +0 -0
  1606. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_add.png +0 -0
  1607. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_delete.png +0 -0
  1608. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_edit.png +0 -0
  1609. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/pdf.png +0 -0
  1610. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/plus.png +0 -0
  1611. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/query_builder.png +0 -0
  1612. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/relation.png +0 -0
  1613. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/reload.png +0 -0
  1614. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/resize.png +0 -0
  1615. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/resizeright.png +0 -0
  1616. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/rightarrow1.png +0 -0
  1617. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/rightarrow2.png +0 -0
  1618. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/save.png +0 -0
  1619. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/save_as.png +0 -0
  1620. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/small_tab.png +0 -0
  1621. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/table.png +0 -0
  1622. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/toggle_lines.png +0 -0
  1623. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/top_panel.png +0 -0
  1624. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/uparrow2_m.png +0 -0
  1625. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/viewInFullscreen.png +0 -0
  1626. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_asc.png +0 -0
  1627. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_asci.png +0 -0
  1628. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_attention.png +0 -0
  1629. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cancel.png +0 -0
  1630. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cancel2.png +0 -0
  1631. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cog.png +0 -0
  1632. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_collapseall.png +0 -0
  1633. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_db.png +0 -0
  1634. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_desc.png +0 -0
  1635. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_error.png +0 -0
  1636. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_error2.png +0 -0
  1637. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_fulltext.png +0 -0
  1638. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_host.png +0 -0
  1639. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_info.png +0 -0
  1640. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_lang.png +0 -0
  1641. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_link.png +0 -0
  1642. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_lock.png +0 -0
  1643. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_loggoff.png +0 -0
  1644. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_notice.png +0 -0
  1645. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_okay.png +0 -0
  1646. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_partialtext.png +0 -0
  1647. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_passwd.png +0 -0
  1648. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_process.png +0 -0
  1649. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_really.png +0 -0
  1650. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_reload.png +0 -0
  1651. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_replication.png +0 -0
  1652. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_rights.png +0 -0
  1653. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_sortable.png +0 -0
  1654. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_status.png +0 -0
  1655. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_success.png +0 -0
  1656. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_sync.png +0 -0
  1657. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_tbl.png +0 -0
  1658. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_theme.png +0 -0
  1659. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_top.png +0 -0
  1660. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_unlink.png +0 -0
  1661. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_vars.png +0 -0
  1662. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_views.png +0 -0
  1663. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/select_bg.png +0 -0
  1664. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/south-mini.png +0 -0
  1665. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/spacer.png +0 -0
  1666. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/sprites.png +0 -0
  1667. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/toggle-ltr.png +0 -0
  1668. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/toggle-rtl.png +0 -0
  1669. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/vertical_line.png +0 -0
  1670. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/west-mini.png +0 -0
  1671. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/window-new.png +0 -0
  1672. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-minus-mini.png +0 -0
  1673. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-plus-mini.png +0 -0
  1674. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-world-mini.png +0 -0
  1675. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/info.inc.php +21 -0
  1676. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1677. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1678. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1679. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1680. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1681. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1682. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1683. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1684. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_222222_256x240.png +0 -0
  1685. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
  1686. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_454545_256x240.png +0 -0
  1687. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_888888_256x240.png +0 -0
  1688. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
  1689. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/jquery-ui-1.11.2.css +1225 -0
  1690. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/layout.inc.php +104 -0
  1691. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/screen.png +0 -0
  1692. data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/sprites.lib.php +805 -0
  1693. data/lib/support/phpmyadmin/phpmyadmin/themes/sprites.css.php +60 -0
  1694. data/lib/support/phpmyadmin/phpmyadmin/themes/svg_gradient.php +53 -0
  1695. data/lib/support/phpmyadmin/phpmyadmin/themes.php +32 -0
  1696. data/lib/support/phpmyadmin/phpmyadmin/transformation_overview.php +74 -0
  1697. data/lib/support/phpmyadmin/phpmyadmin/transformation_wrapper.php +148 -0
  1698. data/lib/support/phpmyadmin/phpmyadmin/url.php +38 -0
  1699. data/lib/support/phpmyadmin/phpmyadmin/user_password.php +200 -0
  1700. data/lib/support/phpmyadmin/phpmyadmin/version_check.php +30 -0
  1701. data/lib/support/phpmyadmin/phpmyadmin/view_create.php +291 -0
  1702. data/lib/support/phpmyadmin/phpmyadmin/view_operations.php +139 -0
  1703. data/lib/support/phpmyadmin/phpmyadmin/webapp.php +55 -0
  1704. data/lib/support/pptp_vpn/ubuntu/pptpd-options +122 -0
  1705. data/lib/support/pptp_vpn/ubuntu/rc.local +17 -0
  1706. data/lib/support/pptp_vpn/ubuntu/sysctl.conf +102 -0
  1707. metadata +1705 -1
@@ -0,0 +1,2591 @@
1
+ <?php
2
+ //============================================================+
3
+ // File name : tcpdf_fonts.php
4
+ // Version : 1.1.0
5
+ // Begin : 2008-01-01
6
+ // Last Update : 2014-12-10
7
+ // Author : Nicola Asuni - Tecnick.com LTD - www.tecnick.com - info@tecnick.com
8
+ // License : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html)
9
+ // -------------------------------------------------------------------
10
+ // Copyright (C) 2008-2014 Nicola Asuni - Tecnick.com LTD
11
+ //
12
+ // This file is part of TCPDF software library.
13
+ //
14
+ // TCPDF is free software: you can redistribute it and/or modify it
15
+ // under the terms of the GNU Lesser General Public License as
16
+ // published by the Free Software Foundation, either version 3 of the
17
+ // License, or (at your option) any later version.
18
+ //
19
+ // TCPDF is distributed in the hope that it will be useful, but
20
+ // WITHOUT ANY WARRANTY; without even the implied warranty of
21
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
22
+ // See the GNU Lesser General Public License for more details.
23
+ //
24
+ // You should have received a copy of the GNU Lesser General Public License
25
+ // along with TCPDF. If not, see <http://www.gnu.org/licenses/>.
26
+ //
27
+ // See LICENSE.TXT file for more information.
28
+ // -------------------------------------------------------------------
29
+ //
30
+ // Description :Font methods for TCPDF library.
31
+ //
32
+ //============================================================+
33
+
34
+ /**
35
+ * @file
36
+ * Unicode data and font methods for TCPDF library.
37
+ * @author Nicola Asuni
38
+ * @package com.tecnick.tcpdf
39
+ */
40
+
41
+ /**
42
+ * @class TCPDF_FONTS
43
+ * Font methods for TCPDF library.
44
+ * @package com.tecnick.tcpdf
45
+ * @version 1.1.0
46
+ * @author Nicola Asuni - info@tecnick.com
47
+ */
48
+ class TCPDF_FONTS {
49
+
50
+ /**
51
+ * Static cache used for speed up uniord performances
52
+ * @protected
53
+ */
54
+ protected static $cache_uniord = array();
55
+
56
+ /**
57
+ * Convert and add the selected TrueType or Type1 font to the fonts folder (that must be writeable).
58
+ * @param $fontfile (string) Font file (full path).
59
+ * @param $fonttype (string) Font type. Leave empty for autodetect mode. Valid values are: TrueTypeUnicode, TrueType, Type1, CID0JP = CID-0 Japanese, CID0KR = CID-0 Korean, CID0CS = CID-0 Chinese Simplified, CID0CT = CID-0 Chinese Traditional.
60
+ * @param $enc (string) Name of the encoding table to use. Leave empty for default mode. Omit this parameter for TrueType Unicode and symbolic fonts like Symbol or ZapfDingBats.
61
+ * @param $flags (int) Unsigned 32-bit integer containing flags specifying various characteristics of the font (PDF32000:2008 - 9.8.2 Font Descriptor Flags): +1 for fixed font; +4 for symbol or +32 for non-symbol; +64 for italic. Fixed and Italic mode are generally autodetected so you have to set it to 32 = non-symbolic font (default) or 4 = symbolic font.
62
+ * @param $outpath (string) Output path for generated font files (must be writeable by the web server). Leave empty for default font folder.
63
+ * @param $platid (int) Platform ID for CMAP table to extract (when building a Unicode font for Windows this value should be 3, for Macintosh should be 1).
64
+ * @param $encid (int) Encoding ID for CMAP table to extract (when building a Unicode font for Windows this value should be 1, for Macintosh should be 0). When Platform ID is 3, legal values for Encoding ID are: 0=Symbol, 1=Unicode, 2=ShiftJIS, 3=PRC, 4=Big5, 5=Wansung, 6=Johab, 7=Reserved, 8=Reserved, 9=Reserved, 10=UCS-4.
65
+ * @param $addcbbox (boolean) If true includes the character bounding box information on the php font file.
66
+ * @param $link (boolean) If true link to system font instead of copying the font data (not transportable) - Note: do not work with Type1 fonts.
67
+ * @return (string) TCPDF font name or boolean false in case of error.
68
+ * @author Nicola Asuni
69
+ * @since 5.9.123 (2010-09-30)
70
+ * @public static
71
+ */
72
+ public static function addTTFfont($fontfile, $fonttype='', $enc='', $flags=32, $outpath='', $platid=3, $encid=1, $addcbbox=false, $link=false) {
73
+ if (!file_exists($fontfile)) {
74
+ // Could not find file
75
+ return false;
76
+ }
77
+ // font metrics
78
+ $fmetric = array();
79
+ // build new font name for TCPDF compatibility
80
+ $font_path_parts = pathinfo($fontfile);
81
+ if (!isset($font_path_parts['filename'])) {
82
+ $font_path_parts['filename'] = substr($font_path_parts['basename'], 0, -(strlen($font_path_parts['extension']) + 1));
83
+ }
84
+ $font_name = strtolower($font_path_parts['filename']);
85
+ $font_name = preg_replace('/[^a-z0-9_]/', '', $font_name);
86
+ $search = array('bold', 'oblique', 'italic', 'regular');
87
+ $replace = array('b', 'i', 'i', '');
88
+ $font_name = str_replace($search, $replace, $font_name);
89
+ if (empty($font_name)) {
90
+ // set generic name
91
+ $font_name = 'tcpdffont';
92
+ }
93
+ // set output path
94
+ if (empty($outpath)) {
95
+ $outpath = self::_getfontpath();
96
+ }
97
+ // check if this font already exist
98
+ if (@file_exists($outpath.$font_name.'.php')) {
99
+ // this font already exist (delete it from fonts folder to rebuild it)
100
+ return $font_name;
101
+ }
102
+ $fmetric['file'] = $font_name;
103
+ $fmetric['ctg'] = $font_name.'.ctg.z';
104
+ // get font data
105
+ $font = file_get_contents($fontfile);
106
+ $fmetric['originalsize'] = strlen($font);
107
+ // autodetect font type
108
+ if (empty($fonttype)) {
109
+ if (TCPDF_STATIC::_getULONG($font, 0) == 0x10000) {
110
+ // True Type (Unicode or not)
111
+ $fonttype = 'TrueTypeUnicode';
112
+ } elseif (substr($font, 0, 4) == 'OTTO') {
113
+ // Open Type (Unicode or not)
114
+ //Unsupported font format: OpenType with CFF data
115
+ return false;
116
+ } else {
117
+ // Type 1
118
+ $fonttype = 'Type1';
119
+ }
120
+ }
121
+ // set font type
122
+ switch ($fonttype) {
123
+ case 'CID0CT':
124
+ case 'CID0CS':
125
+ case 'CID0KR':
126
+ case 'CID0JP': {
127
+ $fmetric['type'] = 'cidfont0';
128
+ break;
129
+ }
130
+ case 'Type1': {
131
+ $fmetric['type'] = 'Type1';
132
+ if (empty($enc) AND (($flags & 4) == 0)) {
133
+ $enc = 'cp1252';
134
+ }
135
+ break;
136
+ }
137
+ case 'TrueType': {
138
+ $fmetric['type'] = 'TrueType';
139
+ break;
140
+ }
141
+ case 'TrueTypeUnicode':
142
+ default: {
143
+ $fmetric['type'] = 'TrueTypeUnicode';
144
+ break;
145
+ }
146
+ }
147
+ // set encoding maps (if any)
148
+ $fmetric['enc'] = preg_replace('/[^A-Za-z0-9_\-]/', '', $enc);
149
+ $fmetric['diff'] = '';
150
+ if (($fmetric['type'] == 'TrueType') OR ($fmetric['type'] == 'Type1')) {
151
+ if (!empty($enc) AND ($enc != 'cp1252') AND isset(TCPDF_FONT_DATA::$encmap[$enc])) {
152
+ // build differences from reference encoding
153
+ $enc_ref = TCPDF_FONT_DATA::$encmap['cp1252'];
154
+ $enc_target = TCPDF_FONT_DATA::$encmap[$enc];
155
+ $last = 0;
156
+ for ($i = 32; $i <= 255; ++$i) {
157
+ if ($enc_target != $enc_ref[$i]) {
158
+ if ($i != ($last + 1)) {
159
+ $fmetric['diff'] .= $i.' ';
160
+ }
161
+ $last = $i;
162
+ $fmetric['diff'] .= '/'.$enc_target[$i].' ';
163
+ }
164
+ }
165
+ }
166
+ }
167
+ // parse the font by type
168
+ if ($fmetric['type'] == 'Type1') {
169
+ // ---------- TYPE 1 ----------
170
+ // read first segment
171
+ $a = unpack('Cmarker/Ctype/Vsize', substr($font, 0, 6));
172
+ if ($a['marker'] != 128) {
173
+ // Font file is not a valid binary Type1
174
+ return false;
175
+ }
176
+ $fmetric['size1'] = $a['size'];
177
+ $data = substr($font, 6, $fmetric['size1']);
178
+ // read second segment
179
+ $a = unpack('Cmarker/Ctype/Vsize', substr($font, (6 + $fmetric['size1']), 6));
180
+ if ($a['marker'] != 128) {
181
+ // Font file is not a valid binary Type1
182
+ return false;
183
+ }
184
+ $fmetric['size2'] = $a['size'];
185
+ $encrypted = substr($font, (12 + $fmetric['size1']), $fmetric['size2']);
186
+ $data .= $encrypted;
187
+ // store compressed font
188
+ $fmetric['file'] .= '.z';
189
+ $fp = TCPDF_STATIC::fopenLocal($outpath.$fmetric['file'], 'wb');
190
+ fwrite($fp, gzcompress($data));
191
+ fclose($fp);
192
+ // get font info
193
+ $fmetric['Flags'] = $flags;
194
+ preg_match ('#/FullName[\s]*\(([^\)]*)#', $font, $matches);
195
+ $fmetric['name'] = preg_replace('/[^a-zA-Z0-9_\-]/', '', $matches[1]);
196
+ preg_match('#/FontBBox[\s]*{([^}]*)#', $font, $matches);
197
+ $fmetric['bbox'] = trim($matches[1]);
198
+ $bv = explode(' ', $fmetric['bbox']);
199
+ $fmetric['Ascent'] = intval($bv[3]);
200
+ $fmetric['Descent'] = intval($bv[1]);
201
+ preg_match('#/ItalicAngle[\s]*([0-9\+\-]*)#', $font, $matches);
202
+ $fmetric['italicAngle'] = intval($matches[1]);
203
+ if ($fmetric['italicAngle'] != 0) {
204
+ $fmetric['Flags'] |= 64;
205
+ }
206
+ preg_match('#/UnderlinePosition[\s]*([0-9\+\-]*)#', $font, $matches);
207
+ $fmetric['underlinePosition'] = intval($matches[1]);
208
+ preg_match('#/UnderlineThickness[\s]*([0-9\+\-]*)#', $font, $matches);
209
+ $fmetric['underlineThickness'] = intval($matches[1]);
210
+ preg_match('#/isFixedPitch[\s]*([^\s]*)#', $font, $matches);
211
+ if ($matches[1] == 'true') {
212
+ $fmetric['Flags'] |= 1;
213
+ }
214
+ // get internal map
215
+ $imap = array();
216
+ if (preg_match_all('#dup[\s]([0-9]+)[\s]*/([^\s]*)[\s]put#sU', $font, $fmap, PREG_SET_ORDER) > 0) {
217
+ foreach ($fmap as $v) {
218
+ $imap[$v[2]] = $v[1];
219
+ }
220
+ }
221
+ // decrypt eexec encrypted part
222
+ $r = 55665; // eexec encryption constant
223
+ $c1 = 52845;
224
+ $c2 = 22719;
225
+ $elen = strlen($encrypted);
226
+ $eplain = '';
227
+ for ($i = 0; $i < $elen; ++$i) {
228
+ $chr = ord($encrypted[$i]);
229
+ $eplain .= chr($chr ^ ($r >> 8));
230
+ $r = ((($chr + $r) * $c1 + $c2) % 65536);
231
+ }
232
+ if (preg_match('#/ForceBold[\s]*([^\s]*)#', $eplain, $matches) > 0) {
233
+ if ($matches[1] == 'true') {
234
+ $fmetric['Flags'] |= 0x40000;
235
+ }
236
+ }
237
+ if (preg_match('#/StdVW[\s]*\[([^\]]*)#', $eplain, $matches) > 0) {
238
+ $fmetric['StemV'] = intval($matches[1]);
239
+ } else {
240
+ $fmetric['StemV'] = 70;
241
+ }
242
+ if (preg_match('#/StdHW[\s]*\[([^\]]*)#', $eplain, $matches) > 0) {
243
+ $fmetric['StemH'] = intval($matches[1]);
244
+ } else {
245
+ $fmetric['StemH'] = 30;
246
+ }
247
+ if (preg_match('#/BlueValues[\s]*\[([^\]]*)#', $eplain, $matches) > 0) {
248
+ $bv = explode(' ', $matches[1]);
249
+ if (count($bv) >= 6) {
250
+ $v1 = intval($bv[2]);
251
+ $v2 = intval($bv[4]);
252
+ if ($v1 <= $v2) {
253
+ $fmetric['XHeight'] = $v1;
254
+ $fmetric['CapHeight'] = $v2;
255
+ } else {
256
+ $fmetric['XHeight'] = $v2;
257
+ $fmetric['CapHeight'] = $v1;
258
+ }
259
+ } else {
260
+ $fmetric['XHeight'] = 450;
261
+ $fmetric['CapHeight'] = 700;
262
+ }
263
+ } else {
264
+ $fmetric['XHeight'] = 450;
265
+ $fmetric['CapHeight'] = 700;
266
+ }
267
+ // get the number of random bytes at the beginning of charstrings
268
+ if (preg_match('#/lenIV[\s]*([0-9]*)#', $eplain, $matches) > 0) {
269
+ $lenIV = intval($matches[1]);
270
+ } else {
271
+ $lenIV = 4;
272
+ }
273
+ $fmetric['Leading'] = 0;
274
+ // get charstring data
275
+ $eplain = substr($eplain, (strpos($eplain, '/CharStrings') + 1));
276
+ preg_match_all('#/([A-Za-z0-9\.]*)[\s][0-9]+[\s]RD[\s](.*)[\s]ND#sU', $eplain, $matches, PREG_SET_ORDER);
277
+ if (!empty($enc) AND isset(TCPDF_FONT_DATA::$encmap[$enc])) {
278
+ $enc_map = TCPDF_FONT_DATA::$encmap[$enc];
279
+ } else {
280
+ $enc_map = false;
281
+ }
282
+ $fmetric['cw'] = '';
283
+ $fmetric['MaxWidth'] = 0;
284
+ $cwidths = array();
285
+ foreach ($matches as $k => $v) {
286
+ $cid = 0;
287
+ if (isset($imap[$v[1]])) {
288
+ $cid = $imap[$v[1]];
289
+ } elseif ($enc_map !== false) {
290
+ $cid = array_search($v[1], $enc_map);
291
+ if ($cid === false) {
292
+ $cid = 0;
293
+ } elseif ($cid > 1000) {
294
+ $cid -= 1000;
295
+ }
296
+ }
297
+ // decrypt charstring encrypted part
298
+ $r = 4330; // charstring encryption constant
299
+ $c1 = 52845;
300
+ $c2 = 22719;
301
+ $cd = $v[2];
302
+ $clen = strlen($cd);
303
+ $ccom = array();
304
+ for ($i = 0; $i < $clen; ++$i) {
305
+ $chr = ord($cd[$i]);
306
+ $ccom[] = ($chr ^ ($r >> 8));
307
+ $r = ((($chr + $r) * $c1 + $c2) % 65536);
308
+ }
309
+ // decode numbers
310
+ $cdec = array();
311
+ $ck = 0;
312
+ $i = $lenIV;
313
+ while ($i < $clen) {
314
+ if ($ccom[$i] < 32) {
315
+ $cdec[$ck] = $ccom[$i];
316
+ if (($ck > 0) AND ($cdec[$ck] == 13)) {
317
+ // hsbw command: update width
318
+ $cwidths[$cid] = $cdec[($ck - 1)];
319
+ }
320
+ ++$i;
321
+ } elseif (($ccom[$i] >= 32) AND ($ccom[$i] <= 246)) {
322
+ $cdec[$ck] = ($ccom[$i] - 139);
323
+ ++$i;
324
+ } elseif (($ccom[$i] >= 247) AND ($ccom[$i] <= 250)) {
325
+ $cdec[$ck] = ((($ccom[$i] - 247) * 256) + $ccom[($i + 1)] + 108);
326
+ $i += 2;
327
+ } elseif (($ccom[$i] >= 251) AND ($ccom[$i] <= 254)) {
328
+ $cdec[$ck] = ((-($ccom[$i] - 251) * 256) - $ccom[($i + 1)] - 108);
329
+ $i += 2;
330
+ } elseif ($ccom[$i] == 255) {
331
+ $sval = chr($ccom[($i + 1)]).chr($ccom[($i + 2)]).chr($ccom[($i + 3)]).chr($ccom[($i + 4)]);
332
+ $vsval = unpack('li', $sval);
333
+ $cdec[$ck] = $vsval['i'];
334
+ $i += 5;
335
+ }
336
+ ++$ck;
337
+ }
338
+ } // end for each matches
339
+ $fmetric['MissingWidth'] = $cwidths[0];
340
+ $fmetric['MaxWidth'] = $fmetric['MissingWidth'];
341
+ $fmetric['AvgWidth'] = 0;
342
+ // set chars widths
343
+ for ($cid = 0; $cid <= 255; ++$cid) {
344
+ if (isset($cwidths[$cid])) {
345
+ if ($cwidths[$cid] > $fmetric['MaxWidth']) {
346
+ $fmetric['MaxWidth'] = $cwidths[$cid];
347
+ }
348
+ $fmetric['AvgWidth'] += $cwidths[$cid];
349
+ $fmetric['cw'] .= ','.$cid.'=>'.$cwidths[$cid];
350
+ } else {
351
+ $fmetric['cw'] .= ','.$cid.'=>'.$fmetric['MissingWidth'];
352
+ }
353
+ }
354
+ $fmetric['AvgWidth'] = round($fmetric['AvgWidth'] / count($cwidths));
355
+ } else {
356
+ // ---------- TRUE TYPE ----------
357
+ $offset = 0; // offset position of the font data
358
+ if (TCPDF_STATIC::_getULONG($font, $offset) != 0x10000) {
359
+ // sfnt version must be 0x00010000 for TrueType version 1.0.
360
+ return false;
361
+ }
362
+ if ($fmetric['type'] != 'cidfont0') {
363
+ if ($link) {
364
+ // creates a symbolic link to the existing font
365
+ symlink($fontfile, $outpath.$fmetric['file']);
366
+ } else {
367
+ // store compressed font
368
+ $fmetric['file'] .= '.z';
369
+ $fp = TCPDF_STATIC::fopenLocal($outpath.$fmetric['file'], 'wb');
370
+ fwrite($fp, gzcompress($font));
371
+ fclose($fp);
372
+ }
373
+ }
374
+ $offset += 4;
375
+ // get number of tables
376
+ $numTables = TCPDF_STATIC::_getUSHORT($font, $offset);
377
+ $offset += 2;
378
+ // skip searchRange, entrySelector and rangeShift
379
+ $offset += 6;
380
+ // tables array
381
+ $table = array();
382
+ // ---------- get tables ----------
383
+ for ($i = 0; $i < $numTables; ++$i) {
384
+ // get table info
385
+ $tag = substr($font, $offset, 4);
386
+ $offset += 4;
387
+ $table[$tag] = array();
388
+ $table[$tag]['checkSum'] = TCPDF_STATIC::_getULONG($font, $offset);
389
+ $offset += 4;
390
+ $table[$tag]['offset'] = TCPDF_STATIC::_getULONG($font, $offset);
391
+ $offset += 4;
392
+ $table[$tag]['length'] = TCPDF_STATIC::_getULONG($font, $offset);
393
+ $offset += 4;
394
+ }
395
+ // check magicNumber
396
+ $offset = $table['head']['offset'] + 12;
397
+ if (TCPDF_STATIC::_getULONG($font, $offset) != 0x5F0F3CF5) {
398
+ // magicNumber must be 0x5F0F3CF5
399
+ return false;
400
+ }
401
+ $offset += 4;
402
+ $offset += 2; // skip flags
403
+ // get FUnits
404
+ $fmetric['unitsPerEm'] = TCPDF_STATIC::_getUSHORT($font, $offset);
405
+ $offset += 2;
406
+ // units ratio constant
407
+ $urk = (1000 / $fmetric['unitsPerEm']);
408
+ $offset += 16; // skip created, modified
409
+ $xMin = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk);
410
+ $offset += 2;
411
+ $yMin = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk);
412
+ $offset += 2;
413
+ $xMax = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk);
414
+ $offset += 2;
415
+ $yMax = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk);
416
+ $offset += 2;
417
+ $fmetric['bbox'] = ''.$xMin.' '.$yMin.' '.$xMax.' '.$yMax.'';
418
+ $macStyle = TCPDF_STATIC::_getUSHORT($font, $offset);
419
+ $offset += 2;
420
+ // PDF font flags
421
+ $fmetric['Flags'] = $flags;
422
+ if (($macStyle & 2) == 2) {
423
+ // italic flag
424
+ $fmetric['Flags'] |= 64;
425
+ }
426
+ // get offset mode (indexToLocFormat : 0 = short, 1 = long)
427
+ $offset = $table['head']['offset'] + 50;
428
+ $short_offset = (TCPDF_STATIC::_getSHORT($font, $offset) == 0);
429
+ $offset += 2;
430
+ // get the offsets to the locations of the glyphs in the font, relative to the beginning of the glyphData table
431
+ $indexToLoc = array();
432
+ $offset = $table['loca']['offset'];
433
+ if ($short_offset) {
434
+ // short version
435
+ $tot_num_glyphs = floor($table['loca']['length'] / 2); // numGlyphs + 1
436
+ for ($i = 0; $i < $tot_num_glyphs; ++$i) {
437
+ $indexToLoc[$i] = TCPDF_STATIC::_getUSHORT($font, $offset) * 2;
438
+ if (isset($indexToLoc[($i - 1)]) && ($indexToLoc[$i] == $indexToLoc[($i - 1)])) {
439
+ // the last glyph didn't have an outline
440
+ unset($indexToLoc[($i - 1)]);
441
+ }
442
+ $offset += 2;
443
+ }
444
+ } else {
445
+ // long version
446
+ $tot_num_glyphs = floor($table['loca']['length'] / 4); // numGlyphs + 1
447
+ for ($i = 0; $i < $tot_num_glyphs; ++$i) {
448
+ $indexToLoc[$i] = TCPDF_STATIC::_getULONG($font, $offset);
449
+ if (isset($indexToLoc[($i - 1)]) && ($indexToLoc[$i] == $indexToLoc[($i - 1)])) {
450
+ // the last glyph didn't have an outline
451
+ unset($indexToLoc[($i - 1)]);
452
+ }
453
+ $offset += 4;
454
+ }
455
+ }
456
+ // get glyphs indexes of chars from cmap table
457
+ $offset = $table['cmap']['offset'] + 2;
458
+ $numEncodingTables = TCPDF_STATIC::_getUSHORT($font, $offset);
459
+ $offset += 2;
460
+ $encodingTables = array();
461
+ for ($i = 0; $i < $numEncodingTables; ++$i) {
462
+ $encodingTables[$i]['platformID'] = TCPDF_STATIC::_getUSHORT($font, $offset);
463
+ $offset += 2;
464
+ $encodingTables[$i]['encodingID'] = TCPDF_STATIC::_getUSHORT($font, $offset);
465
+ $offset += 2;
466
+ $encodingTables[$i]['offset'] = TCPDF_STATIC::_getULONG($font, $offset);
467
+ $offset += 4;
468
+ }
469
+ // ---------- get os/2 metrics ----------
470
+ $offset = $table['OS/2']['offset'];
471
+ $offset += 2; // skip version
472
+ // xAvgCharWidth
473
+ $fmetric['AvgWidth'] = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk);
474
+ $offset += 2;
475
+ // usWeightClass
476
+ $usWeightClass = round(TCPDF_STATIC::_getUFWORD($font, $offset) * $urk);
477
+ // estimate StemV and StemH (400 = usWeightClass for Normal - Regular font)
478
+ $fmetric['StemV'] = round((70 * $usWeightClass) / 400);
479
+ $fmetric['StemH'] = round((30 * $usWeightClass) / 400);
480
+ $offset += 2;
481
+ $offset += 2; // usWidthClass
482
+ $fsType = TCPDF_STATIC::_getSHORT($font, $offset);
483
+ $offset += 2;
484
+ if ($fsType == 2) {
485
+ // This Font cannot be modified, embedded or exchanged in any manner without first obtaining permission of the legal owner.
486
+ return false;
487
+ }
488
+ // ---------- get font name ----------
489
+ $fmetric['name'] = '';
490
+ $offset = $table['name']['offset'];
491
+ $offset += 2; // skip Format selector (=0).
492
+ // Number of NameRecords that follow n.
493
+ $numNameRecords = TCPDF_STATIC::_getUSHORT($font, $offset);
494
+ $offset += 2;
495
+ // Offset to start of string storage (from start of table).
496
+ $stringStorageOffset = TCPDF_STATIC::_getUSHORT($font, $offset);
497
+ $offset += 2;
498
+ for ($i = 0; $i < $numNameRecords; ++$i) {
499
+ $offset += 6; // skip Platform ID, Platform-specific encoding ID, Language ID.
500
+ // Name ID.
501
+ $nameID = TCPDF_STATIC::_getUSHORT($font, $offset);
502
+ $offset += 2;
503
+ if ($nameID == 6) {
504
+ // String length (in bytes).
505
+ $stringLength = TCPDF_STATIC::_getUSHORT($font, $offset);
506
+ $offset += 2;
507
+ // String offset from start of storage area (in bytes).
508
+ $stringOffset = TCPDF_STATIC::_getUSHORT($font, $offset);
509
+ $offset += 2;
510
+ $offset = ($table['name']['offset'] + $stringStorageOffset + $stringOffset);
511
+ $fmetric['name'] = substr($font, $offset, $stringLength);
512
+ $fmetric['name'] = preg_replace('/[^a-zA-Z0-9_\-]/', '', $fmetric['name']);
513
+ break;
514
+ } else {
515
+ $offset += 4; // skip String length, String offset
516
+ }
517
+ }
518
+ if (empty($fmetric['name'])) {
519
+ $fmetric['name'] = $font_name;
520
+ }
521
+ // ---------- get post data ----------
522
+ $offset = $table['post']['offset'];
523
+ $offset += 4; // skip Format Type
524
+ $fmetric['italicAngle'] = TCPDF_STATIC::_getFIXED($font, $offset);
525
+ $offset += 4;
526
+ $fmetric['underlinePosition'] = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk);
527
+ $offset += 2;
528
+ $fmetric['underlineThickness'] = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk);
529
+ $offset += 2;
530
+ $isFixedPitch = (TCPDF_STATIC::_getULONG($font, $offset) == 0) ? false : true;
531
+ $offset += 2;
532
+ if ($isFixedPitch) {
533
+ $fmetric['Flags'] |= 1;
534
+ }
535
+ // ---------- get hhea data ----------
536
+ $offset = $table['hhea']['offset'];
537
+ $offset += 4; // skip Table version number
538
+ // Ascender
539
+ $fmetric['Ascent'] = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk);
540
+ $offset += 2;
541
+ // Descender
542
+ $fmetric['Descent'] = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk);
543
+ $offset += 2;
544
+ // LineGap
545
+ $fmetric['Leading'] = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk);
546
+ $offset += 2;
547
+ // advanceWidthMax
548
+ $fmetric['MaxWidth'] = round(TCPDF_STATIC::_getUFWORD($font, $offset) * $urk);
549
+ $offset += 2;
550
+ $offset += 22; // skip some values
551
+ // get the number of hMetric entries in hmtx table
552
+ $numberOfHMetrics = TCPDF_STATIC::_getUSHORT($font, $offset);
553
+ // ---------- get maxp data ----------
554
+ $offset = $table['maxp']['offset'];
555
+ $offset += 4; // skip Table version number
556
+ // get the the number of glyphs in the font.
557
+ $numGlyphs = TCPDF_STATIC::_getUSHORT($font, $offset);
558
+ // ---------- get CIDToGIDMap ----------
559
+ $ctg = array();
560
+ foreach ($encodingTables as $enctable) {
561
+ // get only specified Platform ID and Encoding ID
562
+ if (($enctable['platformID'] == $platid) AND ($enctable['encodingID'] == $encid)) {
563
+ $offset = $table['cmap']['offset'] + $enctable['offset'];
564
+ $format = TCPDF_STATIC::_getUSHORT($font, $offset);
565
+ $offset += 2;
566
+ switch ($format) {
567
+ case 0: { // Format 0: Byte encoding table
568
+ $offset += 4; // skip length and version/language
569
+ for ($c = 0; $c < 256; ++$c) {
570
+ $g = TCPDF_STATIC::_getBYTE($font, $offset);
571
+ $ctg[$c] = $g;
572
+ ++$offset;
573
+ }
574
+ break;
575
+ }
576
+ case 2: { // Format 2: High-byte mapping through table
577
+ $offset += 4; // skip length and version/language
578
+ $numSubHeaders = 0;
579
+ for ($i = 0; $i < 256; ++$i) {
580
+ // Array that maps high bytes to subHeaders: value is subHeader index * 8.
581
+ $subHeaderKeys[$i] = (TCPDF_STATIC::_getUSHORT($font, $offset) / 8);
582
+ $offset += 2;
583
+ if ($numSubHeaders < $subHeaderKeys[$i]) {
584
+ $numSubHeaders = $subHeaderKeys[$i];
585
+ }
586
+ }
587
+ // the number of subHeaders is equal to the max of subHeaderKeys + 1
588
+ ++$numSubHeaders;
589
+ // read subHeader structures
590
+ $subHeaders = array();
591
+ $numGlyphIndexArray = 0;
592
+ for ($k = 0; $k < $numSubHeaders; ++$k) {
593
+ $subHeaders[$k]['firstCode'] = TCPDF_STATIC::_getUSHORT($font, $offset);
594
+ $offset += 2;
595
+ $subHeaders[$k]['entryCount'] = TCPDF_STATIC::_getUSHORT($font, $offset);
596
+ $offset += 2;
597
+ $subHeaders[$k]['idDelta'] = TCPDF_STATIC::_getUSHORT($font, $offset);
598
+ $offset += 2;
599
+ $subHeaders[$k]['idRangeOffset'] = TCPDF_STATIC::_getUSHORT($font, $offset);
600
+ $offset += 2;
601
+ $subHeaders[$k]['idRangeOffset'] -= (2 + (($numSubHeaders - $k - 1) * 8));
602
+ $subHeaders[$k]['idRangeOffset'] /= 2;
603
+ $numGlyphIndexArray += $subHeaders[$k]['entryCount'];
604
+ }
605
+ for ($k = 0; $k < $numGlyphIndexArray; ++$k) {
606
+ $glyphIndexArray[$k] = TCPDF_STATIC::_getUSHORT($font, $offset);
607
+ $offset += 2;
608
+ }
609
+ for ($i = 0; $i < 256; ++$i) {
610
+ $k = $subHeaderKeys[$i];
611
+ if ($k == 0) {
612
+ // one byte code
613
+ $c = $i;
614
+ $g = $glyphIndexArray[0];
615
+ $ctg[$c] = $g;
616
+ } else {
617
+ // two bytes code
618
+ $start_byte = $subHeaders[$k]['firstCode'];
619
+ $end_byte = $start_byte + $subHeaders[$k]['entryCount'];
620
+ for ($j = $start_byte; $j < $end_byte; ++$j) {
621
+ // combine high and low bytes
622
+ $c = (($i << 8) + $j);
623
+ $idRangeOffset = ($subHeaders[$k]['idRangeOffset'] + $j - $subHeaders[$k]['firstCode']);
624
+ $g = ($glyphIndexArray[$idRangeOffset] + $subHeaders[$k]['idDelta']) % 65536;
625
+ if ($g < 0) {
626
+ $g = 0;
627
+ }
628
+ $ctg[$c] = $g;
629
+ }
630
+ }
631
+ }
632
+ break;
633
+ }
634
+ case 4: { // Format 4: Segment mapping to delta values
635
+ $length = TCPDF_STATIC::_getUSHORT($font, $offset);
636
+ $offset += 2;
637
+ $offset += 2; // skip version/language
638
+ $segCount = floor(TCPDF_STATIC::_getUSHORT($font, $offset) / 2);
639
+ $offset += 2;
640
+ $offset += 6; // skip searchRange, entrySelector, rangeShift
641
+ $endCount = array(); // array of end character codes for each segment
642
+ for ($k = 0; $k < $segCount; ++$k) {
643
+ $endCount[$k] = TCPDF_STATIC::_getUSHORT($font, $offset);
644
+ $offset += 2;
645
+ }
646
+ $offset += 2; // skip reservedPad
647
+ $startCount = array(); // array of start character codes for each segment
648
+ for ($k = 0; $k < $segCount; ++$k) {
649
+ $startCount[$k] = TCPDF_STATIC::_getUSHORT($font, $offset);
650
+ $offset += 2;
651
+ }
652
+ $idDelta = array(); // delta for all character codes in segment
653
+ for ($k = 0; $k < $segCount; ++$k) {
654
+ $idDelta[$k] = TCPDF_STATIC::_getUSHORT($font, $offset);
655
+ $offset += 2;
656
+ }
657
+ $idRangeOffset = array(); // Offsets into glyphIdArray or 0
658
+ for ($k = 0; $k < $segCount; ++$k) {
659
+ $idRangeOffset[$k] = TCPDF_STATIC::_getUSHORT($font, $offset);
660
+ $offset += 2;
661
+ }
662
+ $gidlen = (floor($length / 2) - 8 - (4 * $segCount));
663
+ $glyphIdArray = array(); // glyph index array
664
+ for ($k = 0; $k < $gidlen; ++$k) {
665
+ $glyphIdArray[$k] = TCPDF_STATIC::_getUSHORT($font, $offset);
666
+ $offset += 2;
667
+ }
668
+ for ($k = 0; $k < $segCount; ++$k) {
669
+ for ($c = $startCount[$k]; $c <= $endCount[$k]; ++$c) {
670
+ if ($idRangeOffset[$k] == 0) {
671
+ $g = ($idDelta[$k] + $c) % 65536;
672
+ } else {
673
+ $gid = (floor($idRangeOffset[$k] / 2) + ($c - $startCount[$k]) - ($segCount - $k));
674
+ $g = ($glyphIdArray[$gid] + $idDelta[$k]) % 65536;
675
+ }
676
+ if ($g < 0) {
677
+ $g = 0;
678
+ }
679
+ $ctg[$c] = $g;
680
+ }
681
+ }
682
+ break;
683
+ }
684
+ case 6: { // Format 6: Trimmed table mapping
685
+ $offset += 4; // skip length and version/language
686
+ $firstCode = TCPDF_STATIC::_getUSHORT($font, $offset);
687
+ $offset += 2;
688
+ $entryCount = TCPDF_STATIC::_getUSHORT($font, $offset);
689
+ $offset += 2;
690
+ for ($k = 0; $k < $entryCount; ++$k) {
691
+ $c = ($k + $firstCode);
692
+ $g = TCPDF_STATIC::_getUSHORT($font, $offset);
693
+ $offset += 2;
694
+ $ctg[$c] = $g;
695
+ }
696
+ break;
697
+ }
698
+ case 8: { // Format 8: Mixed 16-bit and 32-bit coverage
699
+ $offset += 10; // skip reserved, length and version/language
700
+ for ($k = 0; $k < 8192; ++$k) {
701
+ $is32[$k] = TCPDF_STATIC::_getBYTE($font, $offset);
702
+ ++$offset;
703
+ }
704
+ $nGroups = TCPDF_STATIC::_getULONG($font, $offset);
705
+ $offset += 4;
706
+ for ($i = 0; $i < $nGroups; ++$i) {
707
+ $startCharCode = TCPDF_STATIC::_getULONG($font, $offset);
708
+ $offset += 4;
709
+ $endCharCode = TCPDF_STATIC::_getULONG($font, $offset);
710
+ $offset += 4;
711
+ $startGlyphID = TCPDF_STATIC::_getULONG($font, $offset);
712
+ $offset += 4;
713
+ for ($k = $startCharCode; $k <= $endCharCode; ++$k) {
714
+ $is32idx = floor($c / 8);
715
+ if ((isset($is32[$is32idx])) AND (($is32[$is32idx] & (1 << (7 - ($c % 8)))) == 0)) {
716
+ $c = $k;
717
+ } else {
718
+ // 32 bit format
719
+ // convert to decimal (http://www.unicode.org/faq//utf_bom.html#utf16-4)
720
+ //LEAD_OFFSET = (0xD800 - (0x10000 >> 10)) = 55232
721
+ //SURROGATE_OFFSET = (0x10000 - (0xD800 << 10) - 0xDC00) = -56613888
722
+ $c = ((55232 + ($k >> 10)) << 10) + (0xDC00 + ($k & 0x3FF)) -56613888;
723
+ }
724
+ $ctg[$c] = 0;
725
+ ++$startGlyphID;
726
+ }
727
+ }
728
+ break;
729
+ }
730
+ case 10: { // Format 10: Trimmed array
731
+ $offset += 10; // skip reserved, length and version/language
732
+ $startCharCode = TCPDF_STATIC::_getULONG($font, $offset);
733
+ $offset += 4;
734
+ $numChars = TCPDF_STATIC::_getULONG($font, $offset);
735
+ $offset += 4;
736
+ for ($k = 0; $k < $numChars; ++$k) {
737
+ $c = ($k + $startCharCode);
738
+ $g = TCPDF_STATIC::_getUSHORT($font, $offset);
739
+ $ctg[$c] = $g;
740
+ $offset += 2;
741
+ }
742
+ break;
743
+ }
744
+ case 12: { // Format 12: Segmented coverage
745
+ $offset += 10; // skip length and version/language
746
+ $nGroups = TCPDF_STATIC::_getULONG($font, $offset);
747
+ $offset += 4;
748
+ for ($k = 0; $k < $nGroups; ++$k) {
749
+ $startCharCode = TCPDF_STATIC::_getULONG($font, $offset);
750
+ $offset += 4;
751
+ $endCharCode = TCPDF_STATIC::_getULONG($font, $offset);
752
+ $offset += 4;
753
+ $startGlyphCode = TCPDF_STATIC::_getULONG($font, $offset);
754
+ $offset += 4;
755
+ for ($c = $startCharCode; $c <= $endCharCode; ++$c) {
756
+ $ctg[$c] = $startGlyphCode;
757
+ ++$startGlyphCode;
758
+ }
759
+ }
760
+ break;
761
+ }
762
+ case 13: { // Format 13: Many-to-one range mappings
763
+ // to be implemented ...
764
+ break;
765
+ }
766
+ case 14: { // Format 14: Unicode Variation Sequences
767
+ // to be implemented ...
768
+ break;
769
+ }
770
+ }
771
+ }
772
+ }
773
+ if (!isset($ctg[0])) {
774
+ $ctg[0] = 0;
775
+ }
776
+ // get xHeight (height of x)
777
+ $offset = ($table['glyf']['offset'] + $indexToLoc[$ctg[120]] + 4);
778
+ $yMin = TCPDF_STATIC::_getFWORD($font, $offset);
779
+ $offset += 4;
780
+ $yMax = TCPDF_STATIC::_getFWORD($font, $offset);
781
+ $offset += 2;
782
+ $fmetric['XHeight'] = round(($yMax - $yMin) * $urk);
783
+ // get CapHeight (height of H)
784
+ $offset = ($table['glyf']['offset'] + $indexToLoc[$ctg[72]] + 4);
785
+ $yMin = TCPDF_STATIC::_getFWORD($font, $offset);
786
+ $offset += 4;
787
+ $yMax = TCPDF_STATIC::_getFWORD($font, $offset);
788
+ $offset += 2;
789
+ $fmetric['CapHeight'] = round(($yMax - $yMin) * $urk);
790
+ // ceate widths array
791
+ $cw = array();
792
+ $offset = $table['hmtx']['offset'];
793
+ for ($i = 0 ; $i < $numberOfHMetrics; ++$i) {
794
+ $cw[$i] = round(TCPDF_STATIC::_getUFWORD($font, $offset) * $urk);
795
+ $offset += 4; // skip lsb
796
+ }
797
+ if ($numberOfHMetrics < $numGlyphs) {
798
+ // fill missing widths with the last value
799
+ $cw = array_pad($cw, $numGlyphs, $cw[($numberOfHMetrics - 1)]);
800
+ }
801
+ $fmetric['MissingWidth'] = $cw[0];
802
+ $fmetric['cw'] = '';
803
+ $fmetric['cbbox'] = '';
804
+ for ($cid = 0; $cid <= 65535; ++$cid) {
805
+ if (isset($ctg[$cid])) {
806
+ if (isset($cw[$ctg[$cid]])) {
807
+ $fmetric['cw'] .= ','.$cid.'=>'.$cw[$ctg[$cid]];
808
+ }
809
+ if ($addcbbox AND isset($indexToLoc[$ctg[$cid]])) {
810
+ $offset = ($table['glyf']['offset'] + $indexToLoc[$ctg[$cid]]);
811
+ $xMin = round(TCPDF_STATIC::_getFWORD($font, $offset + 2) * $urk);
812
+ $yMin = round(TCPDF_STATIC::_getFWORD($font, $offset + 4) * $urk);
813
+ $xMax = round(TCPDF_STATIC::_getFWORD($font, $offset + 6) * $urk);
814
+ $yMax = round(TCPDF_STATIC::_getFWORD($font, $offset + 8) * $urk);
815
+ $fmetric['cbbox'] .= ','.$cid.'=>array('.$xMin.','.$yMin.','.$xMax.','.$yMax.')';
816
+ }
817
+ }
818
+ }
819
+ } // end of true type
820
+ if (($fmetric['type'] == 'TrueTypeUnicode') AND (count($ctg) == 256)) {
821
+ $fmetric['type'] = 'TrueType';
822
+ }
823
+ // ---------- create php font file ----------
824
+ $pfile = '<'.'?'.'php'."\n";
825
+ $pfile .= '// TCPDF FONT FILE DESCRIPTION'."\n";
826
+ $pfile .= '$type=\''.$fmetric['type'].'\';'."\n";
827
+ $pfile .= '$name=\''.$fmetric['name'].'\';'."\n";
828
+ $pfile .= '$up='.$fmetric['underlinePosition'].';'."\n";
829
+ $pfile .= '$ut='.$fmetric['underlineThickness'].';'."\n";
830
+ if ($fmetric['MissingWidth'] > 0) {
831
+ $pfile .= '$dw='.$fmetric['MissingWidth'].';'."\n";
832
+ } else {
833
+ $pfile .= '$dw='.$fmetric['AvgWidth'].';'."\n";
834
+ }
835
+ $pfile .= '$diff=\''.$fmetric['diff'].'\';'."\n";
836
+ if ($fmetric['type'] == 'Type1') {
837
+ // Type 1
838
+ $pfile .= '$enc=\''.$fmetric['enc'].'\';'."\n";
839
+ $pfile .= '$file=\''.$fmetric['file'].'\';'."\n";
840
+ $pfile .= '$size1='.$fmetric['size1'].';'."\n";
841
+ $pfile .= '$size2='.$fmetric['size2'].';'."\n";
842
+ } else {
843
+ $pfile .= '$originalsize='.$fmetric['originalsize'].';'."\n";
844
+ if ($fmetric['type'] == 'cidfont0') {
845
+ // CID-0
846
+ switch ($fonttype) {
847
+ case 'CID0JP': {
848
+ $pfile .= '// Japanese'."\n";
849
+ $pfile .= '$enc=\'UniJIS-UTF16-H\';'."\n";
850
+ $pfile .= '$cidinfo=array(\'Registry\'=>\'Adobe\', \'Ordering\'=>\'Japan1\',\'Supplement\'=>5);'."\n";
851
+ $pfile .= 'include(dirname(__FILE__).\'/uni2cid_aj16.php\');'."\n";
852
+ break;
853
+ }
854
+ case 'CID0KR': {
855
+ $pfile .= '// Korean'."\n";
856
+ $pfile .= '$enc=\'UniKS-UTF16-H\';'."\n";
857
+ $pfile .= '$cidinfo=array(\'Registry\'=>\'Adobe\', \'Ordering\'=>\'Korea1\',\'Supplement\'=>0);'."\n";
858
+ $pfile .= 'include(dirname(__FILE__).\'/uni2cid_ak12.php\');'."\n";
859
+ break;
860
+ }
861
+ case 'CID0CS': {
862
+ $pfile .= '// Chinese Simplified'."\n";
863
+ $pfile .= '$enc=\'UniGB-UTF16-H\';'."\n";
864
+ $pfile .= '$cidinfo=array(\'Registry\'=>\'Adobe\', \'Ordering\'=>\'GB1\',\'Supplement\'=>2);'."\n";
865
+ $pfile .= 'include(dirname(__FILE__).\'/uni2cid_ag15.php\');'."\n";
866
+ break;
867
+ }
868
+ case 'CID0CT':
869
+ default: {
870
+ $pfile .= '// Chinese Traditional'."\n";
871
+ $pfile .= '$enc=\'UniCNS-UTF16-H\';'."\n";
872
+ $pfile .= '$cidinfo=array(\'Registry\'=>\'Adobe\', \'Ordering\'=>\'CNS1\',\'Supplement\'=>0);'."\n";
873
+ $pfile .= 'include(dirname(__FILE__).\'/uni2cid_aj16.php\');'."\n";
874
+ break;
875
+ }
876
+ }
877
+ } else {
878
+ // TrueType
879
+ $pfile .= '$enc=\''.$fmetric['enc'].'\';'."\n";
880
+ $pfile .= '$file=\''.$fmetric['file'].'\';'."\n";
881
+ $pfile .= '$ctg=\''.$fmetric['ctg'].'\';'."\n";
882
+ // create CIDToGIDMap
883
+ $cidtogidmap = str_pad('', 131072, "\x00"); // (256 * 256 * 2) = 131072
884
+ foreach ($ctg as $cid => $gid) {
885
+ $cidtogidmap = self::updateCIDtoGIDmap($cidtogidmap, $cid, $ctg[$cid]);
886
+ }
887
+ // store compressed CIDToGIDMap
888
+ $fp = TCPDF_STATIC::fopenLocal($outpath.$fmetric['ctg'], 'wb');
889
+ fwrite($fp, gzcompress($cidtogidmap));
890
+ fclose($fp);
891
+ }
892
+ }
893
+ $pfile .= '$desc=array(';
894
+ $pfile .= '\'Flags\'=>'.$fmetric['Flags'].',';
895
+ $pfile .= '\'FontBBox\'=>\'['.$fmetric['bbox'].']\',';
896
+ $pfile .= '\'ItalicAngle\'=>'.$fmetric['italicAngle'].',';
897
+ $pfile .= '\'Ascent\'=>'.$fmetric['Ascent'].',';
898
+ $pfile .= '\'Descent\'=>'.$fmetric['Descent'].',';
899
+ $pfile .= '\'Leading\'=>'.$fmetric['Leading'].',';
900
+ $pfile .= '\'CapHeight\'=>'.$fmetric['CapHeight'].',';
901
+ $pfile .= '\'XHeight\'=>'.$fmetric['XHeight'].',';
902
+ $pfile .= '\'StemV\'=>'.$fmetric['StemV'].',';
903
+ $pfile .= '\'StemH\'=>'.$fmetric['StemH'].',';
904
+ $pfile .= '\'AvgWidth\'=>'.$fmetric['AvgWidth'].',';
905
+ $pfile .= '\'MaxWidth\'=>'.$fmetric['MaxWidth'].',';
906
+ $pfile .= '\'MissingWidth\'=>'.$fmetric['MissingWidth'].'';
907
+ $pfile .= ');'."\n";
908
+ if (!empty($fmetric['cbbox'])) {
909
+ $pfile .= '$cbbox=array('.substr($fmetric['cbbox'], 1).');'."\n";
910
+ }
911
+ $pfile .= '$cw=array('.substr($fmetric['cw'], 1).');'."\n";
912
+ $pfile .= '// --- EOF ---'."\n";
913
+ // store file
914
+ $fp = TCPDF_STATIC::fopenLocal($outpath.$font_name.'.php', 'w');
915
+ fwrite($fp, $pfile);
916
+ fclose($fp);
917
+ // return TCPDF font name
918
+ return $font_name;
919
+ }
920
+
921
+ /**
922
+ * Returs the checksum of a TTF table.
923
+ * @param $table (string) table to check
924
+ * @param $length (int) length of table in bytes
925
+ * @return int checksum
926
+ * @author Nicola Asuni
927
+ * @since 5.2.000 (2010-06-02)
928
+ * @public static
929
+ */
930
+ public static function _getTTFtableChecksum($table, $length) {
931
+ $sum = 0;
932
+ $tlen = ($length / 4);
933
+ $offset = 0;
934
+ for ($i = 0; $i < $tlen; ++$i) {
935
+ $v = unpack('Ni', substr($table, $offset, 4));
936
+ $sum += $v['i'];
937
+ $offset += 4;
938
+ }
939
+ $sum = unpack('Ni', pack('N', $sum));
940
+ return $sum['i'];
941
+ }
942
+
943
+ /**
944
+ * Returns a subset of the TrueType font data without the unused glyphs.
945
+ * @param $font (string) TrueType font data.
946
+ * @param $subsetchars (array) Array of used characters (the glyphs to keep).
947
+ * @return (string) A subset of TrueType font data without the unused glyphs.
948
+ * @author Nicola Asuni
949
+ * @since 5.2.000 (2010-06-02)
950
+ * @public static
951
+ */
952
+ public static function _getTrueTypeFontSubset($font, $subsetchars) {
953
+ ksort($subsetchars);
954
+ $offset = 0; // offset position of the font data
955
+ if (TCPDF_STATIC::_getULONG($font, $offset) != 0x10000) {
956
+ // sfnt version must be 0x00010000 for TrueType version 1.0.
957
+ return $font;
958
+ }
959
+ $offset += 4;
960
+ // get number of tables
961
+ $numTables = TCPDF_STATIC::_getUSHORT($font, $offset);
962
+ $offset += 2;
963
+ // skip searchRange, entrySelector and rangeShift
964
+ $offset += 6;
965
+ // tables array
966
+ $table = array();
967
+ // for each table
968
+ for ($i = 0; $i < $numTables; ++$i) {
969
+ // get table info
970
+ $tag = substr($font, $offset, 4);
971
+ $offset += 4;
972
+ $table[$tag] = array();
973
+ $table[$tag]['checkSum'] = TCPDF_STATIC::_getULONG($font, $offset);
974
+ $offset += 4;
975
+ $table[$tag]['offset'] = TCPDF_STATIC::_getULONG($font, $offset);
976
+ $offset += 4;
977
+ $table[$tag]['length'] = TCPDF_STATIC::_getULONG($font, $offset);
978
+ $offset += 4;
979
+ }
980
+ // check magicNumber
981
+ $offset = $table['head']['offset'] + 12;
982
+ if (TCPDF_STATIC::_getULONG($font, $offset) != 0x5F0F3CF5) {
983
+ // magicNumber must be 0x5F0F3CF5
984
+ return $font;
985
+ }
986
+ $offset += 4;
987
+ // get offset mode (indexToLocFormat : 0 = short, 1 = long)
988
+ $offset = $table['head']['offset'] + 50;
989
+ $short_offset = (TCPDF_STATIC::_getSHORT($font, $offset) == 0);
990
+ $offset += 2;
991
+ // get the offsets to the locations of the glyphs in the font, relative to the beginning of the glyphData table
992
+ $indexToLoc = array();
993
+ $offset = $table['loca']['offset'];
994
+ if ($short_offset) {
995
+ // short version
996
+ $tot_num_glyphs = floor($table['loca']['length'] / 2); // numGlyphs + 1
997
+ for ($i = 0; $i < $tot_num_glyphs; ++$i) {
998
+ $indexToLoc[$i] = TCPDF_STATIC::_getUSHORT($font, $offset) * 2;
999
+ $offset += 2;
1000
+ }
1001
+ } else {
1002
+ // long version
1003
+ $tot_num_glyphs = ($table['loca']['length'] / 4); // numGlyphs + 1
1004
+ for ($i = 0; $i < $tot_num_glyphs; ++$i) {
1005
+ $indexToLoc[$i] = TCPDF_STATIC::_getULONG($font, $offset);
1006
+ $offset += 4;
1007
+ }
1008
+ }
1009
+ // get glyphs indexes of chars from cmap table
1010
+ $subsetglyphs = array(); // glyph IDs on key
1011
+ $subsetglyphs[0] = true; // character codes that do not correspond to any glyph in the font should be mapped to glyph index 0
1012
+ $offset = $table['cmap']['offset'] + 2;
1013
+ $numEncodingTables = TCPDF_STATIC::_getUSHORT($font, $offset);
1014
+ $offset += 2;
1015
+ $encodingTables = array();
1016
+ for ($i = 0; $i < $numEncodingTables; ++$i) {
1017
+ $encodingTables[$i]['platformID'] = TCPDF_STATIC::_getUSHORT($font, $offset);
1018
+ $offset += 2;
1019
+ $encodingTables[$i]['encodingID'] = TCPDF_STATIC::_getUSHORT($font, $offset);
1020
+ $offset += 2;
1021
+ $encodingTables[$i]['offset'] = TCPDF_STATIC::_getULONG($font, $offset);
1022
+ $offset += 4;
1023
+ }
1024
+ foreach ($encodingTables as $enctable) {
1025
+ // get all platforms and encodings
1026
+ $offset = $table['cmap']['offset'] + $enctable['offset'];
1027
+ $format = TCPDF_STATIC::_getUSHORT($font, $offset);
1028
+ $offset += 2;
1029
+ switch ($format) {
1030
+ case 0: { // Format 0: Byte encoding table
1031
+ $offset += 4; // skip length and version/language
1032
+ for ($c = 0; $c < 256; ++$c) {
1033
+ if (isset($subsetchars[$c])) {
1034
+ $g = TCPDF_STATIC::_getBYTE($font, $offset);
1035
+ $subsetglyphs[$g] = true;
1036
+ }
1037
+ ++$offset;
1038
+ }
1039
+ break;
1040
+ }
1041
+ case 2: { // Format 2: High-byte mapping through table
1042
+ $offset += 4; // skip length and version/language
1043
+ $numSubHeaders = 0;
1044
+ for ($i = 0; $i < 256; ++$i) {
1045
+ // Array that maps high bytes to subHeaders: value is subHeader index * 8.
1046
+ $subHeaderKeys[$i] = (TCPDF_STATIC::_getUSHORT($font, $offset) / 8);
1047
+ $offset += 2;
1048
+ if ($numSubHeaders < $subHeaderKeys[$i]) {
1049
+ $numSubHeaders = $subHeaderKeys[$i];
1050
+ }
1051
+ }
1052
+ // the number of subHeaders is equal to the max of subHeaderKeys + 1
1053
+ ++$numSubHeaders;
1054
+ // read subHeader structures
1055
+ $subHeaders = array();
1056
+ $numGlyphIndexArray = 0;
1057
+ for ($k = 0; $k < $numSubHeaders; ++$k) {
1058
+ $subHeaders[$k]['firstCode'] = TCPDF_STATIC::_getUSHORT($font, $offset);
1059
+ $offset += 2;
1060
+ $subHeaders[$k]['entryCount'] = TCPDF_STATIC::_getUSHORT($font, $offset);
1061
+ $offset += 2;
1062
+ $subHeaders[$k]['idDelta'] = TCPDF_STATIC::_getUSHORT($font, $offset);
1063
+ $offset += 2;
1064
+ $subHeaders[$k]['idRangeOffset'] = TCPDF_STATIC::_getUSHORT($font, $offset);
1065
+ $offset += 2;
1066
+ $subHeaders[$k]['idRangeOffset'] -= (2 + (($numSubHeaders - $k - 1) * 8));
1067
+ $subHeaders[$k]['idRangeOffset'] /= 2;
1068
+ $numGlyphIndexArray += $subHeaders[$k]['entryCount'];
1069
+ }
1070
+ for ($k = 0; $k < $numGlyphIndexArray; ++$k) {
1071
+ $glyphIndexArray[$k] = TCPDF_STATIC::_getUSHORT($font, $offset);
1072
+ $offset += 2;
1073
+ }
1074
+ for ($i = 0; $i < 256; ++$i) {
1075
+ $k = $subHeaderKeys[$i];
1076
+ if ($k == 0) {
1077
+ // one byte code
1078
+ $c = $i;
1079
+ if (isset($subsetchars[$c])) {
1080
+ $g = $glyphIndexArray[0];
1081
+ $subsetglyphs[$g] = true;
1082
+ }
1083
+ } else {
1084
+ // two bytes code
1085
+ $start_byte = $subHeaders[$k]['firstCode'];
1086
+ $end_byte = $start_byte + $subHeaders[$k]['entryCount'];
1087
+ for ($j = $start_byte; $j < $end_byte; ++$j) {
1088
+ // combine high and low bytes
1089
+ $c = (($i << 8) + $j);
1090
+ if (isset($subsetchars[$c])) {
1091
+ $idRangeOffset = ($subHeaders[$k]['idRangeOffset'] + $j - $subHeaders[$k]['firstCode']);
1092
+ $g = ($glyphIndexArray[$idRangeOffset] + $subHeaders[$k]['idDelta']) % 65536;
1093
+ if ($g < 0) {
1094
+ $g = 0;
1095
+ }
1096
+ $subsetglyphs[$g] = true;
1097
+ }
1098
+ }
1099
+ }
1100
+ }
1101
+ break;
1102
+ }
1103
+ case 4: { // Format 4: Segment mapping to delta values
1104
+ $length = TCPDF_STATIC::_getUSHORT($font, $offset);
1105
+ $offset += 2;
1106
+ $offset += 2; // skip version/language
1107
+ $segCount = floor(TCPDF_STATIC::_getUSHORT($font, $offset) / 2);
1108
+ $offset += 2;
1109
+ $offset += 6; // skip searchRange, entrySelector, rangeShift
1110
+ $endCount = array(); // array of end character codes for each segment
1111
+ for ($k = 0; $k < $segCount; ++$k) {
1112
+ $endCount[$k] = TCPDF_STATIC::_getUSHORT($font, $offset);
1113
+ $offset += 2;
1114
+ }
1115
+ $offset += 2; // skip reservedPad
1116
+ $startCount = array(); // array of start character codes for each segment
1117
+ for ($k = 0; $k < $segCount; ++$k) {
1118
+ $startCount[$k] = TCPDF_STATIC::_getUSHORT($font, $offset);
1119
+ $offset += 2;
1120
+ }
1121
+ $idDelta = array(); // delta for all character codes in segment
1122
+ for ($k = 0; $k < $segCount; ++$k) {
1123
+ $idDelta[$k] = TCPDF_STATIC::_getUSHORT($font, $offset);
1124
+ $offset += 2;
1125
+ }
1126
+ $idRangeOffset = array(); // Offsets into glyphIdArray or 0
1127
+ for ($k = 0; $k < $segCount; ++$k) {
1128
+ $idRangeOffset[$k] = TCPDF_STATIC::_getUSHORT($font, $offset);
1129
+ $offset += 2;
1130
+ }
1131
+ $gidlen = (floor($length / 2) - 8 - (4 * $segCount));
1132
+ $glyphIdArray = array(); // glyph index array
1133
+ for ($k = 0; $k < $gidlen; ++$k) {
1134
+ $glyphIdArray[$k] = TCPDF_STATIC::_getUSHORT($font, $offset);
1135
+ $offset += 2;
1136
+ }
1137
+ for ($k = 0; $k < $segCount; ++$k) {
1138
+ for ($c = $startCount[$k]; $c <= $endCount[$k]; ++$c) {
1139
+ if (isset($subsetchars[$c])) {
1140
+ if ($idRangeOffset[$k] == 0) {
1141
+ $g = ($idDelta[$k] + $c) % 65536;
1142
+ } else {
1143
+ $gid = (floor($idRangeOffset[$k] / 2) + ($c - $startCount[$k]) - ($segCount - $k));
1144
+ $g = ($glyphIdArray[$gid] + $idDelta[$k]) % 65536;
1145
+ }
1146
+ if ($g < 0) {
1147
+ $g = 0;
1148
+ }
1149
+ $subsetglyphs[$g] = true;
1150
+ }
1151
+ }
1152
+ }
1153
+ break;
1154
+ }
1155
+ case 6: { // Format 6: Trimmed table mapping
1156
+ $offset += 4; // skip length and version/language
1157
+ $firstCode = TCPDF_STATIC::_getUSHORT($font, $offset);
1158
+ $offset += 2;
1159
+ $entryCount = TCPDF_STATIC::_getUSHORT($font, $offset);
1160
+ $offset += 2;
1161
+ for ($k = 0; $k < $entryCount; ++$k) {
1162
+ $c = ($k + $firstCode);
1163
+ if (isset($subsetchars[$c])) {
1164
+ $g = TCPDF_STATIC::_getUSHORT($font, $offset);
1165
+ $subsetglyphs[$g] = true;
1166
+ }
1167
+ $offset += 2;
1168
+ }
1169
+ break;
1170
+ }
1171
+ case 8: { // Format 8: Mixed 16-bit and 32-bit coverage
1172
+ $offset += 10; // skip reserved, length and version/language
1173
+ for ($k = 0; $k < 8192; ++$k) {
1174
+ $is32[$k] = TCPDF_STATIC::_getBYTE($font, $offset);
1175
+ ++$offset;
1176
+ }
1177
+ $nGroups = TCPDF_STATIC::_getULONG($font, $offset);
1178
+ $offset += 4;
1179
+ for ($i = 0; $i < $nGroups; ++$i) {
1180
+ $startCharCode = TCPDF_STATIC::_getULONG($font, $offset);
1181
+ $offset += 4;
1182
+ $endCharCode = TCPDF_STATIC::_getULONG($font, $offset);
1183
+ $offset += 4;
1184
+ $startGlyphID = TCPDF_STATIC::_getULONG($font, $offset);
1185
+ $offset += 4;
1186
+ for ($k = $startCharCode; $k <= $endCharCode; ++$k) {
1187
+ $is32idx = floor($c / 8);
1188
+ if ((isset($is32[$is32idx])) AND (($is32[$is32idx] & (1 << (7 - ($c % 8)))) == 0)) {
1189
+ $c = $k;
1190
+ } else {
1191
+ // 32 bit format
1192
+ // convert to decimal (http://www.unicode.org/faq//utf_bom.html#utf16-4)
1193
+ //LEAD_OFFSET = (0xD800 - (0x10000 >> 10)) = 55232
1194
+ //SURROGATE_OFFSET = (0x10000 - (0xD800 << 10) - 0xDC00) = -56613888
1195
+ $c = ((55232 + ($k >> 10)) << 10) + (0xDC00 + ($k & 0x3FF)) -56613888;
1196
+ }
1197
+ if (isset($subsetchars[$c])) {
1198
+ $subsetglyphs[$startGlyphID] = true;
1199
+ }
1200
+ ++$startGlyphID;
1201
+ }
1202
+ }
1203
+ break;
1204
+ }
1205
+ case 10: { // Format 10: Trimmed array
1206
+ $offset += 10; // skip reserved, length and version/language
1207
+ $startCharCode = TCPDF_STATIC::_getULONG($font, $offset);
1208
+ $offset += 4;
1209
+ $numChars = TCPDF_STATIC::_getULONG($font, $offset);
1210
+ $offset += 4;
1211
+ for ($k = 0; $k < $numChars; ++$k) {
1212
+ $c = ($k + $startCharCode);
1213
+ if (isset($subsetchars[$c])) {
1214
+ $g = TCPDF_STATIC::_getUSHORT($font, $offset);
1215
+ $subsetglyphs[$g] = true;
1216
+ }
1217
+ $offset += 2;
1218
+ }
1219
+ break;
1220
+ }
1221
+ case 12: { // Format 12: Segmented coverage
1222
+ $offset += 10; // skip length and version/language
1223
+ $nGroups = TCPDF_STATIC::_getULONG($font, $offset);
1224
+ $offset += 4;
1225
+ for ($k = 0; $k < $nGroups; ++$k) {
1226
+ $startCharCode = TCPDF_STATIC::_getULONG($font, $offset);
1227
+ $offset += 4;
1228
+ $endCharCode = TCPDF_STATIC::_getULONG($font, $offset);
1229
+ $offset += 4;
1230
+ $startGlyphCode = TCPDF_STATIC::_getULONG($font, $offset);
1231
+ $offset += 4;
1232
+ for ($c = $startCharCode; $c <= $endCharCode; ++$c) {
1233
+ if (isset($subsetchars[$c])) {
1234
+ $subsetglyphs[$startGlyphCode] = true;
1235
+ }
1236
+ ++$startGlyphCode;
1237
+ }
1238
+ }
1239
+ break;
1240
+ }
1241
+ case 13: { // Format 13: Many-to-one range mappings
1242
+ // to be implemented ...
1243
+ break;
1244
+ }
1245
+ case 14: { // Format 14: Unicode Variation Sequences
1246
+ // to be implemented ...
1247
+ break;
1248
+ }
1249
+ }
1250
+ }
1251
+ // include all parts of composite glyphs
1252
+ $new_sga = $subsetglyphs;
1253
+ while (!empty($new_sga)) {
1254
+ $sga = $new_sga;
1255
+ $new_sga = array();
1256
+ foreach ($sga as $key => $val) {
1257
+ if (isset($indexToLoc[$key])) {
1258
+ $offset = ($table['glyf']['offset'] + $indexToLoc[$key]);
1259
+ $numberOfContours = TCPDF_STATIC::_getSHORT($font, $offset);
1260
+ $offset += 2;
1261
+ if ($numberOfContours < 0) { // composite glyph
1262
+ $offset += 8; // skip xMin, yMin, xMax, yMax
1263
+ do {
1264
+ $flags = TCPDF_STATIC::_getUSHORT($font, $offset);
1265
+ $offset += 2;
1266
+ $glyphIndex = TCPDF_STATIC::_getUSHORT($font, $offset);
1267
+ $offset += 2;
1268
+ if (!isset($subsetglyphs[$glyphIndex])) {
1269
+ // add missing glyphs
1270
+ $new_sga[$glyphIndex] = true;
1271
+ }
1272
+ // skip some bytes by case
1273
+ if ($flags & 1) {
1274
+ $offset += 4;
1275
+ } else {
1276
+ $offset += 2;
1277
+ }
1278
+ if ($flags & 8) {
1279
+ $offset += 2;
1280
+ } elseif ($flags & 64) {
1281
+ $offset += 4;
1282
+ } elseif ($flags & 128) {
1283
+ $offset += 8;
1284
+ }
1285
+ } while ($flags & 32);
1286
+ }
1287
+ }
1288
+ }
1289
+ $subsetglyphs += $new_sga;
1290
+ }
1291
+ // sort glyphs by key (and remove duplicates)
1292
+ ksort($subsetglyphs);
1293
+ // build new glyf and loca tables
1294
+ $glyf = '';
1295
+ $loca = '';
1296
+ $offset = 0;
1297
+ $glyf_offset = $table['glyf']['offset'];
1298
+ for ($i = 0; $i < $tot_num_glyphs; ++$i) {
1299
+ if (isset($subsetglyphs[$i])) {
1300
+ $length = ($indexToLoc[($i + 1)] - $indexToLoc[$i]);
1301
+ $glyf .= substr($font, ($glyf_offset + $indexToLoc[$i]), $length);
1302
+ } else {
1303
+ $length = 0;
1304
+ }
1305
+ if ($short_offset) {
1306
+ $loca .= pack('n', floor($offset / 2));
1307
+ } else {
1308
+ $loca .= pack('N', $offset);
1309
+ }
1310
+ $offset += $length;
1311
+ }
1312
+ // array of table names to preserve (loca and glyf tables will be added later)
1313
+ // the cmap table is not needed and shall not be present, since the mapping from character codes to glyph descriptions is provided separately
1314
+ $table_names = array ('head', 'hhea', 'hmtx', 'maxp', 'cvt ', 'fpgm', 'prep'); // minimum required table names
1315
+ // get the tables to preserve
1316
+ $offset = 12;
1317
+ foreach ($table as $tag => $val) {
1318
+ if (in_array($tag, $table_names)) {
1319
+ $table[$tag]['data'] = substr($font, $table[$tag]['offset'], $table[$tag]['length']);
1320
+ if ($tag == 'head') {
1321
+ // set the checkSumAdjustment to 0
1322
+ $table[$tag]['data'] = substr($table[$tag]['data'], 0, 8)."\x0\x0\x0\x0".substr($table[$tag]['data'], 12);
1323
+ }
1324
+ $pad = 4 - ($table[$tag]['length'] % 4);
1325
+ if ($pad != 4) {
1326
+ // the length of a table must be a multiple of four bytes
1327
+ $table[$tag]['length'] += $pad;
1328
+ $table[$tag]['data'] .= str_repeat("\x0", $pad);
1329
+ }
1330
+ $table[$tag]['offset'] = $offset;
1331
+ $offset += $table[$tag]['length'];
1332
+ // check sum is not changed (so keep the following line commented)
1333
+ //$table[$tag]['checkSum'] = self::_getTTFtableChecksum($table[$tag]['data'], $table[$tag]['length']);
1334
+ } else {
1335
+ unset($table[$tag]);
1336
+ }
1337
+ }
1338
+ // add loca
1339
+ $table['loca']['data'] = $loca;
1340
+ $table['loca']['length'] = strlen($loca);
1341
+ $pad = 4 - ($table['loca']['length'] % 4);
1342
+ if ($pad != 4) {
1343
+ // the length of a table must be a multiple of four bytes
1344
+ $table['loca']['length'] += $pad;
1345
+ $table['loca']['data'] .= str_repeat("\x0", $pad);
1346
+ }
1347
+ $table['loca']['offset'] = $offset;
1348
+ $table['loca']['checkSum'] = self::_getTTFtableChecksum($table['loca']['data'], $table['loca']['length']);
1349
+ $offset += $table['loca']['length'];
1350
+ // add glyf
1351
+ $table['glyf']['data'] = $glyf;
1352
+ $table['glyf']['length'] = strlen($glyf);
1353
+ $pad = 4 - ($table['glyf']['length'] % 4);
1354
+ if ($pad != 4) {
1355
+ // the length of a table must be a multiple of four bytes
1356
+ $table['glyf']['length'] += $pad;
1357
+ $table['glyf']['data'] .= str_repeat("\x0", $pad);
1358
+ }
1359
+ $table['glyf']['offset'] = $offset;
1360
+ $table['glyf']['checkSum'] = self::_getTTFtableChecksum($table['glyf']['data'], $table['glyf']['length']);
1361
+ // rebuild font
1362
+ $font = '';
1363
+ $font .= pack('N', 0x10000); // sfnt version
1364
+ $numTables = count($table);
1365
+ $font .= pack('n', $numTables); // numTables
1366
+ $entrySelector = floor(log($numTables, 2));
1367
+ $searchRange = pow(2, $entrySelector) * 16;
1368
+ $rangeShift = ($numTables * 16) - $searchRange;
1369
+ $font .= pack('n', $searchRange); // searchRange
1370
+ $font .= pack('n', $entrySelector); // entrySelector
1371
+ $font .= pack('n', $rangeShift); // rangeShift
1372
+ $offset = ($numTables * 16);
1373
+ foreach ($table as $tag => $data) {
1374
+ $font .= $tag; // tag
1375
+ $font .= pack('N', $data['checkSum']); // checkSum
1376
+ $font .= pack('N', ($data['offset'] + $offset)); // offset
1377
+ $font .= pack('N', $data['length']); // length
1378
+ }
1379
+ foreach ($table as $data) {
1380
+ $font .= $data['data'];
1381
+ }
1382
+ // set checkSumAdjustment on head table
1383
+ $checkSumAdjustment = 0xB1B0AFBA - self::_getTTFtableChecksum($font, strlen($font));
1384
+ $font = substr($font, 0, $table['head']['offset'] + 8).pack('N', $checkSumAdjustment).substr($font, $table['head']['offset'] + 12);
1385
+ return $font;
1386
+ }
1387
+
1388
+ /**
1389
+ * Outputs font widths
1390
+ * @param $font (array) font data
1391
+ * @param $cidoffset (int) offset for CID values
1392
+ * @return PDF command string for font widths
1393
+ * @author Nicola Asuni
1394
+ * @since 4.4.000 (2008-12-07)
1395
+ * @public static
1396
+ */
1397
+ public static function _putfontwidths($font, $cidoffset=0) {
1398
+ ksort($font['cw']);
1399
+ $rangeid = 0;
1400
+ $range = array();
1401
+ $prevcid = -2;
1402
+ $prevwidth = -1;
1403
+ $interval = false;
1404
+ // for each character
1405
+ foreach ($font['cw'] as $cid => $width) {
1406
+ $cid -= $cidoffset;
1407
+ if ($font['subset'] AND (!isset($font['subsetchars'][$cid]))) {
1408
+ // ignore the unused characters (font subsetting)
1409
+ continue;
1410
+ }
1411
+ if ($width != $font['dw']) {
1412
+ if ($cid == ($prevcid + 1)) {
1413
+ // consecutive CID
1414
+ if ($width == $prevwidth) {
1415
+ if ($width == $range[$rangeid][0]) {
1416
+ $range[$rangeid][] = $width;
1417
+ } else {
1418
+ array_pop($range[$rangeid]);
1419
+ // new range
1420
+ $rangeid = $prevcid;
1421
+ $range[$rangeid] = array();
1422
+ $range[$rangeid][] = $prevwidth;
1423
+ $range[$rangeid][] = $width;
1424
+ }
1425
+ $interval = true;
1426
+ $range[$rangeid]['interval'] = true;
1427
+ } else {
1428
+ if ($interval) {
1429
+ // new range
1430
+ $rangeid = $cid;
1431
+ $range[$rangeid] = array();
1432
+ $range[$rangeid][] = $width;
1433
+ } else {
1434
+ $range[$rangeid][] = $width;
1435
+ }
1436
+ $interval = false;
1437
+ }
1438
+ } else {
1439
+ // new range
1440
+ $rangeid = $cid;
1441
+ $range[$rangeid] = array();
1442
+ $range[$rangeid][] = $width;
1443
+ $interval = false;
1444
+ }
1445
+ $prevcid = $cid;
1446
+ $prevwidth = $width;
1447
+ }
1448
+ }
1449
+ // optimize ranges
1450
+ $prevk = -1;
1451
+ $nextk = -1;
1452
+ $prevint = false;
1453
+ foreach ($range as $k => $ws) {
1454
+ $cws = count($ws);
1455
+ if (($k == $nextk) AND (!$prevint) AND ((!isset($ws['interval'])) OR ($cws < 4))) {
1456
+ if (isset($range[$k]['interval'])) {
1457
+ unset($range[$k]['interval']);
1458
+ }
1459
+ $range[$prevk] = array_merge($range[$prevk], $range[$k]);
1460
+ unset($range[$k]);
1461
+ } else {
1462
+ $prevk = $k;
1463
+ }
1464
+ $nextk = $k + $cws;
1465
+ if (isset($ws['interval'])) {
1466
+ if ($cws > 3) {
1467
+ $prevint = true;
1468
+ } else {
1469
+ $prevint = false;
1470
+ }
1471
+ if (isset($range[$k]['interval'])) {
1472
+ unset($range[$k]['interval']);
1473
+ }
1474
+ --$nextk;
1475
+ } else {
1476
+ $prevint = false;
1477
+ }
1478
+ }
1479
+ // output data
1480
+ $w = '';
1481
+ foreach ($range as $k => $ws) {
1482
+ if (count(array_count_values($ws)) == 1) {
1483
+ // interval mode is more compact
1484
+ $w .= ' '.$k.' '.($k + count($ws) - 1).' '.$ws[0];
1485
+ } else {
1486
+ // range mode
1487
+ $w .= ' '.$k.' [ '.implode(' ', $ws).' ]';
1488
+ }
1489
+ }
1490
+ return '/W ['.$w.' ]';
1491
+ }
1492
+
1493
+ /**
1494
+ * Returns the unicode caracter specified by the value
1495
+ * @param $c (int) UTF-8 value
1496
+ * @param $unicode (boolean) True if we are in unicode mode, false otherwise.
1497
+ * @return Returns the specified character.
1498
+ * @since 2.3.000 (2008-03-05)
1499
+ * @public static
1500
+ */
1501
+ public static function unichr($c, $unicode=true) {
1502
+ if (!$unicode) {
1503
+ return chr($c);
1504
+ } elseif ($c <= 0x7F) {
1505
+ // one byte
1506
+ return chr($c);
1507
+ } elseif ($c <= 0x7FF) {
1508
+ // two bytes
1509
+ return chr(0xC0 | $c >> 6).chr(0x80 | $c & 0x3F);
1510
+ } elseif ($c <= 0xFFFF) {
1511
+ // three bytes
1512
+ return chr(0xE0 | $c >> 12).chr(0x80 | $c >> 6 & 0x3F).chr(0x80 | $c & 0x3F);
1513
+ } elseif ($c <= 0x10FFFF) {
1514
+ // four bytes
1515
+ return chr(0xF0 | $c >> 18).chr(0x80 | $c >> 12 & 0x3F).chr(0x80 | $c >> 6 & 0x3F).chr(0x80 | $c & 0x3F);
1516
+ } else {
1517
+ return '';
1518
+ }
1519
+ }
1520
+
1521
+ /**
1522
+ * Returns the unicode caracter specified by UTF-8 value
1523
+ * @param $c (int) UTF-8 value
1524
+ * @return Returns the specified character.
1525
+ * @public static
1526
+ */
1527
+ public static function unichrUnicode($c) {
1528
+ return self::unichr($c, true);
1529
+ }
1530
+
1531
+ /**
1532
+ * Returns the unicode caracter specified by ASCII value
1533
+ * @param $c (int) UTF-8 value
1534
+ * @return Returns the specified character.
1535
+ * @public static
1536
+ */
1537
+ public static function unichrASCII($c) {
1538
+ return self::unichr($c, false);
1539
+ }
1540
+
1541
+ /**
1542
+ * Converts array of UTF-8 characters to UTF16-BE string.<br>
1543
+ * Based on: http://www.faqs.org/rfcs/rfc2781.html
1544
+ * <pre>
1545
+ * Encoding UTF-16:
1546
+ *
1547
+ * Encoding of a single character from an ISO 10646 character value to
1548
+ * UTF-16 proceeds as follows. Let U be the character number, no greater
1549
+ * than 0x10FFFF.
1550
+ *
1551
+ * 1) If U < 0x10000, encode U as a 16-bit unsigned integer and
1552
+ * terminate.
1553
+ *
1554
+ * 2) Let U' = U - 0x10000. Because U is less than or equal to 0x10FFFF,
1555
+ * U' must be less than or equal to 0xFFFFF. That is, U' can be
1556
+ * represented in 20 bits.
1557
+ *
1558
+ * 3) Initialize two 16-bit unsigned integers, W1 and W2, to 0xD800 and
1559
+ * 0xDC00, respectively. These integers each have 10 bits free to
1560
+ * encode the character value, for a total of 20 bits.
1561
+ *
1562
+ * 4) Assign the 10 high-order bits of the 20-bit U' to the 10 low-order
1563
+ * bits of W1 and the 10 low-order bits of U' to the 10 low-order
1564
+ * bits of W2. Terminate.
1565
+ *
1566
+ * Graphically, steps 2 through 4 look like:
1567
+ * U' = yyyyyyyyyyxxxxxxxxxx
1568
+ * W1 = 110110yyyyyyyyyy
1569
+ * W2 = 110111xxxxxxxxxx
1570
+ * </pre>
1571
+ * @param $unicode (array) array containing UTF-8 unicode values
1572
+ * @param $setbom (boolean) if true set the Byte Order Mark (BOM = 0xFEFF)
1573
+ * @return string
1574
+ * @protected
1575
+ * @author Nicola Asuni
1576
+ * @since 2.1.000 (2008-01-08)
1577
+ * @public static
1578
+ */
1579
+ public static function arrUTF8ToUTF16BE($unicode, $setbom=false) {
1580
+ $outstr = ''; // string to be returned
1581
+ if ($setbom) {
1582
+ $outstr .= "\xFE\xFF"; // Byte Order Mark (BOM)
1583
+ }
1584
+ foreach ($unicode as $char) {
1585
+ if ($char == 0x200b) {
1586
+ // skip Unicode Character 'ZERO WIDTH SPACE' (DEC:8203, U+200B)
1587
+ } elseif ($char == 0xFFFD) {
1588
+ $outstr .= "\xFF\xFD"; // replacement character
1589
+ } elseif ($char < 0x10000) {
1590
+ $outstr .= chr($char >> 0x08);
1591
+ $outstr .= chr($char & 0xFF);
1592
+ } else {
1593
+ $char -= 0x10000;
1594
+ $w1 = 0xD800 | ($char >> 0x0a);
1595
+ $w2 = 0xDC00 | ($char & 0x3FF);
1596
+ $outstr .= chr($w1 >> 0x08);
1597
+ $outstr .= chr($w1 & 0xFF);
1598
+ $outstr .= chr($w2 >> 0x08);
1599
+ $outstr .= chr($w2 & 0xFF);
1600
+ }
1601
+ }
1602
+ return $outstr;
1603
+ }
1604
+
1605
+ /**
1606
+ * Convert an array of UTF8 values to array of unicode characters
1607
+ * @param $ta (array) The input array of UTF8 values.
1608
+ * @param $isunicode (boolean) True for Unicode mode, false otherwise.
1609
+ * @return Return array of unicode characters
1610
+ * @since 4.5.037 (2009-04-07)
1611
+ * @public static
1612
+ */
1613
+ public static function UTF8ArrayToUniArray($ta, $isunicode=true) {
1614
+ if ($isunicode) {
1615
+ return array_map(array('TCPDF_FONTS', 'unichrUnicode'), $ta);
1616
+ }
1617
+ return array_map(array('TCPDF_FONTS', 'unichrASCII'), $ta);
1618
+ }
1619
+
1620
+ /**
1621
+ * Extract a slice of the $strarr array and return it as string.
1622
+ * @param $strarr (string) The input array of characters.
1623
+ * @param $start (int) the starting element of $strarr.
1624
+ * @param $end (int) first element that will not be returned.
1625
+ * @param $unicode (boolean) True if we are in unicode mode, false otherwise.
1626
+ * @return Return part of a string
1627
+ * @public static
1628
+ */
1629
+ public static function UTF8ArrSubString($strarr, $start='', $end='', $unicode=true) {
1630
+ if (strlen($start) == 0) {
1631
+ $start = 0;
1632
+ }
1633
+ if (strlen($end) == 0) {
1634
+ $end = count($strarr);
1635
+ }
1636
+ $string = '';
1637
+ for ($i = $start; $i < $end; ++$i) {
1638
+ $string .= self::unichr($strarr[$i], $unicode);
1639
+ }
1640
+ return $string;
1641
+ }
1642
+
1643
+ /**
1644
+ * Extract a slice of the $uniarr array and return it as string.
1645
+ * @param $uniarr (string) The input array of characters.
1646
+ * @param $start (int) the starting element of $strarr.
1647
+ * @param $end (int) first element that will not be returned.
1648
+ * @return Return part of a string
1649
+ * @since 4.5.037 (2009-04-07)
1650
+ * @public static
1651
+ */
1652
+ public static function UniArrSubString($uniarr, $start='', $end='') {
1653
+ if (strlen($start) == 0) {
1654
+ $start = 0;
1655
+ }
1656
+ if (strlen($end) == 0) {
1657
+ $end = count($uniarr);
1658
+ }
1659
+ $string = '';
1660
+ for ($i=$start; $i < $end; ++$i) {
1661
+ $string .= $uniarr[$i];
1662
+ }
1663
+ return $string;
1664
+ }
1665
+
1666
+ /**
1667
+ * Update the CIDToGIDMap string with a new value.
1668
+ * @param $map (string) CIDToGIDMap.
1669
+ * @param $cid (int) CID value.
1670
+ * @param $gid (int) GID value.
1671
+ * @return (string) CIDToGIDMap.
1672
+ * @author Nicola Asuni
1673
+ * @since 5.9.123 (2011-09-29)
1674
+ * @public static
1675
+ */
1676
+ public static function updateCIDtoGIDmap($map, $cid, $gid) {
1677
+ if (($cid >= 0) AND ($cid <= 0xFFFF) AND ($gid >= 0)) {
1678
+ if ($gid > 0xFFFF) {
1679
+ $gid -= 0x10000;
1680
+ }
1681
+ $map[($cid * 2)] = chr($gid >> 8);
1682
+ $map[(($cid * 2) + 1)] = chr($gid & 0xFF);
1683
+ }
1684
+ return $map;
1685
+ }
1686
+
1687
+ /**
1688
+ * Return fonts path
1689
+ * @return string
1690
+ * @public static
1691
+ */
1692
+ public static function _getfontpath() {
1693
+ if (!defined('K_PATH_FONTS') AND is_dir($fdir = realpath(dirname(__FILE__).'/../fonts'))) {
1694
+ if (substr($fdir, -1) != '/') {
1695
+ $fdir .= '/';
1696
+ }
1697
+ define('K_PATH_FONTS', $fdir);
1698
+ }
1699
+ return defined('K_PATH_FONTS') ? K_PATH_FONTS : '';
1700
+ }
1701
+
1702
+ /**
1703
+ * Return font full path
1704
+ * @param $file (string) Font file name.
1705
+ * @param $fontdir (string) Font directory (set to false fto search on default directories)
1706
+ * @return string Font full path or empty string
1707
+ * @author Nicola Asuni
1708
+ * @since 6.0.025
1709
+ * @public static
1710
+ */
1711
+ public static function getFontFullPath($file, $fontdir=false) {
1712
+ $fontfile = '';
1713
+ // search files on various directories
1714
+ if (($fontdir !== false) AND @file_exists($fontdir.$file)) {
1715
+ $fontfile = $fontdir.$file;
1716
+ } elseif (@file_exists(self::_getfontpath().$file)) {
1717
+ $fontfile = self::_getfontpath().$file;
1718
+ } elseif (@file_exists($file)) {
1719
+ $fontfile = $file;
1720
+ }
1721
+ return $fontfile;
1722
+ }
1723
+
1724
+ /**
1725
+ * Converts UTF-8 characters array to array of Latin1 characters array<br>
1726
+ * @param $unicode (array) array containing UTF-8 unicode values
1727
+ * @return array
1728
+ * @author Nicola Asuni
1729
+ * @since 4.8.023 (2010-01-15)
1730
+ * @public static
1731
+ */
1732
+ public static function UTF8ArrToLatin1Arr($unicode) {
1733
+ $outarr = array(); // array to be returned
1734
+ foreach ($unicode as $char) {
1735
+ if ($char < 256) {
1736
+ $outarr[] = $char;
1737
+ } elseif (array_key_exists($char, TCPDF_FONT_DATA::$uni_utf8tolatin)) {
1738
+ // map from UTF-8
1739
+ $outarr[] = TCPDF_FONT_DATA::$uni_utf8tolatin[$char];
1740
+ } elseif ($char == 0xFFFD) {
1741
+ // skip
1742
+ } else {
1743
+ $outarr[] = 63; // '?' character
1744
+ }
1745
+ }
1746
+ return $outarr;
1747
+ }
1748
+
1749
+ /**
1750
+ * Converts UTF-8 characters array to array of Latin1 string<br>
1751
+ * @param $unicode (array) array containing UTF-8 unicode values
1752
+ * @return array
1753
+ * @author Nicola Asuni
1754
+ * @since 4.8.023 (2010-01-15)
1755
+ * @public static
1756
+ */
1757
+ public static function UTF8ArrToLatin1($unicode) {
1758
+ $outstr = ''; // string to be returned
1759
+ foreach ($unicode as $char) {
1760
+ if ($char < 256) {
1761
+ $outstr .= chr($char);
1762
+ } elseif (array_key_exists($char, TCPDF_FONT_DATA::$uni_utf8tolatin)) {
1763
+ // map from UTF-8
1764
+ $outstr .= chr(TCPDF_FONT_DATA::$uni_utf8tolatin[$char]);
1765
+ } elseif ($char == 0xFFFD) {
1766
+ // skip
1767
+ } else {
1768
+ $outstr .= '?';
1769
+ }
1770
+ }
1771
+ return $outstr;
1772
+ }
1773
+
1774
+ /**
1775
+ * Converts UTF-8 character to integer value.<br>
1776
+ * Uses the getUniord() method if the value is not cached.
1777
+ * @param $uch (string) character string to process.
1778
+ * @return integer Unicode value
1779
+ * @public static
1780
+ */
1781
+ public static function uniord($uch) {
1782
+ if (!isset(self::$cache_uniord[$uch])) {
1783
+ self::$cache_uniord[$uch] = self::getUniord($uch);
1784
+ }
1785
+ return self::$cache_uniord[$uch];
1786
+ }
1787
+
1788
+ /**
1789
+ * Converts UTF-8 character to integer value.<br>
1790
+ * Invalid byte sequences will be replaced with 0xFFFD (replacement character)<br>
1791
+ * Based on: http://www.faqs.org/rfcs/rfc3629.html
1792
+ * <pre>
1793
+ * Char. number range | UTF-8 octet sequence
1794
+ * (hexadecimal) | (binary)
1795
+ * --------------------+-----------------------------------------------
1796
+ * 0000 0000-0000 007F | 0xxxxxxx
1797
+ * 0000 0080-0000 07FF | 110xxxxx 10xxxxxx
1798
+ * 0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
1799
+ * 0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
1800
+ * ---------------------------------------------------------------------
1801
+ *
1802
+ * ABFN notation:
1803
+ * ---------------------------------------------------------------------
1804
+ * UTF8-octets = *( UTF8-char )
1805
+ * UTF8-char = UTF8-1 / UTF8-2 / UTF8-3 / UTF8-4
1806
+ * UTF8-1 = %x00-7F
1807
+ * UTF8-2 = %xC2-DF UTF8-tail
1808
+ *
1809
+ * UTF8-3 = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2( UTF8-tail ) /
1810
+ * %xED %x80-9F UTF8-tail / %xEE-EF 2( UTF8-tail )
1811
+ * UTF8-4 = %xF0 %x90-BF 2( UTF8-tail ) / %xF1-F3 3( UTF8-tail ) /
1812
+ * %xF4 %x80-8F 2( UTF8-tail )
1813
+ * UTF8-tail = %x80-BF
1814
+ * ---------------------------------------------------------------------
1815
+ * </pre>
1816
+ * @param $uch (string) character string to process.
1817
+ * @return integer Unicode value
1818
+ * @author Nicola Asuni
1819
+ * @public static
1820
+ */
1821
+ public static function getUniord($uch) {
1822
+ if (function_exists('mb_convert_encoding')) {
1823
+ list(, $char) = @unpack('N', mb_convert_encoding($uch, 'UCS-4BE', 'UTF-8'));
1824
+ if ($char >= 0) {
1825
+ return $char;
1826
+ }
1827
+ }
1828
+ $bytes = array(); // array containing single character byte sequences
1829
+ $countbytes = 0;
1830
+ $numbytes = 1; // number of octetc needed to represent the UTF-8 character
1831
+ $length = strlen($uch);
1832
+ for ($i = 0; $i < $length; ++$i) {
1833
+ $char = ord($uch[$i]); // get one string character at time
1834
+ if ($countbytes == 0) { // get starting octect
1835
+ if ($char <= 0x7F) {
1836
+ return $char; // use the character "as is" because is ASCII
1837
+ } elseif (($char >> 0x05) == 0x06) { // 2 bytes character (0x06 = 110 BIN)
1838
+ $bytes[] = ($char - 0xC0) << 0x06;
1839
+ ++$countbytes;
1840
+ $numbytes = 2;
1841
+ } elseif (($char >> 0x04) == 0x0E) { // 3 bytes character (0x0E = 1110 BIN)
1842
+ $bytes[] = ($char - 0xE0) << 0x0C;
1843
+ ++$countbytes;
1844
+ $numbytes = 3;
1845
+ } elseif (($char >> 0x03) == 0x1E) { // 4 bytes character (0x1E = 11110 BIN)
1846
+ $bytes[] = ($char - 0xF0) << 0x12;
1847
+ ++$countbytes;
1848
+ $numbytes = 4;
1849
+ } else {
1850
+ // use replacement character for other invalid sequences
1851
+ return 0xFFFD;
1852
+ }
1853
+ } elseif (($char >> 0x06) == 0x02) { // bytes 2, 3 and 4 must start with 0x02 = 10 BIN
1854
+ $bytes[] = $char - 0x80;
1855
+ ++$countbytes;
1856
+ if ($countbytes == $numbytes) {
1857
+ // compose UTF-8 bytes to a single unicode value
1858
+ $char = $bytes[0];
1859
+ for ($j = 1; $j < $numbytes; ++$j) {
1860
+ $char += ($bytes[$j] << (($numbytes - $j - 1) * 0x06));
1861
+ }
1862
+ if ((($char >= 0xD800) AND ($char <= 0xDFFF)) OR ($char >= 0x10FFFF)) {
1863
+ // The definition of UTF-8 prohibits encoding character numbers between
1864
+ // U+D800 and U+DFFF, which are reserved for use with the UTF-16
1865
+ // encoding form (as surrogate pairs) and do not directly represent
1866
+ // characters.
1867
+ return 0xFFFD; // use replacement character
1868
+ } else {
1869
+ return $char;
1870
+ }
1871
+ }
1872
+ } else {
1873
+ // use replacement character for other invalid sequences
1874
+ return 0xFFFD;
1875
+ }
1876
+ }
1877
+ return 0xFFFD;
1878
+ }
1879
+
1880
+ /**
1881
+ * Converts UTF-8 strings to codepoints array.<br>
1882
+ * Invalid byte sequences will be replaced with 0xFFFD (replacement character)<br>
1883
+ * @param $str (string) string to process.
1884
+ * @param $isunicode (boolean) True when the documetn is in Unicode mode, false otherwise.
1885
+ * @param $currentfont (array) Reference to current font array.
1886
+ * @return array containing codepoints (UTF-8 characters values)
1887
+ * @author Nicola Asuni
1888
+ * @public static
1889
+ */
1890
+ public static function UTF8StringToArray($str, $isunicode=true, &$currentfont) {
1891
+ if ($isunicode) {
1892
+ // requires PCRE unicode support turned on
1893
+ $chars = TCPDF_STATIC::pregSplit('//','u', $str, -1, PREG_SPLIT_NO_EMPTY);
1894
+ $carr = array_map(array('TCPDF_FONTS', 'uniord'), $chars);
1895
+ } else {
1896
+ $chars = str_split($str);
1897
+ $carr = array_map('ord', $chars);
1898
+ }
1899
+ $currentfont['subsetchars'] += array_fill_keys($carr, true);
1900
+ return $carr;
1901
+ }
1902
+
1903
+ /**
1904
+ * Converts UTF-8 strings to Latin1 when using the standard 14 core fonts.<br>
1905
+ * @param $str (string) string to process.
1906
+ * @param $isunicode (boolean) True when the documetn is in Unicode mode, false otherwise.
1907
+ * @param $currentfont (array) Reference to current font array.
1908
+ * @return string
1909
+ * @since 3.2.000 (2008-06-23)
1910
+ * @public static
1911
+ */
1912
+ public static function UTF8ToLatin1($str, $isunicode=true, &$currentfont) {
1913
+ $unicode = self::UTF8StringToArray($str, $isunicode, $currentfont); // array containing UTF-8 unicode values
1914
+ return self::UTF8ArrToLatin1($unicode);
1915
+ }
1916
+
1917
+ /**
1918
+ * Converts UTF-8 strings to UTF16-BE.<br>
1919
+ * @param $str (string) string to process.
1920
+ * @param $setbom (boolean) if true set the Byte Order Mark (BOM = 0xFEFF)
1921
+ * @param $isunicode (boolean) True when the documetn is in Unicode mode, false otherwise.
1922
+ * @param $currentfont (array) Reference to current font array.
1923
+ * @return string
1924
+ * @author Nicola Asuni
1925
+ * @since 1.53.0.TC005 (2005-01-05)
1926
+ * @public static
1927
+ */
1928
+ public static function UTF8ToUTF16BE($str, $setbom=false, $isunicode=true, &$currentfont) {
1929
+ if (!$isunicode) {
1930
+ return $str; // string is not in unicode
1931
+ }
1932
+ $unicode = self::UTF8StringToArray($str, $isunicode, $currentfont); // array containing UTF-8 unicode values
1933
+ return self::arrUTF8ToUTF16BE($unicode, $setbom);
1934
+ }
1935
+
1936
+ /**
1937
+ * Reverse the RLT substrings using the Bidirectional Algorithm (http://unicode.org/reports/tr9/).
1938
+ * @param $str (string) string to manipulate.
1939
+ * @param $setbom (bool) if true set the Byte Order Mark (BOM = 0xFEFF)
1940
+ * @param $forcertl (bool) if true forces RTL text direction
1941
+ * @param $isunicode (boolean) True if the document is in Unicode mode, false otherwise.
1942
+ * @param $currentfont (array) Reference to current font array.
1943
+ * @return string
1944
+ * @author Nicola Asuni
1945
+ * @since 2.1.000 (2008-01-08)
1946
+ * @public static
1947
+ */
1948
+ public static function utf8StrRev($str, $setbom=false, $forcertl=false, $isunicode=true, &$currentfont) {
1949
+ return self::utf8StrArrRev(self::UTF8StringToArray($str, $isunicode, $currentfont), $str, $setbom, $forcertl, $isunicode, $currentfont);
1950
+ }
1951
+
1952
+ /**
1953
+ * Reverse the RLT substrings array using the Bidirectional Algorithm (http://unicode.org/reports/tr9/).
1954
+ * @param $arr (array) array of unicode values.
1955
+ * @param $str (string) string to manipulate (or empty value).
1956
+ * @param $setbom (bool) if true set the Byte Order Mark (BOM = 0xFEFF)
1957
+ * @param $forcertl (bool) if true forces RTL text direction
1958
+ * @param $isunicode (boolean) True if the document is in Unicode mode, false otherwise.
1959
+ * @param $currentfont (array) Reference to current font array.
1960
+ * @return string
1961
+ * @author Nicola Asuni
1962
+ * @since 4.9.000 (2010-03-27)
1963
+ * @public static
1964
+ */
1965
+ public static function utf8StrArrRev($arr, $str='', $setbom=false, $forcertl=false, $isunicode=true, &$currentfont) {
1966
+ return self::arrUTF8ToUTF16BE(self::utf8Bidi($arr, $str, $forcertl, $isunicode, $currentfont), $setbom);
1967
+ }
1968
+
1969
+ /**
1970
+ * Reverse the RLT substrings using the Bidirectional Algorithm (http://unicode.org/reports/tr9/).
1971
+ * @param $ta (array) array of characters composing the string.
1972
+ * @param $str (string) string to process
1973
+ * @param $forcertl (bool) if 'R' forces RTL, if 'L' forces LTR
1974
+ * @param $isunicode (boolean) True if the document is in Unicode mode, false otherwise.
1975
+ * @param $currentfont (array) Reference to current font array.
1976
+ * @return array of unicode chars
1977
+ * @author Nicola Asuni
1978
+ * @since 2.4.000 (2008-03-06)
1979
+ * @public static
1980
+ */
1981
+ public static function utf8Bidi($ta, $str='', $forcertl=false, $isunicode=true, &$currentfont) {
1982
+ // paragraph embedding level
1983
+ $pel = 0;
1984
+ // max level
1985
+ $maxlevel = 0;
1986
+ if (TCPDF_STATIC::empty_string($str)) {
1987
+ // create string from array
1988
+ $str = self::UTF8ArrSubString($ta, '', '', $isunicode);
1989
+ }
1990
+ // check if string contains arabic text
1991
+ if (preg_match(TCPDF_FONT_DATA::$uni_RE_PATTERN_ARABIC, $str)) {
1992
+ $arabic = true;
1993
+ } else {
1994
+ $arabic = false;
1995
+ }
1996
+ // check if string contains RTL text
1997
+ if (!($forcertl OR $arabic OR preg_match(TCPDF_FONT_DATA::$uni_RE_PATTERN_RTL, $str))) {
1998
+ return $ta;
1999
+ }
2000
+
2001
+ // get number of chars
2002
+ $numchars = count($ta);
2003
+
2004
+ if ($forcertl == 'R') {
2005
+ $pel = 1;
2006
+ } elseif ($forcertl == 'L') {
2007
+ $pel = 0;
2008
+ } else {
2009
+ // P2. In each paragraph, find the first character of type L, AL, or R.
2010
+ // P3. If a character is found in P2 and it is of type AL or R, then set the paragraph embedding level to one; otherwise, set it to zero.
2011
+ for ($i=0; $i < $numchars; ++$i) {
2012
+ $type = TCPDF_FONT_DATA::$uni_type[$ta[$i]];
2013
+ if ($type == 'L') {
2014
+ $pel = 0;
2015
+ break;
2016
+ } elseif (($type == 'AL') OR ($type == 'R')) {
2017
+ $pel = 1;
2018
+ break;
2019
+ }
2020
+ }
2021
+ }
2022
+
2023
+ // Current Embedding Level
2024
+ $cel = $pel;
2025
+ // directional override status
2026
+ $dos = 'N';
2027
+ $remember = array();
2028
+ // start-of-level-run
2029
+ $sor = $pel % 2 ? 'R' : 'L';
2030
+ $eor = $sor;
2031
+
2032
+ // Array of characters data
2033
+ $chardata = Array();
2034
+
2035
+ // X1. Begin by setting the current embedding level to the paragraph embedding level. Set the directional override status to neutral. Process each character iteratively, applying rules X2 through X9. Only embedding levels from 0 to 61 are valid in this phase.
2036
+ // In the resolution of levels in rules I1 and I2, the maximum embedding level of 62 can be reached.
2037
+ for ($i=0; $i < $numchars; ++$i) {
2038
+ if ($ta[$i] == TCPDF_FONT_DATA::$uni_RLE) {
2039
+ // X2. With each RLE, compute the least greater odd embedding level.
2040
+ // a. If this new level would be valid, then this embedding code is valid. Remember (push) the current embedding level and override status. Reset the current level to this new level, and reset the override status to neutral.
2041
+ // b. If the new level would not be valid, then this code is invalid. Do not change the current level or override status.
2042
+ $next_level = $cel + ($cel % 2) + 1;
2043
+ if ($next_level < 62) {
2044
+ $remember[] = array('num' => TCPDF_FONT_DATA::$uni_RLE, 'cel' => $cel, 'dos' => $dos);
2045
+ $cel = $next_level;
2046
+ $dos = 'N';
2047
+ $sor = $eor;
2048
+ $eor = $cel % 2 ? 'R' : 'L';
2049
+ }
2050
+ } elseif ($ta[$i] == TCPDF_FONT_DATA::$uni_LRE) {
2051
+ // X3. With each LRE, compute the least greater even embedding level.
2052
+ // a. If this new level would be valid, then this embedding code is valid. Remember (push) the current embedding level and override status. Reset the current level to this new level, and reset the override status to neutral.
2053
+ // b. If the new level would not be valid, then this code is invalid. Do not change the current level or override status.
2054
+ $next_level = $cel + 2 - ($cel % 2);
2055
+ if ( $next_level < 62 ) {
2056
+ $remember[] = array('num' => TCPDF_FONT_DATA::$uni_LRE, 'cel' => $cel, 'dos' => $dos);
2057
+ $cel = $next_level;
2058
+ $dos = 'N';
2059
+ $sor = $eor;
2060
+ $eor = $cel % 2 ? 'R' : 'L';
2061
+ }
2062
+ } elseif ($ta[$i] == TCPDF_FONT_DATA::$uni_RLO) {
2063
+ // X4. With each RLO, compute the least greater odd embedding level.
2064
+ // a. If this new level would be valid, then this embedding code is valid. Remember (push) the current embedding level and override status. Reset the current level to this new level, and reset the override status to right-to-left.
2065
+ // b. If the new level would not be valid, then this code is invalid. Do not change the current level or override status.
2066
+ $next_level = $cel + ($cel % 2) + 1;
2067
+ if ($next_level < 62) {
2068
+ $remember[] = array('num' => TCPDF_FONT_DATA::$uni_RLO, 'cel' => $cel, 'dos' => $dos);
2069
+ $cel = $next_level;
2070
+ $dos = 'R';
2071
+ $sor = $eor;
2072
+ $eor = $cel % 2 ? 'R' : 'L';
2073
+ }
2074
+ } elseif ($ta[$i] == TCPDF_FONT_DATA::$uni_LRO) {
2075
+ // X5. With each LRO, compute the least greater even embedding level.
2076
+ // a. If this new level would be valid, then this embedding code is valid. Remember (push) the current embedding level and override status. Reset the current level to this new level, and reset the override status to left-to-right.
2077
+ // b. If the new level would not be valid, then this code is invalid. Do not change the current level or override status.
2078
+ $next_level = $cel + 2 - ($cel % 2);
2079
+ if ( $next_level < 62 ) {
2080
+ $remember[] = array('num' => TCPDF_FONT_DATA::$uni_LRO, 'cel' => $cel, 'dos' => $dos);
2081
+ $cel = $next_level;
2082
+ $dos = 'L';
2083
+ $sor = $eor;
2084
+ $eor = $cel % 2 ? 'R' : 'L';
2085
+ }
2086
+ } elseif ($ta[$i] == TCPDF_FONT_DATA::$uni_PDF) {
2087
+ // X7. With each PDF, determine the matching embedding or override code. If there was a valid matching code, restore (pop) the last remembered (pushed) embedding level and directional override.
2088
+ if (count($remember)) {
2089
+ $last = count($remember ) - 1;
2090
+ if (($remember[$last]['num'] == TCPDF_FONT_DATA::$uni_RLE) OR
2091
+ ($remember[$last]['num'] == TCPDF_FONT_DATA::$uni_LRE) OR
2092
+ ($remember[$last]['num'] == TCPDF_FONT_DATA::$uni_RLO) OR
2093
+ ($remember[$last]['num'] == TCPDF_FONT_DATA::$uni_LRO)) {
2094
+ $match = array_pop($remember);
2095
+ $cel = $match['cel'];
2096
+ $dos = $match['dos'];
2097
+ $sor = $eor;
2098
+ $eor = ($cel > $match['cel'] ? $cel : $match['cel']) % 2 ? 'R' : 'L';
2099
+ }
2100
+ }
2101
+ } elseif (($ta[$i] != TCPDF_FONT_DATA::$uni_RLE) AND
2102
+ ($ta[$i] != TCPDF_FONT_DATA::$uni_LRE) AND
2103
+ ($ta[$i] != TCPDF_FONT_DATA::$uni_RLO) AND
2104
+ ($ta[$i] != TCPDF_FONT_DATA::$uni_LRO) AND
2105
+ ($ta[$i] != TCPDF_FONT_DATA::$uni_PDF)) {
2106
+ // X6. For all types besides RLE, LRE, RLO, LRO, and PDF:
2107
+ // a. Set the level of the current character to the current embedding level.
2108
+ // b. Whenever the directional override status is not neutral, reset the current character type to the directional override status.
2109
+ if ($dos != 'N') {
2110
+ $chardir = $dos;
2111
+ } else {
2112
+ if (isset(TCPDF_FONT_DATA::$uni_type[$ta[$i]])) {
2113
+ $chardir = TCPDF_FONT_DATA::$uni_type[$ta[$i]];
2114
+ } else {
2115
+ $chardir = 'L';
2116
+ }
2117
+ }
2118
+ // stores string characters and other information
2119
+ $chardata[] = array('char' => $ta[$i], 'level' => $cel, 'type' => $chardir, 'sor' => $sor, 'eor' => $eor);
2120
+ }
2121
+ } // end for each char
2122
+
2123
+ // X8. All explicit directional embeddings and overrides are completely terminated at the end of each paragraph. Paragraph separators are not included in the embedding.
2124
+ // X9. Remove all RLE, LRE, RLO, LRO, PDF, and BN codes.
2125
+ // X10. The remaining rules are applied to each run of characters at the same level. For each run, determine the start-of-level-run (sor) and end-of-level-run (eor) type, either L or R. This depends on the higher of the two levels on either side of the boundary (at the start or end of the paragraph, the level of the 'other' run is the base embedding level). If the higher level is odd, the type is R; otherwise, it is L.
2126
+
2127
+ // 3.3.3 Resolving Weak Types
2128
+ // Weak types are now resolved one level run at a time. At level run boundaries where the type of the character on the other side of the boundary is required, the type assigned to sor or eor is used.
2129
+ // Nonspacing marks are now resolved based on the previous characters.
2130
+ $numchars = count($chardata);
2131
+
2132
+ // W1. Examine each nonspacing mark (NSM) in the level run, and change the type of the NSM to the type of the previous character. If the NSM is at the start of the level run, it will get the type of sor.
2133
+ $prevlevel = -1; // track level changes
2134
+ $levcount = 0; // counts consecutive chars at the same level
2135
+ for ($i=0; $i < $numchars; ++$i) {
2136
+ if ($chardata[$i]['type'] == 'NSM') {
2137
+ if ($levcount) {
2138
+ $chardata[$i]['type'] = $chardata[$i]['sor'];
2139
+ } elseif ($i > 0) {
2140
+ $chardata[$i]['type'] = $chardata[($i-1)]['type'];
2141
+ }
2142
+ }
2143
+ if ($chardata[$i]['level'] != $prevlevel) {
2144
+ $levcount = 0;
2145
+ } else {
2146
+ ++$levcount;
2147
+ }
2148
+ $prevlevel = $chardata[$i]['level'];
2149
+ }
2150
+
2151
+ // W2. Search backward from each instance of a European number until the first strong type (R, L, AL, or sor) is found. If an AL is found, change the type of the European number to Arabic number.
2152
+ $prevlevel = -1;
2153
+ $levcount = 0;
2154
+ for ($i=0; $i < $numchars; ++$i) {
2155
+ if ($chardata[$i]['char'] == 'EN') {
2156
+ for ($j=$levcount; $j >= 0; $j--) {
2157
+ if ($chardata[$j]['type'] == 'AL') {
2158
+ $chardata[$i]['type'] = 'AN';
2159
+ } elseif (($chardata[$j]['type'] == 'L') OR ($chardata[$j]['type'] == 'R')) {
2160
+ break;
2161
+ }
2162
+ }
2163
+ }
2164
+ if ($chardata[$i]['level'] != $prevlevel) {
2165
+ $levcount = 0;
2166
+ } else {
2167
+ ++$levcount;
2168
+ }
2169
+ $prevlevel = $chardata[$i]['level'];
2170
+ }
2171
+
2172
+ // W3. Change all ALs to R.
2173
+ for ($i=0; $i < $numchars; ++$i) {
2174
+ if ($chardata[$i]['type'] == 'AL') {
2175
+ $chardata[$i]['type'] = 'R';
2176
+ }
2177
+ }
2178
+
2179
+ // W4. A single European separator between two European numbers changes to a European number. A single common separator between two numbers of the same type changes to that type.
2180
+ $prevlevel = -1;
2181
+ $levcount = 0;
2182
+ for ($i=0; $i < $numchars; ++$i) {
2183
+ if (($levcount > 0) AND (($i+1) < $numchars) AND ($chardata[($i+1)]['level'] == $prevlevel)) {
2184
+ if (($chardata[$i]['type'] == 'ES') AND ($chardata[($i-1)]['type'] == 'EN') AND ($chardata[($i+1)]['type'] == 'EN')) {
2185
+ $chardata[$i]['type'] = 'EN';
2186
+ } elseif (($chardata[$i]['type'] == 'CS') AND ($chardata[($i-1)]['type'] == 'EN') AND ($chardata[($i+1)]['type'] == 'EN')) {
2187
+ $chardata[$i]['type'] = 'EN';
2188
+ } elseif (($chardata[$i]['type'] == 'CS') AND ($chardata[($i-1)]['type'] == 'AN') AND ($chardata[($i+1)]['type'] == 'AN')) {
2189
+ $chardata[$i]['type'] = 'AN';
2190
+ }
2191
+ }
2192
+ if ($chardata[$i]['level'] != $prevlevel) {
2193
+ $levcount = 0;
2194
+ } else {
2195
+ ++$levcount;
2196
+ }
2197
+ $prevlevel = $chardata[$i]['level'];
2198
+ }
2199
+
2200
+ // W5. A sequence of European terminators adjacent to European numbers changes to all European numbers.
2201
+ $prevlevel = -1;
2202
+ $levcount = 0;
2203
+ for ($i=0; $i < $numchars; ++$i) {
2204
+ if ($chardata[$i]['type'] == 'ET') {
2205
+ if (($levcount > 0) AND ($chardata[($i-1)]['type'] == 'EN')) {
2206
+ $chardata[$i]['type'] = 'EN';
2207
+ } else {
2208
+ $j = $i+1;
2209
+ while (($j < $numchars) AND ($chardata[$j]['level'] == $prevlevel)) {
2210
+ if ($chardata[$j]['type'] == 'EN') {
2211
+ $chardata[$i]['type'] = 'EN';
2212
+ break;
2213
+ } elseif ($chardata[$j]['type'] != 'ET') {
2214
+ break;
2215
+ }
2216
+ ++$j;
2217
+ }
2218
+ }
2219
+ }
2220
+ if ($chardata[$i]['level'] != $prevlevel) {
2221
+ $levcount = 0;
2222
+ } else {
2223
+ ++$levcount;
2224
+ }
2225
+ $prevlevel = $chardata[$i]['level'];
2226
+ }
2227
+
2228
+ // W6. Otherwise, separators and terminators change to Other Neutral.
2229
+ $prevlevel = -1;
2230
+ $levcount = 0;
2231
+ for ($i=0; $i < $numchars; ++$i) {
2232
+ if (($chardata[$i]['type'] == 'ET') OR ($chardata[$i]['type'] == 'ES') OR ($chardata[$i]['type'] == 'CS')) {
2233
+ $chardata[$i]['type'] = 'ON';
2234
+ }
2235
+ if ($chardata[$i]['level'] != $prevlevel) {
2236
+ $levcount = 0;
2237
+ } else {
2238
+ ++$levcount;
2239
+ }
2240
+ $prevlevel = $chardata[$i]['level'];
2241
+ }
2242
+
2243
+ //W7. Search backward from each instance of a European number until the first strong type (R, L, or sor) is found. If an L is found, then change the type of the European number to L.
2244
+ $prevlevel = -1;
2245
+ $levcount = 0;
2246
+ for ($i=0; $i < $numchars; ++$i) {
2247
+ if ($chardata[$i]['char'] == 'EN') {
2248
+ for ($j=$levcount; $j >= 0; $j--) {
2249
+ if ($chardata[$j]['type'] == 'L') {
2250
+ $chardata[$i]['type'] = 'L';
2251
+ } elseif ($chardata[$j]['type'] == 'R') {
2252
+ break;
2253
+ }
2254
+ }
2255
+ }
2256
+ if ($chardata[$i]['level'] != $prevlevel) {
2257
+ $levcount = 0;
2258
+ } else {
2259
+ ++$levcount;
2260
+ }
2261
+ $prevlevel = $chardata[$i]['level'];
2262
+ }
2263
+
2264
+ // N1. A sequence of neutrals takes the direction of the surrounding strong text if the text on both sides has the same direction. European and Arabic numbers act as if they were R in terms of their influence on neutrals. Start-of-level-run (sor) and end-of-level-run (eor) are used at level run boundaries.
2265
+ $prevlevel = -1;
2266
+ $levcount = 0;
2267
+ for ($i=0; $i < $numchars; ++$i) {
2268
+ if (($levcount > 0) AND (($i+1) < $numchars) AND ($chardata[($i+1)]['level'] == $prevlevel)) {
2269
+ if (($chardata[$i]['type'] == 'N') AND ($chardata[($i-1)]['type'] == 'L') AND ($chardata[($i+1)]['type'] == 'L')) {
2270
+ $chardata[$i]['type'] = 'L';
2271
+ } elseif (($chardata[$i]['type'] == 'N') AND
2272
+ (($chardata[($i-1)]['type'] == 'R') OR ($chardata[($i-1)]['type'] == 'EN') OR ($chardata[($i-1)]['type'] == 'AN')) AND
2273
+ (($chardata[($i+1)]['type'] == 'R') OR ($chardata[($i+1)]['type'] == 'EN') OR ($chardata[($i+1)]['type'] == 'AN'))) {
2274
+ $chardata[$i]['type'] = 'R';
2275
+ } elseif ($chardata[$i]['type'] == 'N') {
2276
+ // N2. Any remaining neutrals take the embedding direction
2277
+ $chardata[$i]['type'] = $chardata[$i]['sor'];
2278
+ }
2279
+ } elseif (($levcount == 0) AND (($i+1) < $numchars) AND ($chardata[($i+1)]['level'] == $prevlevel)) {
2280
+ // first char
2281
+ if (($chardata[$i]['type'] == 'N') AND ($chardata[$i]['sor'] == 'L') AND ($chardata[($i+1)]['type'] == 'L')) {
2282
+ $chardata[$i]['type'] = 'L';
2283
+ } elseif (($chardata[$i]['type'] == 'N') AND
2284
+ (($chardata[$i]['sor'] == 'R') OR ($chardata[$i]['sor'] == 'EN') OR ($chardata[$i]['sor'] == 'AN')) AND
2285
+ (($chardata[($i+1)]['type'] == 'R') OR ($chardata[($i+1)]['type'] == 'EN') OR ($chardata[($i+1)]['type'] == 'AN'))) {
2286
+ $chardata[$i]['type'] = 'R';
2287
+ } elseif ($chardata[$i]['type'] == 'N') {
2288
+ // N2. Any remaining neutrals take the embedding direction
2289
+ $chardata[$i]['type'] = $chardata[$i]['sor'];
2290
+ }
2291
+ } elseif (($levcount > 0) AND ((($i+1) == $numchars) OR (($i+1) < $numchars) AND ($chardata[($i+1)]['level'] != $prevlevel))) {
2292
+ //last char
2293
+ if (($chardata[$i]['type'] == 'N') AND ($chardata[($i-1)]['type'] == 'L') AND ($chardata[$i]['eor'] == 'L')) {
2294
+ $chardata[$i]['type'] = 'L';
2295
+ } elseif (($chardata[$i]['type'] == 'N') AND
2296
+ (($chardata[($i-1)]['type'] == 'R') OR ($chardata[($i-1)]['type'] == 'EN') OR ($chardata[($i-1)]['type'] == 'AN')) AND
2297
+ (($chardata[$i]['eor'] == 'R') OR ($chardata[$i]['eor'] == 'EN') OR ($chardata[$i]['eor'] == 'AN'))) {
2298
+ $chardata[$i]['type'] = 'R';
2299
+ } elseif ($chardata[$i]['type'] == 'N') {
2300
+ // N2. Any remaining neutrals take the embedding direction
2301
+ $chardata[$i]['type'] = $chardata[$i]['sor'];
2302
+ }
2303
+ } elseif ($chardata[$i]['type'] == 'N') {
2304
+ // N2. Any remaining neutrals take the embedding direction
2305
+ $chardata[$i]['type'] = $chardata[$i]['sor'];
2306
+ }
2307
+ if ($chardata[$i]['level'] != $prevlevel) {
2308
+ $levcount = 0;
2309
+ } else {
2310
+ ++$levcount;
2311
+ }
2312
+ $prevlevel = $chardata[$i]['level'];
2313
+ }
2314
+
2315
+ // I1. For all characters with an even (left-to-right) embedding direction, those of type R go up one level and those of type AN or EN go up two levels.
2316
+ // I2. For all characters with an odd (right-to-left) embedding direction, those of type L, EN or AN go up one level.
2317
+ for ($i=0; $i < $numchars; ++$i) {
2318
+ $odd = $chardata[$i]['level'] % 2;
2319
+ if ($odd) {
2320
+ if (($chardata[$i]['type'] == 'L') OR ($chardata[$i]['type'] == 'AN') OR ($chardata[$i]['type'] == 'EN')) {
2321
+ $chardata[$i]['level'] += 1;
2322
+ }
2323
+ } else {
2324
+ if ($chardata[$i]['type'] == 'R') {
2325
+ $chardata[$i]['level'] += 1;
2326
+ } elseif (($chardata[$i]['type'] == 'AN') OR ($chardata[$i]['type'] == 'EN')) {
2327
+ $chardata[$i]['level'] += 2;
2328
+ }
2329
+ }
2330
+ $maxlevel = max($chardata[$i]['level'],$maxlevel);
2331
+ }
2332
+
2333
+ // L1. On each line, reset the embedding level of the following characters to the paragraph embedding level:
2334
+ // 1. Segment separators,
2335
+ // 2. Paragraph separators,
2336
+ // 3. Any sequence of whitespace characters preceding a segment separator or paragraph separator, and
2337
+ // 4. Any sequence of white space characters at the end of the line.
2338
+ for ($i=0; $i < $numchars; ++$i) {
2339
+ if (($chardata[$i]['type'] == 'B') OR ($chardata[$i]['type'] == 'S')) {
2340
+ $chardata[$i]['level'] = $pel;
2341
+ } elseif ($chardata[$i]['type'] == 'WS') {
2342
+ $j = $i+1;
2343
+ while ($j < $numchars) {
2344
+ if ((($chardata[$j]['type'] == 'B') OR ($chardata[$j]['type'] == 'S')) OR
2345
+ (($j == ($numchars-1)) AND ($chardata[$j]['type'] == 'WS'))) {
2346
+ $chardata[$i]['level'] = $pel;
2347
+ break;
2348
+ } elseif ($chardata[$j]['type'] != 'WS') {
2349
+ break;
2350
+ }
2351
+ ++$j;
2352
+ }
2353
+ }
2354
+ }
2355
+
2356
+ // Arabic Shaping
2357
+ // Cursively connected scripts, such as Arabic or Syriac, require the selection of positional character shapes that depend on adjacent characters. Shaping is logically applied after the Bidirectional Algorithm is used and is limited to characters within the same directional run.
2358
+ if ($arabic) {
2359
+ $endedletter = array(1569,1570,1571,1572,1573,1575,1577,1583,1584,1585,1586,1608,1688);
2360
+ $alfletter = array(1570,1571,1573,1575);
2361
+ $chardata2 = $chardata;
2362
+ $laaletter = false;
2363
+ $charAL = array();
2364
+ $x = 0;
2365
+ for ($i=0; $i < $numchars; ++$i) {
2366
+ if ((TCPDF_FONT_DATA::$uni_type[$chardata[$i]['char']] == 'AL') OR ($chardata[$i]['char'] == 32) OR ($chardata[$i]['char'] == 8204)) {
2367
+ $charAL[$x] = $chardata[$i];
2368
+ $charAL[$x]['i'] = $i;
2369
+ $chardata[$i]['x'] = $x;
2370
+ ++$x;
2371
+ }
2372
+ }
2373
+ $numAL = $x;
2374
+ for ($i=0; $i < $numchars; ++$i) {
2375
+ $thischar = $chardata[$i];
2376
+ if ($i > 0) {
2377
+ $prevchar = $chardata[($i-1)];
2378
+ } else {
2379
+ $prevchar = false;
2380
+ }
2381
+ if (($i+1) < $numchars) {
2382
+ $nextchar = $chardata[($i+1)];
2383
+ } else {
2384
+ $nextchar = false;
2385
+ }
2386
+ if (TCPDF_FONT_DATA::$uni_type[$thischar['char']] == 'AL') {
2387
+ $x = $thischar['x'];
2388
+ if ($x > 0) {
2389
+ $prevchar = $charAL[($x-1)];
2390
+ } else {
2391
+ $prevchar = false;
2392
+ }
2393
+ if (($x+1) < $numAL) {
2394
+ $nextchar = $charAL[($x+1)];
2395
+ } else {
2396
+ $nextchar = false;
2397
+ }
2398
+ // if laa letter
2399
+ if (($prevchar !== false) AND ($prevchar['char'] == 1604) AND (in_array($thischar['char'], $alfletter))) {
2400
+ $arabicarr = TCPDF_FONT_DATA::$uni_laa_array;
2401
+ $laaletter = true;
2402
+ if ($x > 1) {
2403
+ $prevchar = $charAL[($x-2)];
2404
+ } else {
2405
+ $prevchar = false;
2406
+ }
2407
+ } else {
2408
+ $arabicarr = TCPDF_FONT_DATA::$uni_arabicsubst;
2409
+ $laaletter = false;
2410
+ }
2411
+ if (($prevchar !== false) AND ($nextchar !== false) AND
2412
+ ((TCPDF_FONT_DATA::$uni_type[$prevchar['char']] == 'AL') OR (TCPDF_FONT_DATA::$uni_type[$prevchar['char']] == 'NSM')) AND
2413
+ ((TCPDF_FONT_DATA::$uni_type[$nextchar['char']] == 'AL') OR (TCPDF_FONT_DATA::$uni_type[$nextchar['char']] == 'NSM')) AND
2414
+ ($prevchar['type'] == $thischar['type']) AND
2415
+ ($nextchar['type'] == $thischar['type']) AND
2416
+ ($nextchar['char'] != 1567)) {
2417
+ if (in_array($prevchar['char'], $endedletter)) {
2418
+ if (isset($arabicarr[$thischar['char']][2])) {
2419
+ // initial
2420
+ $chardata2[$i]['char'] = $arabicarr[$thischar['char']][2];
2421
+ }
2422
+ } else {
2423
+ if (isset($arabicarr[$thischar['char']][3])) {
2424
+ // medial
2425
+ $chardata2[$i]['char'] = $arabicarr[$thischar['char']][3];
2426
+ }
2427
+ }
2428
+ } elseif (($nextchar !== false) AND
2429
+ ((TCPDF_FONT_DATA::$uni_type[$nextchar['char']] == 'AL') OR (TCPDF_FONT_DATA::$uni_type[$nextchar['char']] == 'NSM')) AND
2430
+ ($nextchar['type'] == $thischar['type']) AND
2431
+ ($nextchar['char'] != 1567)) {
2432
+ if (isset($arabicarr[$chardata[$i]['char']][2])) {
2433
+ // initial
2434
+ $chardata2[$i]['char'] = $arabicarr[$thischar['char']][2];
2435
+ }
2436
+ } elseif ((($prevchar !== false) AND
2437
+ ((TCPDF_FONT_DATA::$uni_type[$prevchar['char']] == 'AL') OR (TCPDF_FONT_DATA::$uni_type[$prevchar['char']] == 'NSM')) AND
2438
+ ($prevchar['type'] == $thischar['type'])) OR
2439
+ (($nextchar !== false) AND ($nextchar['char'] == 1567))) {
2440
+ // final
2441
+ if (($i > 1) AND ($thischar['char'] == 1607) AND
2442
+ ($chardata[$i-1]['char'] == 1604) AND
2443
+ ($chardata[$i-2]['char'] == 1604)) {
2444
+ //Allah Word
2445
+ // mark characters to delete with false
2446
+ $chardata2[$i-2]['char'] = false;
2447
+ $chardata2[$i-1]['char'] = false;
2448
+ $chardata2[$i]['char'] = 65010;
2449
+ } else {
2450
+ if (($prevchar !== false) AND in_array($prevchar['char'], $endedletter)) {
2451
+ if (isset($arabicarr[$thischar['char']][0])) {
2452
+ // isolated
2453
+ $chardata2[$i]['char'] = $arabicarr[$thischar['char']][0];
2454
+ }
2455
+ } else {
2456
+ if (isset($arabicarr[$thischar['char']][1])) {
2457
+ // final
2458
+ $chardata2[$i]['char'] = $arabicarr[$thischar['char']][1];
2459
+ }
2460
+ }
2461
+ }
2462
+ } elseif (isset($arabicarr[$thischar['char']][0])) {
2463
+ // isolated
2464
+ $chardata2[$i]['char'] = $arabicarr[$thischar['char']][0];
2465
+ }
2466
+ // if laa letter
2467
+ if ($laaletter) {
2468
+ // mark characters to delete with false
2469
+ $chardata2[($charAL[($x-1)]['i'])]['char'] = false;
2470
+ }
2471
+ } // end if AL (Arabic Letter)
2472
+ } // end for each char
2473
+ /*
2474
+ * Combining characters that can occur with Arabic Shadda (0651 HEX, 1617 DEC) are replaced.
2475
+ * Putting the combining mark and shadda in the same glyph allows us to avoid the two marks overlapping each other in an illegible manner.
2476
+ */
2477
+ for ($i = 0; $i < ($numchars-1); ++$i) {
2478
+ if (($chardata2[$i]['char'] == 1617) AND (isset(TCPDF_FONT_DATA::$uni_diacritics[($chardata2[$i+1]['char'])]))) {
2479
+ // check if the subtitution font is defined on current font
2480
+ if (isset($currentfont['cw'][(TCPDF_FONT_DATA::$uni_diacritics[($chardata2[$i+1]['char'])])])) {
2481
+ $chardata2[$i]['char'] = false;
2482
+ $chardata2[$i+1]['char'] = TCPDF_FONT_DATA::$uni_diacritics[($chardata2[$i+1]['char'])];
2483
+ }
2484
+ }
2485
+ }
2486
+ // remove marked characters
2487
+ foreach ($chardata2 as $key => $value) {
2488
+ if ($value['char'] === false) {
2489
+ unset($chardata2[$key]);
2490
+ }
2491
+ }
2492
+ $chardata = array_values($chardata2);
2493
+ $numchars = count($chardata);
2494
+ unset($chardata2);
2495
+ unset($arabicarr);
2496
+ unset($laaletter);
2497
+ unset($charAL);
2498
+ }
2499
+
2500
+ // L2. From the highest level found in the text to the lowest odd level on each line, including intermediate levels not actually present in the text, reverse any contiguous sequence of characters that are at that level or higher.
2501
+ for ($j=$maxlevel; $j > 0; $j--) {
2502
+ $ordarray = Array();
2503
+ $revarr = Array();
2504
+ $onlevel = false;
2505
+ for ($i=0; $i < $numchars; ++$i) {
2506
+ if ($chardata[$i]['level'] >= $j) {
2507
+ $onlevel = true;
2508
+ if (isset(TCPDF_FONT_DATA::$uni_mirror[$chardata[$i]['char']])) {
2509
+ // L4. A character is depicted by a mirrored glyph if and only if (a) the resolved directionality of that character is R, and (b) the Bidi_Mirrored property value of that character is true.
2510
+ $chardata[$i]['char'] = TCPDF_FONT_DATA::$uni_mirror[$chardata[$i]['char']];
2511
+ }
2512
+ $revarr[] = $chardata[$i];
2513
+ } else {
2514
+ if ($onlevel) {
2515
+ $revarr = array_reverse($revarr);
2516
+ $ordarray = array_merge($ordarray, $revarr);
2517
+ $revarr = Array();
2518
+ $onlevel = false;
2519
+ }
2520
+ $ordarray[] = $chardata[$i];
2521
+ }
2522
+ }
2523
+ if ($onlevel) {
2524
+ $revarr = array_reverse($revarr);
2525
+ $ordarray = array_merge($ordarray, $revarr);
2526
+ }
2527
+ $chardata = $ordarray;
2528
+ }
2529
+ $ordarray = array();
2530
+ foreach ($chardata as $cd) {
2531
+ $ordarray[] = $cd['char'];
2532
+ // store char values for subsetting
2533
+ $currentfont['subsetchars'][$cd['char']] = true;
2534
+ }
2535
+ return $ordarray;
2536
+ }
2537
+
2538
+ /**
2539
+ * Get a reference font size.
2540
+ * @param $size (string) String containing font size value.
2541
+ * @param $refsize (float) Reference font size in points.
2542
+ * @return float value in points
2543
+ * @public static
2544
+ */
2545
+ public static function getFontRefSize($size, $refsize=12) {
2546
+ switch ($size) {
2547
+ case 'xx-small': {
2548
+ $size = ($refsize - 4);
2549
+ break;
2550
+ }
2551
+ case 'x-small': {
2552
+ $size = ($refsize - 3);
2553
+ break;
2554
+ }
2555
+ case 'small': {
2556
+ $size = ($refsize - 2);
2557
+ break;
2558
+ }
2559
+ case 'medium': {
2560
+ $size = $refsize;
2561
+ break;
2562
+ }
2563
+ case 'large': {
2564
+ $size = ($refsize + 2);
2565
+ break;
2566
+ }
2567
+ case 'x-large': {
2568
+ $size = ($refsize + 4);
2569
+ break;
2570
+ }
2571
+ case 'xx-large': {
2572
+ $size = ($refsize + 6);
2573
+ break;
2574
+ }
2575
+ case 'smaller': {
2576
+ $size = ($refsize - 3);
2577
+ break;
2578
+ }
2579
+ case 'larger': {
2580
+ $size = ($refsize + 3);
2581
+ break;
2582
+ }
2583
+ }
2584
+ return $size;
2585
+ }
2586
+
2587
+ } // END OF TCPDF_FONTS CLASS
2588
+
2589
+ //============================================================+
2590
+ // END OF FILE
2591
+ //============================================================+