simpletool 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/simpletool.rb +3 -1
- metadata +2 -1701
- data/lib/support/phpmyadmin/phpmyadmin/CONTRIBUTING.md +0 -25
- data/lib/support/phpmyadmin/phpmyadmin/ChangeLog +0 -312
- data/lib/support/phpmyadmin/phpmyadmin/DCO +0 -44
- data/lib/support/phpmyadmin/phpmyadmin/LICENSE +0 -340
- data/lib/support/phpmyadmin/phpmyadmin/README +0 -52
- data/lib/support/phpmyadmin/phpmyadmin/RELEASE-DATE-4.4.8 +0 -1
- data/lib/support/phpmyadmin/phpmyadmin/browse_foreigners.php +0 -61
- data/lib/support/phpmyadmin/phpmyadmin/changelog.php +0 -153
- data/lib/support/phpmyadmin/phpmyadmin/chk_rel.php +0 -27
- data/lib/support/phpmyadmin/phpmyadmin/composer.json +0 -30
- data/lib/support/phpmyadmin/phpmyadmin/config.sample.inc.php +0 -152
- data/lib/support/phpmyadmin/phpmyadmin/db_central_columns.php +0 -134
- data/lib/support/phpmyadmin/phpmyadmin/db_create.php +0 -141
- data/lib/support/phpmyadmin/phpmyadmin/db_datadict.php +0 -208
- data/lib/support/phpmyadmin/phpmyadmin/db_designer.php +0 -173
- data/lib/support/phpmyadmin/phpmyadmin/db_events.php +0 -26
- data/lib/support/phpmyadmin/phpmyadmin/db_export.php +0 -94
- data/lib/support/phpmyadmin/phpmyadmin/db_import.php +0 -25
- data/lib/support/phpmyadmin/phpmyadmin/db_operations.php +0 -291
- data/lib/support/phpmyadmin/phpmyadmin/db_printview.php +0 -175
- data/lib/support/phpmyadmin/phpmyadmin/db_qbe.php +0 -131
- data/lib/support/phpmyadmin/phpmyadmin/db_routines.php +0 -27
- data/lib/support/phpmyadmin/phpmyadmin/db_search.php +0 -63
- data/lib/support/phpmyadmin/phpmyadmin/db_sql.php +0 -45
- data/lib/support/phpmyadmin/phpmyadmin/db_sql_autocomplete.php +0 -24
- data/lib/support/phpmyadmin/phpmyadmin/db_sql_format.php +0 -18
- data/lib/support/phpmyadmin/phpmyadmin/db_structure.php +0 -345
- data/lib/support/phpmyadmin/phpmyadmin/db_tracking.php +0 -350
- data/lib/support/phpmyadmin/phpmyadmin/db_triggers.php +0 -25
- data/lib/support/phpmyadmin/phpmyadmin/doc/Makefile +0 -197
- data/lib/support/phpmyadmin/phpmyadmin/doc/_ext/configext.py +0 -188
- data/lib/support/phpmyadmin/phpmyadmin/doc/conf.py +0 -304
- data/lib/support/phpmyadmin/phpmyadmin/doc/config.rst +0 -2794
- data/lib/support/phpmyadmin/phpmyadmin/doc/copyright.rst +0 -50
- data/lib/support/phpmyadmin/phpmyadmin/doc/credits.rst +0 -657
- data/lib/support/phpmyadmin/phpmyadmin/doc/developers.rst +0 -12
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/config.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/copyright.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/credits.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/developers.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/environment.pickle +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/faq.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/glossary.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/import_export.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/index.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/intro.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/other.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/privileges.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/require.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/setup.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/transformations.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/user.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/doctrees/vendors.doctree +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/faq.rst +0 -2112
- data/lib/support/phpmyadmin/phpmyadmin/doc/glossary.rst +0 -399
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/config.txt +0 -2794
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/copyright.txt +0 -50
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/credits.txt +0 -657
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/developers.txt +0 -12
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/faq.txt +0 -2112
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/glossary.txt +0 -399
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/import_export.txt +0 -27
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/index.txt +0 -32
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/intro.txt +0 -68
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/other.txt +0 -18
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/privileges.txt +0 -50
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/require.txt +0 -54
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/setup.txt +0 -543
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/transformations.txt +0 -138
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/user.txt +0 -10
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_sources/vendors.txt +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/ajax-loader.gif +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/basic.css +0 -540
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment-bright.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment-close.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/comment.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/default.css +0 -256
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/doctools.js +0 -247
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/down-pressed.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/down.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/file.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/jquery.js +0 -154
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/minus.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/plus.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/pygments.css +0 -62
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/searchtools.js +0 -560
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/sidebar.js +0 -151
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/underscore.js +0 -23
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/up-pressed.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/up.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/_static/websupport.js +0 -808
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/config.html +0 -5000
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/copyright.html +0 -157
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/credits.html +0 -714
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/developers.html +0 -118
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/faq.html +0 -1871
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/genindex.html +0 -3807
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/glossary.html +0 -618
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/import_export.html +0 -148
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/index.html +0 -210
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/intro.html +0 -182
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/objects.inv +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/other.html +0 -135
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/privileges.html +0 -169
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/require.html +0 -168
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/search.html +0 -100
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/searchindex.js +0 -1
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/setup.html +0 -909
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/transformations.html +0 -240
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/user.html +0 -139
- data/lib/support/phpmyadmin/phpmyadmin/doc/html/vendors.html +0 -149
- data/lib/support/phpmyadmin/phpmyadmin/doc/import_export.rst +0 -27
- data/lib/support/phpmyadmin/phpmyadmin/doc/index.rst +0 -32
- data/lib/support/phpmyadmin/phpmyadmin/doc/intro.rst +0 -68
- data/lib/support/phpmyadmin/phpmyadmin/doc/make.bat +0 -242
- data/lib/support/phpmyadmin/phpmyadmin/doc/other.rst +0 -18
- data/lib/support/phpmyadmin/phpmyadmin/doc/privileges.rst +0 -50
- data/lib/support/phpmyadmin/phpmyadmin/doc/require.rst +0 -54
- data/lib/support/phpmyadmin/phpmyadmin/doc/setup.rst +0 -543
- data/lib/support/phpmyadmin/phpmyadmin/doc/transformations.rst +0 -138
- data/lib/support/phpmyadmin/phpmyadmin/doc/user.rst +0 -10
- data/lib/support/phpmyadmin/phpmyadmin/doc/vendors.rst +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/error_report.php +0 -130
- data/lib/support/phpmyadmin/phpmyadmin/examples/config.manyhosts.inc.php +0 -51
- data/lib/support/phpmyadmin/phpmyadmin/examples/openid.php +0 -160
- data/lib/support/phpmyadmin/phpmyadmin/examples/signon-script.php +0 -37
- data/lib/support/phpmyadmin/phpmyadmin/examples/signon.php +0 -71
- data/lib/support/phpmyadmin/phpmyadmin/examples/swekey.sample.conf +0 -44
- data/lib/support/phpmyadmin/phpmyadmin/export.php +0 -480
- data/lib/support/phpmyadmin/phpmyadmin/favicon.ico +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/file_echo.php +0 -81
- data/lib/support/phpmyadmin/phpmyadmin/gis_data_editor.php +0 -429
- data/lib/support/phpmyadmin/phpmyadmin/import.php +0 -770
- data/lib/support/phpmyadmin/phpmyadmin/import_status.php +0 -118
- data/lib/support/phpmyadmin/phpmyadmin/index.php +0 -701
- data/lib/support/phpmyadmin/phpmyadmin/js/OpenStreetMap.js +0 -126
- data/lib/support/phpmyadmin/phpmyadmin/js/ajax.js +0 -1031
- data/lib/support/phpmyadmin/phpmyadmin/js/big_ints.js +0 -67
- data/lib/support/phpmyadmin/phpmyadmin/js/canvg/MIT-LICENSE.txt +0 -22
- data/lib/support/phpmyadmin/phpmyadmin/js/canvg/canvg.js +0 -2509
- data/lib/support/phpmyadmin/phpmyadmin/js/chart.js +0 -664
- data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/LICENSE +0 -19
- data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/hint/show-hint.js +0 -394
- data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/hint/sql-hint.js +0 -248
- data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/addon/runmode/runmode.js +0 -72
- data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/lib/codemirror.js +0 -8645
- data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/javascript/javascript.js +0 -692
- data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/sql/sql.js +0 -391
- data/lib/support/phpmyadmin/phpmyadmin/js/codemirror/mode/xml/xml.js +0 -384
- data/lib/support/phpmyadmin/phpmyadmin/js/common.js +0 -515
- data/lib/support/phpmyadmin/phpmyadmin/js/config.js +0 -798
- data/lib/support/phpmyadmin/phpmyadmin/js/console.js +0 -1032
- data/lib/support/phpmyadmin/phpmyadmin/js/cross_framing_protection.js +0 -10
- data/lib/support/phpmyadmin/phpmyadmin/js/db_central_columns.js +0 -200
- data/lib/support/phpmyadmin/phpmyadmin/js/db_operations.js +0 -157
- data/lib/support/phpmyadmin/phpmyadmin/js/db_qbe.js +0 -64
- data/lib/support/phpmyadmin/phpmyadmin/js/db_search.js +0 -239
- data/lib/support/phpmyadmin/phpmyadmin/js/db_structure.js +0 -391
- data/lib/support/phpmyadmin/phpmyadmin/js/db_tracking.js +0 -85
- data/lib/support/phpmyadmin/phpmyadmin/js/doclinks.js +0 -365
- data/lib/support/phpmyadmin/phpmyadmin/js/error_report.js +0 -340
- data/lib/support/phpmyadmin/phpmyadmin/js/export.js +0 -401
- data/lib/support/phpmyadmin/phpmyadmin/js/functions.js +0 -4579
- data/lib/support/phpmyadmin/phpmyadmin/js/get_image.js.php +0 -148
- data/lib/support/phpmyadmin/phpmyadmin/js/get_scripts.js.php +0 -62
- data/lib/support/phpmyadmin/phpmyadmin/js/gis_data_editor.js +0 -396
- data/lib/support/phpmyadmin/phpmyadmin/js/import.js +0 -167
- data/lib/support/phpmyadmin/phpmyadmin/js/indexes.js +0 -697
- data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/excanvas.js +0 -1438
- data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/jquery.jqplot.js +0 -11411
- data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.barRenderer.js +0 -801
- data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.byteFormatter.js +0 -46
- data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.canvasAxisLabelRenderer.js +0 -203
- data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.canvasTextRenderer.js +0 -449
- data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.categoryAxisRenderer.js +0 -679
- data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.cursor.js +0 -1108
- data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.dateAxisRenderer.js +0 -741
- data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.highlighter.js +0 -465
- data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.pieRenderer.js +0 -904
- data/lib/support/phpmyadmin/phpmyadmin/js/jqplot/plugins/jqplot.pointLabels.js +0 -377
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/MIT-LICENSE.txt +0 -21
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-1.11.1.min.js +0 -4
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-ui-1.11.2.min.js +0 -13
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery-ui-timepicker-addon.js +0 -2223
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.ba-hashchange-1.3.js +0 -390
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.cookie.js +0 -91
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.debounce-1.0.5.js +0 -71
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.event.drag-2.2.js +0 -402
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.fullscreen.js +0 -60
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.mousewheel.js +0 -221
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.sortableTable.js +0 -272
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.svg.js +0 -1352
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.tablesorter.js +0 -1033
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/jquery.uitablefilter.js +0 -117
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/README +0 -9
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/jsonp.js +0 -89
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/load.js +0 -75
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/parseJSON.js +0 -51
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/parseXML.js +0 -31
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/script.js +0 -93
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/var/nonce.js +0 -5
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/var/rquery.js +0 -3
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax/xhr.js +0 -196
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/ajax.js +0 -807
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/attr.js +0 -271
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/classes.js +0 -157
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/prop.js +0 -134
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/support.js +0 -62
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes/val.js +0 -178
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/attributes.js +0 -11
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/callbacks.js +0 -205
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/access.js +0 -60
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/init.js +0 -132
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/parseHTML.js +0 -39
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/ready.js +0 -152
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core/var/rsingleTag.js +0 -4
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/core.js +0 -534
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/addGetHookIf.js +0 -32
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/curCSS.js +0 -117
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/defaultDisplay.js +0 -69
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/hiddenVisibleSelectors.js +0 -20
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/support.js +0 -149
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/swap.js +0 -28
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/cssExpand.js +0 -3
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/isHidden.js +0 -13
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/rmargin.js +0 -3
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css/var/rnumnonpx.js +0 -5
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/css.js +0 -504
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data/accepts.js +0 -21
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data/support.js +0 -25
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/data.js +0 -335
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/deferred.js +0 -150
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/deprecated.js +0 -13
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/dimensions.js +0 -50
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/Tween.js +0 -114
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/animatedSelector.js +0 -13
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects/support.js +0 -55
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/effects.js +0 -656
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event/alias.js +0 -39
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event/support.js +0 -26
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/event.js +0 -1037
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/exports/amd.js +0 -24
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/exports/global.js +0 -32
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/intro.js +0 -44
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/jquery.js +0 -37
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/_evalUrl.js +0 -18
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/support.js +0 -76
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation/var/rcheckableType.js +0 -3
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/manipulation.js +0 -744
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/offset.js +0 -211
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/outro.js +0 -1
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/queue/delay.js +0 -22
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/queue.js +0 -142
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/selector-sizzle.js +0 -14
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/selector.js +0 -1
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/serialize.js +0 -110
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.js +0 -2044
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.min.js +0 -3
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/dist/sizzle.min.map +0 -1
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/empty.js +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/mixed_sort.html +0 -22
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/data/testinit.js +0 -136
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/index.html +0 -242
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/jquery.js +0 -9597
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/extending.js +0 -95
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/selector.js +0 -1149
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/sizzle/test/unit/utilities.js +0 -169
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/support.js +0 -58
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing/findFilter.js +0 -100
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing/var/rneedsContext.js +0 -6
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/traversing.js +0 -200
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/class2type.js +0 -4
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/concat.js +0 -5
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/deletedIds.js +0 -3
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/hasOwn.js +0 -5
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/indexOf.js +0 -5
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/pnum.js +0 -3
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/push.js +0 -5
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/rnotwhite.js +0 -3
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/slice.js +0 -5
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/strundefined.js +0 -3
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/support.js +0 -4
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/var/toString.js +0 -5
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery/wrap.js +0 -75
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/accordion.js +0 -584
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/autocomplete.js +0 -628
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/button.js +0 -411
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/core.js +0 -304
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/datepicker.js +0 -2080
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/dialog.js +0 -875
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/draggable.js +0 -1128
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/droppable.js +0 -413
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-blind.js +0 -90
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-bounce.js +0 -123
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-clip.js +0 -77
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-drop.js +0 -75
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-explode.js +0 -107
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-fade.js +0 -40
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-fold.js +0 -86
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-highlight.js +0 -60
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-puff.js +0 -60
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-pulsate.js +0 -73
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-scale.js +0 -89
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-shake.js +0 -84
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-size.js +0 -233
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-slide.js +0 -74
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect-transfer.js +0 -57
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/effect.js +0 -1301
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/menu.js +0 -646
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/mouse.js +0 -199
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/position.js +0 -517
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/progressbar.js +0 -159
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/resizable.js +0 -1179
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/selectable.js +0 -287
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/selectmenu.js +0 -616
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/slider.js +0 -699
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/sortable.js +0 -1304
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/spinner.js +0 -514
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/tabs.js +0 -880
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/tooltip.js +0 -461
- data/lib/support/phpmyadmin/phpmyadmin/js/jquery/src/jquery-ui/widget.js +0 -557
- data/lib/support/phpmyadmin/phpmyadmin/js/keyhandler.js +0 -145
- data/lib/support/phpmyadmin/phpmyadmin/js/line_counts.php +0 -523
- data/lib/support/phpmyadmin/phpmyadmin/js/makegrid.js +0 -1973
- data/lib/support/phpmyadmin/phpmyadmin/js/menu-resizer.js +0 -182
- data/lib/support/phpmyadmin/phpmyadmin/js/messages.php +0 -718
- data/lib/support/phpmyadmin/phpmyadmin/js/multi_column_sort.js +0 -81
- data/lib/support/phpmyadmin/phpmyadmin/js/navigation.js +0 -1505
- data/lib/support/phpmyadmin/phpmyadmin/js/normalization.js +0 -707
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/OpenLayers.js +0 -2681
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/blank.gif +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/cloud-popup-relative.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/drag-rectangle-off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/drag-rectangle-on.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/east-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/layer-switcher-maximize.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/layer-switcher-minimize.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-blue.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-gold.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker-green.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/marker.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/measuring-stick-off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/measuring-stick-on.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/north-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/panning-hand-off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/panning-hand-on.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/slider.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/south-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/west-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-minus-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-plus-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoom-world-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/img/zoombar.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/README +0 -12
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/errorIcon.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.css +0 -209
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.html +0 -23
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebug.js +0 -674
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/firebugx.js +0 -9
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/infoIcon.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/license.txt +0 -30
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/readme.txt +0 -13
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Firebug/warningIcon.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Gears/gears_init.js +0 -88
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Ajax.js +0 -678
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Bounds.js +0 -681
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Class.js +0 -116
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Element.js +0 -251
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/LonLat.js +0 -190
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Pixel.js +0 -125
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Size.js +0 -85
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/BaseTypes.js +0 -682
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Console.js +0 -246
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ArgParser.js +0 -166
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Attribution.js +0 -97
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Button.js +0 -44
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DragFeature.js +0 -303
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DragPan.js +0 -94
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/DrawFeature.js +0 -126
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/EditingToolbar.js +0 -63
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/GetFeature.js +0 -595
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Graticule.js +0 -373
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/KeyboardDefaults.js +0 -127
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/LayerSwitcher.js +0 -620
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Measure.js +0 -321
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ModifyFeature.js +0 -777
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MouseDefaults.js +0 -368
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MousePosition.js +0 -213
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/MouseToolbar.js +0 -406
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/NavToolbar.js +0 -55
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Navigation.js +0 -303
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/NavigationHistory.js +0 -423
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/OverviewMap.js +0 -720
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Pan.js +0 -86
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanPanel.js +0 -63
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanZoom.js +0 -246
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/PanZoomBar.js +0 -396
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Panel.js +0 -371
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Permalink.js +0 -220
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/SLDSelect.js +0 -570
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Scale.js +0 -99
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ScaleLine.js +0 -223
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/SelectFeature.js +0 -613
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Snapping.js +0 -547
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/Split.js +0 -498
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/TransformFeature.js +0 -579
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/WMSGetFeatureInfo.js +0 -524
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/WMTSGetFeatureInfo.js +0 -442
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomBox.js +0 -95
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomIn.js +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomOut.js +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomPanel.js +0 -54
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control/ZoomToMaxExtent.js +0 -40
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Control.js +0 -368
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Events.js +0 -855
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature/Vector.js +0 -454
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature/WFS.js +0 -80
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Feature.js +0 -227
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Comparison.js +0 -258
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/FeatureId.js +0 -81
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Logical.js +0 -119
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter/Spatial.js +0 -128
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Filter.js +0 -68
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML/Features.js +0 -49
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML.js +0 -1028
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Atom.js +0 -727
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js +0 -243
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain.js +0 -34
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js +0 -440
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords.js +0 -34
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Context.js +0 -334
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1.js +0 -426
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_0_0.js +0 -169
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_1_0.js +0 -182
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Filter.js +0 -115
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/Base.js +0 -578
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/v2.js +0 -193
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML/v3.js +0 -462
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GML.js +0 -924
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GPX.js +0 -184
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GeoJSON.js +0 -716
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/GeoRSS.js +0 -420
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/JSON.js +0 -389
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/KML.js +0 -1429
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OSM.js +0 -457
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1.js +0 -256
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_0_0.js +0 -50
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_1_0.js +0 -64
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext/v0_3_1.js +0 -589
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext.js +0 -81
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1.js +0 -1100
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1_0_0.js +0 -51
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SLD.js +0 -131
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js +0 -158
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities.js +0 -83
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js +0 -193
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetObservation.js +0 -262
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/Text.js +0 -152
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFS.js +0 -220
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1.js +0 -126
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js +0 -157
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js +0 -36
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities.js +0 -80
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFSDescribeFeatureType.js +0 -198
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1.js +0 -368
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_0_0.js +0 -150
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_1_0.js +0 -161
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WFST.js +0 -34
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WKT.js +0 -358
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1.js +0 -835
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_0_0.js +0 -76
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_1_0.js +0 -127
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMC.js +0 -152
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1.js +0 -418
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1.js +0 -118
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js +0 -62
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js +0 -58
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3.js +0 -128
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js +0 -30
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities.js +0 -82
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js +0 -100
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer.js +0 -91
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMSGetFeatureInfo.js +0 -284
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js +0 -221
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js +0 -162
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/XML.js +0 -881
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Format.js +0 -123
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Collection.js +0 -546
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Curve.js +0 -93
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/LineString.js +0 -552
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/LinearRing.js +0 -417
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiLineString.js +0 -262
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPoint.js +0 -70
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPolygon.js +0 -46
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Point.js +0 -283
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Polygon.js +0 -259
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Rectangle.js +0 -99
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry/Surface.js +0 -17
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Geometry.js +0 -456
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Box.js +0 -221
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Click.js +0 -325
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Drag.js +0 -420
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Feature.js +0 -388
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Hover.js +0 -183
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Keyboard.js +0 -109
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/MouseWheel.js +0 -283
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Path.js +0 -302
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Point.js +0 -373
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/Polygon.js +0 -144
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler/RegularPolygon.js +0 -421
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Handler.js +0 -287
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Icon.js +0 -227
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ar.js +0 -38
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/be-tarask.js +0 -80
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/bg.js +0 -29
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/br.js +0 -79
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ca.js +0 -128
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/cs-CZ.js +0 -69
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/da-DK.js +0 -119
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/de.js +0 -81
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/el.js +0 -19
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/en-CA.js +0 -21
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/en.js +0 -128
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/es.js +0 -129
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fi.js +0 -34
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fr.js +0 -80
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/fur.js +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/gl.js +0 -79
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/gsw.js +0 -79
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hr.js +0 -61
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hsb.js +0 -79
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/hu.js +0 -80
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ia.js +0 -79
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/id.js +0 -80
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/io.js +0 -19
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/is.js +0 -37
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/it.js +0 -116
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ja.js +0 -80
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/km.js +0 -25
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ksh.js +0 -79
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nb.js +0 -118
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nds.js +0 -61
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nl.js +0 -79
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/nn.js +0 -27
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/oc.js +0 -79
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/pt-BR.js +0 -80
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/pt.js +0 -81
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/ru.js +0 -82
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/sk.js +0 -71
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/sv-SE.js +0 -71
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/te.js +0 -27
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/vi.js +0 -79
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/zh-CN.js +0 -116
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang/zh-TW.js +0 -117
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Lang.js +0 -133
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/ArcGIS93Rest.js +0 -253
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/ArcIMS.js +0 -466
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Boxes.js +0 -76
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/EventPane.js +0 -418
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/FixedZoomLevels.js +0 -315
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/GML.js +0 -174
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/GeoRSS.js +0 -266
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Google/v3.js +0 -419
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Google.js +0 -795
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Grid.js +0 -755
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/HTTPRequest.js +0 -230
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Image.js +0 -254
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/KaMap.js +0 -206
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/KaMapCache.js +0 -148
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapGuide.js +0 -489
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer/Untiled.js +0 -72
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer.js +0 -199
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Markers.js +0 -187
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/MultiMap.js +0 -284
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/PointTrack.js +0 -103
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/SphericalMercator.js +0 -196
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/TMS.js +0 -167
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Text.js +0 -264
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/TileCache.js +0 -165
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Vector/RootContainer.js +0 -157
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Vector.js +0 -947
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/VirtualEarth.js +0 -368
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WFS.js +0 -609
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Post.js +0 -99
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Untiled.js +0 -72
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMS.js +0 -268
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WMTS.js +0 -476
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/WorldWind.js +0 -120
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/XYZ.js +0 -196
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Yahoo.js +0 -430
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/Zoomify.js +0 -308
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer.js +0 -1304
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Map.js +0 -2417
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Marker/Box.js +0 -120
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Marker.js +0 -242
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/Anchored.js +0 -198
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/AnchoredBubble.js +0 -190
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/Framed.js +0 -343
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup/FramedCloud.js +0 -231
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Popup.js +0 -1052
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Projection.js +0 -178
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/HTTP.js +0 -655
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS/v1_0_0.js +0 -132
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS.js +0 -33
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL/Gears.js +0 -561
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL.js +0 -88
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1.js +0 -342
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_0_0.js +0 -44
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_1_0.js +0 -48
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS.js +0 -71
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Protocol.js +0 -272
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/Canvas.js +0 -494
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/Elements.js +0 -1010
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/SVG.js +0 -995
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer/VML.js +0 -999
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Renderer.js +0 -362
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Request/XMLHttpRequest.js +0 -384
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Request.js +0 -358
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Rule.js +0 -240
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/SingleFile.js +0 -10
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/BBOX.js +0 -278
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Cluster.js +0 -280
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Filter.js +0 -164
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Fixed.js +0 -138
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Paging.js +0 -236
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Refresh.js +0 -140
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy/Save.js +0 -229
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Strategy.js +0 -117
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Style.js +0 -443
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Style2.js +0 -111
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/StyleMap.js +0 -160
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Line.js +0 -69
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Point.js +0 -141
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Polygon.js +0 -81
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Raster.js +0 -34
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Text.js +0 -65
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Symbolizer.js +0 -51
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/Image/IFrame.js +0 -262
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/Image.js +0 -578
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile/WFS.js +0 -192
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tile.js +0 -281
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Tween.js +0 -318
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers/Util.js +0 -1797
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/OpenLayers.js +0 -348
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Rico/Color.js +0 -244
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/src/openlayers/lib/Rico/Corner.js +0 -330
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/framedCloud.css +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/google.css +0 -10
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/ie6-style.css +0 -7
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/add_point_off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/add_point_on.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/blank.gif +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/close.gif +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/drag-rectangle-off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/drag-rectangle-on.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_line_off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_line_on.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_point_off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_point_on.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_polygon_off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/draw_polygon_on.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/editing_tool_bar.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/move_feature_off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/move_feature_on.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/navigation_history.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/overview_replacement.gif +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan-panel-NOALPHA.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan-panel.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan_off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/pan_on.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/panning-hand-off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/panning-hand-on.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/remove_point_off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/remove_point_on.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/ruler.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/save_features_off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/save_features_on.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_next_off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_next_on.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_previous_off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/view_previous_on.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/zoom-panel-NOALPHA.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/img/zoom-panel.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/js/openlayers/theme/default/style.css +0 -397
- data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_db.js +0 -136
- data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_objects.js +0 -17
- data/lib/support/phpmyadmin/phpmyadmin/js/pmd/designer_page.js +0 -164
- data/lib/support/phpmyadmin/phpmyadmin/js/pmd/history.js +0 -812
- data/lib/support/phpmyadmin/phpmyadmin/js/pmd/iecanvas.js +0 -147
- data/lib/support/phpmyadmin/phpmyadmin/js/pmd/init.js +0 -40
- data/lib/support/phpmyadmin/phpmyadmin/js/pmd/move.js +0 -1993
- data/lib/support/phpmyadmin/phpmyadmin/js/replication.js +0 -72
- data/lib/support/phpmyadmin/phpmyadmin/js/rte.js +0 -944
- data/lib/support/phpmyadmin/phpmyadmin/js/server_databases.js +0 -137
- data/lib/support/phpmyadmin/phpmyadmin/js/server_plugins.js +0 -30
- data/lib/support/phpmyadmin/phpmyadmin/js/server_privileges.js +0 -451
- data/lib/support/phpmyadmin/phpmyadmin/js/server_status_advisor.js +0 -93
- data/lib/support/phpmyadmin/phpmyadmin/js/server_status_monitor.js +0 -2172
- data/lib/support/phpmyadmin/phpmyadmin/js/server_status_processes.js +0 -189
- data/lib/support/phpmyadmin/phpmyadmin/js/server_status_queries.js +0 -34
- data/lib/support/phpmyadmin/phpmyadmin/js/server_status_sorter.js +0 -89
- data/lib/support/phpmyadmin/phpmyadmin/js/server_status_variables.js +0 -103
- data/lib/support/phpmyadmin/phpmyadmin/js/server_user_groups.js +0 -42
- data/lib/support/phpmyadmin/phpmyadmin/js/server_variables.js +0 -147
- data/lib/support/phpmyadmin/phpmyadmin/js/sprintf.js +0 -211
- data/lib/support/phpmyadmin/phpmyadmin/js/sql.js +0 -842
- data/lib/support/phpmyadmin/phpmyadmin/js/tbl_change.js +0 -754
- data/lib/support/phpmyadmin/phpmyadmin/js/tbl_chart.js +0 -437
- data/lib/support/phpmyadmin/phpmyadmin/js/tbl_find_replace.js +0 -47
- data/lib/support/phpmyadmin/phpmyadmin/js/tbl_gis_visualization.js +0 -353
- data/lib/support/phpmyadmin/phpmyadmin/js/tbl_operations.js +0 -240
- data/lib/support/phpmyadmin/phpmyadmin/js/tbl_relation.js +0 -233
- data/lib/support/phpmyadmin/phpmyadmin/js/tbl_select.js +0 -395
- data/lib/support/phpmyadmin/phpmyadmin/js/tbl_structure.js +0 -397
- data/lib/support/phpmyadmin/phpmyadmin/js/tbl_tracking.js +0 -96
- data/lib/support/phpmyadmin/phpmyadmin/js/tbl_zoom_plot_jqplot.js +0 -638
- data/lib/support/phpmyadmin/phpmyadmin/js/tracekit/tracekit.js +0 -1114
- data/lib/support/phpmyadmin/phpmyadmin/js/transformations/image_upload.js +0 -28
- data/lib/support/phpmyadmin/phpmyadmin/js/transformations/json.js +0 -18
- data/lib/support/phpmyadmin/phpmyadmin/js/transformations/json_editor.js +0 -17
- data/lib/support/phpmyadmin/phpmyadmin/js/transformations/sql_editor.js +0 -30
- data/lib/support/phpmyadmin/phpmyadmin/js/transformations/xml.js +0 -18
- data/lib/support/phpmyadmin/phpmyadmin/js/transformations/xml_editor.js +0 -16
- data/lib/support/phpmyadmin/phpmyadmin/js/whitelist.php +0 -38
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Advisor.class.php +0 -526
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Config.class.php +0 -1926
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Console.class.php +0 -320
- data/lib/support/phpmyadmin/phpmyadmin/libraries/DBQbe.class.php +0 -1593
- data/lib/support/phpmyadmin/phpmyadmin/libraries/DatabaseInterface.class.php +0 -2864
- data/lib/support/phpmyadmin/phpmyadmin/libraries/DbSearch.class.php +0 -502
- data/lib/support/phpmyadmin/phpmyadmin/libraries/DisplayResults.class.php +0 -5685
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Error.class.php +0 -470
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Error_Handler.class.php +0 -561
- data/lib/support/phpmyadmin/phpmyadmin/libraries/File.class.php +0 -732
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Font.class.php +0 -145
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Footer.class.php +0 -351
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Header.class.php +0 -752
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Index.class.php +0 -1011
- data/lib/support/phpmyadmin/phpmyadmin/libraries/List.class.php +0 -122
- data/lib/support/phpmyadmin/phpmyadmin/libraries/List_Database.class.php +0 -193
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Menu.class.php +0 -631
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Message.class.php +0 -759
- data/lib/support/phpmyadmin/phpmyadmin/libraries/OutputBuffering.class.php +0 -139
- data/lib/support/phpmyadmin/phpmyadmin/libraries/PDF.class.php +0 -149
- data/lib/support/phpmyadmin/phpmyadmin/libraries/PMA.php +0 -109
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Partition.class.php +0 -77
- data/lib/support/phpmyadmin/phpmyadmin/libraries/RecentFavoriteTable.class.php +0 -393
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Response.class.php +0 -397
- data/lib/support/phpmyadmin/phpmyadmin/libraries/SavedSearches.class.php +0 -447
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Scripts.class.php +0 -284
- data/lib/support/phpmyadmin/phpmyadmin/libraries/ServerStatusData.class.php +0 -448
- data/lib/support/phpmyadmin/phpmyadmin/libraries/StorageEngine.class.php +0 -451
- data/lib/support/phpmyadmin/phpmyadmin/libraries/String.class.php +0 -188
- data/lib/support/phpmyadmin/phpmyadmin/libraries/StringAbstractType.class.php +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/libraries/StringByte.int.php +0 -173
- data/lib/support/phpmyadmin/phpmyadmin/libraries/StringCType.class.php +0 -110
- data/lib/support/phpmyadmin/phpmyadmin/libraries/StringNativeType.class.php +0 -138
- data/lib/support/phpmyadmin/phpmyadmin/libraries/StringType.int.php +0 -84
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Table.class.php +0 -1806
- data/lib/support/phpmyadmin/phpmyadmin/libraries/TableSearch.class.php +0 -1587
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Theme.class.php +0 -485
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Theme_Manager.class.php +0 -460
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Tracker.class.php +0 -1030
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Types.class.php +0 -1071
- data/lib/support/phpmyadmin/phpmyadmin/libraries/Util.class.php +0 -4602
- data/lib/support/phpmyadmin/phpmyadmin/libraries/advisory_rules.txt +0 -470
- data/lib/support/phpmyadmin/phpmyadmin/libraries/bfShapeFiles/ShapeFile.lib.php +0 -682
- data/lib/support/phpmyadmin/phpmyadmin/libraries/bookmark.lib.php +0 -273
- data/lib/support/phpmyadmin/phpmyadmin/libraries/browse_foreigners.lib.php +0 -316
- data/lib/support/phpmyadmin/phpmyadmin/libraries/build_html_for_db.lib.php +0 -184
- data/lib/support/phpmyadmin/phpmyadmin/libraries/central_columns.lib.php +0 -1003
- data/lib/support/phpmyadmin/phpmyadmin/libraries/charset_conversion.lib.php +0 -120
- data/lib/support/phpmyadmin/phpmyadmin/libraries/check_user_privileges.lib.php +0 -195
- data/lib/support/phpmyadmin/phpmyadmin/libraries/cleanup.lib.php +0 -50
- data/lib/support/phpmyadmin/phpmyadmin/libraries/common.inc.php +0 -1203
- data/lib/support/phpmyadmin/phpmyadmin/libraries/config/ConfigFile.class.php +0 -543
- data/lib/support/phpmyadmin/phpmyadmin/libraries/config/Form.class.php +0 -231
- data/lib/support/phpmyadmin/phpmyadmin/libraries/config/FormDisplay.class.php +0 -837
- data/lib/support/phpmyadmin/phpmyadmin/libraries/config/FormDisplay.tpl.php +0 -491
- data/lib/support/phpmyadmin/phpmyadmin/libraries/config/ServerConfigChecks.class.php +0 -577
- data/lib/support/phpmyadmin/phpmyadmin/libraries/config/Validator.class.php +0 -624
- data/lib/support/phpmyadmin/phpmyadmin/libraries/config/config_functions.lib.php +0 -54
- data/lib/support/phpmyadmin/phpmyadmin/libraries/config/messages.inc.php +0 -818
- data/lib/support/phpmyadmin/phpmyadmin/libraries/config/setup.forms.php +0 -384
- data/lib/support/phpmyadmin/phpmyadmin/libraries/config/user_preferences.forms.php +0 -281
- data/lib/support/phpmyadmin/phpmyadmin/libraries/config.default.php +0 -3011
- data/lib/support/phpmyadmin/phpmyadmin/libraries/config.values.php +0 -270
- data/lib/support/phpmyadmin/phpmyadmin/libraries/core.lib.php +0 -1013
- data/lib/support/phpmyadmin/phpmyadmin/libraries/create_addfield.lib.php +0 -376
- data/lib/support/phpmyadmin/phpmyadmin/libraries/data_dictionary_relations.lib.php +0 -167
- data/lib/support/phpmyadmin/phpmyadmin/libraries/database_interface.inc.php +0 -74
- data/lib/support/phpmyadmin/phpmyadmin/libraries/db_common.inc.php +0 -105
- data/lib/support/phpmyadmin/phpmyadmin/libraries/db_designer.lib.php +0 -1397
- data/lib/support/phpmyadmin/phpmyadmin/libraries/db_info.inc.php +0 -248
- data/lib/support/phpmyadmin/phpmyadmin/libraries/db_printview.lib.php +0 -30
- data/lib/support/phpmyadmin/phpmyadmin/libraries/db_table_exists.lib.php +0 -106
- data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIDrizzle.class.php +0 -583
- data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIDummy.class.php +0 -906
- data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIExtension.int.php +0 -262
- data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIMysql.class.php +0 -469
- data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/DBIMysqli.class.php +0 -620
- data/lib/support/phpmyadmin/phpmyadmin/libraries/dbi/drizzle-wrappers.lib.php +0 -427
- data/lib/support/phpmyadmin/phpmyadmin/libraries/display_change_password.lib.php +0 -113
- data/lib/support/phpmyadmin/phpmyadmin/libraries/display_create_database.lib.php +0 -62
- data/lib/support/phpmyadmin/phpmyadmin/libraries/display_create_table.lib.php +0 -82
- data/lib/support/phpmyadmin/phpmyadmin/libraries/display_export.inc.php +0 -72
- data/lib/support/phpmyadmin/phpmyadmin/libraries/display_export.lib.php +0 -872
- data/lib/support/phpmyadmin/phpmyadmin/libraries/display_git_revision.lib.php +0 -83
- data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import.inc.php +0 -64
- data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import.lib.php +0 -602
- data/lib/support/phpmyadmin/phpmyadmin/libraries/display_import_ajax.lib.php +0 -129
- data/lib/support/phpmyadmin/phpmyadmin/libraries/display_select_lang.lib.php +0 -98
- data/lib/support/phpmyadmin/phpmyadmin/libraries/display_structure.inc.php +0 -272
- data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/bdb.lib.php +0 -87
- data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/berkeleydb.lib.php +0 -26
- data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/binlog.lib.php +0 -31
- data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/innobase.lib.php +0 -25
- data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/innodb.lib.php +0 -392
- data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/memory.lib.php +0 -34
- data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/merge.lib.php +0 -21
- data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/mrg_myisam.lib.php +0 -36
- data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/myisam.lib.php +0 -69
- data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/ndbcluster.lib.php +0 -55
- data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/pbxt.lib.php +0 -149
- data/lib/support/phpmyadmin/phpmyadmin/libraries/engines/performance_schema.lib.php +0 -31
- data/lib/support/phpmyadmin/phpmyadmin/libraries/error.inc.php +0 -58
- data/lib/support/phpmyadmin/phpmyadmin/libraries/error_report.lib.php +0 -432
- data/lib/support/phpmyadmin/phpmyadmin/libraries/export.lib.php +0 -858
- data/lib/support/phpmyadmin/phpmyadmin/libraries/file_listing.lib.php +0 -99
- data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Factory.class.php +0 -66
- data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Geometry.class.php +0 -376
- data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Geometrycollection.class.php +0 -364
- data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Linestring.class.php +0 -323
- data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multilinestring.class.php +0 -394
- data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multipoint.class.php +0 -367
- data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Multipolygon.class.php +0 -564
- data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Point.class.php +0 -314
- data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Polygon.class.php +0 -581
- data/lib/support/phpmyadmin/phpmyadmin/libraries/gis/GIS_Visualization.class.php +0 -504
- data/lib/support/phpmyadmin/phpmyadmin/libraries/iconv_wrapper.lib.php +0 -128
- data/lib/support/phpmyadmin/phpmyadmin/libraries/import.lib.php +0 -1954
- data/lib/support/phpmyadmin/phpmyadmin/libraries/index.lib.php +0 -48
- data/lib/support/phpmyadmin/phpmyadmin/libraries/information_schema_relations.lib.php +0 -327
- data/lib/support/phpmyadmin/phpmyadmin/libraries/insert_edit.lib.php +0 -2931
- data/lib/support/phpmyadmin/phpmyadmin/libraries/ip_allow_deny.lib.php +0 -341
- data/lib/support/phpmyadmin/phpmyadmin/libraries/js_escape.lib.php +0 -135
- data/lib/support/phpmyadmin/phpmyadmin/libraries/kanji-encoding.lib.php +0 -168
- data/lib/support/phpmyadmin/phpmyadmin/libraries/language_stats.inc.php +0 -87
- data/lib/support/phpmyadmin/phpmyadmin/libraries/logging.lib.php +0 -30
- data/lib/support/phpmyadmin/phpmyadmin/libraries/mime.lib.php +0 -34
- data/lib/support/phpmyadmin/phpmyadmin/libraries/mult_submits.inc.php +0 -307
- data/lib/support/phpmyadmin/phpmyadmin/libraries/mult_submits.lib.php +0 -647
- data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_charsets.inc.php +0 -129
- data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_charsets.lib.php +0 -379
- data/lib/support/phpmyadmin/phpmyadmin/libraries/mysql_relations.lib.php +0 -169
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Navigation.class.php +0 -228
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NavigationHeader.class.php +0 -223
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NavigationTree.class.php +0 -1452
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/NodeFactory.class.php +0 -97
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node.class.php +0 -813
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Column.class.php +0 -47
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Column_Container.class.php +0 -57
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Database.class.php +0 -663
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_DatabaseChild.class.php +0 -52
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Database_Container.class.php +0 -51
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Event.class.php +0 -57
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Event_Container.class.php +0 -54
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Function.class.php +0 -57
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Function_Container.class.php +0 -53
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Index.class.php +0 -45
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Index_Container.class.php +0 -57
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Procedure.class.php +0 -57
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Procedure_Container.class.php +0 -55
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Table.class.php +0 -294
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Table_Container.class.php +0 -60
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Trigger.class.php +0 -45
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_Trigger_Container.class.php +0 -57
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_View.class.php +0 -57
- data/lib/support/phpmyadmin/phpmyadmin/libraries/navigation/Nodes/Node_View_Container.class.php +0 -60
- data/lib/support/phpmyadmin/phpmyadmin/libraries/normalization.lib.php +0 -945
- data/lib/support/phpmyadmin/phpmyadmin/libraries/opendocument.lib.php +0 -171
- data/lib/support/phpmyadmin/phpmyadmin/libraries/operations.lib.php +0 -1649
- data/lib/support/phpmyadmin/phpmyadmin/libraries/parse_analyze.inc.php +0 -144
- data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/gettext.inc +0 -536
- data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/gettext.php +0 -432
- data/lib/support/phpmyadmin/phpmyadmin/libraries/php-gettext/streams.php +0 -167
- data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/AES.php +0 -184
- data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Base.php +0 -1984
- data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Random.php +0 -251
- data/lib/support/phpmyadmin/phpmyadmin/libraries/phpseclib/Crypt/Rijndael.php +0 -1370
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugin_interface.lib.php +0 -557
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/AuthenticationPlugin.class.php +0 -100
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/ExportPlugin.class.php +0 -326
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/IOTransformationsPlugin.class.php +0 -91
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/ImportPlugin.class.php +0 -77
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/SchemaPlugin.class.php +0 -76
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/TransformationsInterface.int.php +0 -49
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/TransformationsPlugin.class.php +0 -69
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/UploadInterface.int.php +0 -36
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationConfig.class.php +0 -183
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationCookie.class.php +0 -871
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationHttp.class.php +0 -289
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/AuthenticationSignon.class.php +0 -267
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/recaptcha/LICENSE +0 -29
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/recaptcha/recaptchalib.php +0 -140
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/authentication.inc.php +0 -176
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/musbe-ca.crt +0 -25
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/swekey.auth.lib.php +0 -318
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/auth/swekey/swekey.php +0 -536
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportCodegen.class.php +0 -434
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportCsv.class.php +0 -323
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportExcel.class.php +0 -92
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportHtmlword.class.php +0 -644
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportJson.class.php +0 -215
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportLatex.class.php +0 -656
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportMediawiki.class.php +0 -379
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportOds.class.php +0 -334
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportOdt.class.php +0 -765
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportPdf.class.php +0 -276
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportPhparray.class.php +0 -233
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportSql.class.php +0 -2601
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportTexytext.class.php +0 -575
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportXml.class.php +0 -584
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/ExportYaml.class.php +0 -212
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/PMA_ExportPdf.class.php +0 -434
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/README +0 -267
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/export/TableProperty.class.php +0 -286
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/AbstractImportCsv.class.php +0 -90
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportCsv.class.php +0 -687
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportLdi.class.php +0 -161
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportMediawiki.class.php +0 -598
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportOds.class.php +0 -414
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportShp.class.php +0 -327
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportSql.class.php +0 -620
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ImportXml.class.php +0 -366
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/README +0 -159
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ShapeFile.class.php +0 -102
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/ShapeRecord.class.php +0 -161
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadApc.class.php +0 -84
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadNoplugin.class.php +0 -64
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadProgress.class.php +0 -94
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/import/upload/UploadSession.class.php +0 -96
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/Export_Relation_Schema.class.php +0 -299
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/RelationStats.class.php +0 -108
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaDia.class.php +0 -117
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaEps.class.php +0 -102
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaPdf.class.php +0 -132
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/SchemaSvg.class.php +0 -90
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/TableStats.class.php +0 -179
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/Dia_Relation_Schema.class.php +0 -378
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/RelationStatsDia.class.php +0 -216
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/dia/TableStatsDia.class.php +0 -227
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/Eps_Relation_Schema.class.php +0 -508
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/RelationStatsEps.class.php +0 -135
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/eps/TableStatsEps.class.php +0 -157
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/Pdf_Relation_Schema.class.php +0 -1070
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/RelationStatsPdf.class.php +0 -135
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/pdf/TableStatsPdf.class.php +0 -222
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/RelationStatsSvg.class.php +0 -119
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/Svg_Relation_Schema.class.php +0 -501
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/schema/svg/TableStatsSvg.class.php +0 -180
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/README +0 -4
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/TEMPLATE +0 -46
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/TEMPLATE_ABSTRACT +0 -73
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Link.class.php +0 -44
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Longtoipv4.class.php +0 -44
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Preappend.class.php +0 -45
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/Text_Plain_Substring.class.php +0 -44
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/Bool2TextTransformationsPlugin.class.php +0 -69
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/CodeMirrorEditorTransformationPlugin.class.php +0 -64
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/DateFormatTransformationsPlugin.class.php +0 -164
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/DownloadTransformationsPlugin.class.php +0 -95
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ExternalTransformationsPlugin.class.php +0 -155
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/FormattedTransformationsPlugin.class.php +0 -65
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/HexTransformationsPlugin.class.php +0 -72
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ImageLinkTransformationsPlugin.class.php +0 -74
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/ImageUploadTransformationsPlugin.class.php +0 -110
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/InlineTransformationsPlugin.class.php +0 -86
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/LongToIPv4TransformationsPlugin.class.php +0 -68
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/PreApPendTransformationsPlugin.class.php +0 -71
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/RegexValidationTransformationsPlugin.class.php +0 -74
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/SQLTransformationsPlugin.class.php +0 -67
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/SubstringTransformationsPlugin.class.php +0 -92
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextFileUploadTransformationsPlugin.class.php +0 -93
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextImageLinkTransformationsPlugin.class.php +0 -81
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/abstract/TextLinkTransformationsPlugin.class.php +0 -82
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/generator_main_class.sh +0 -16
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/generator_plugin.sh +0 -64
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Image_JPEG_Upload.class.php +0 -46
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_Fileupload.class.php +0 -45
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_JsonEditor.class.php +0 -86
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_Regexvalidation.class.php +0 -46
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_SqlEditor.class.php +0 -86
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/input/Text_Plain_XmlEditor.class.php +0 -86
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Application_Octetstream_Download.class.php +0 -44
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Application_Octetstream_Hex.class.php +0 -45
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_JPEG_Inline.class.php +0 -45
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_JPEG_Link.class.php +0 -45
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Image_PNG_Inline.class.php +0 -45
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Octetstream_Sql.class.php +0 -45
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Bool2text.class.php +0 -47
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Dateformat.class.php +0 -45
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_External.class.php +0 -45
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Formatted.class.php +0 -45
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Imagelink.class.php +0 -45
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Json.class.php +0 -96
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Sql.class.php +0 -57
- data/lib/support/phpmyadmin/phpmyadmin/libraries/plugins/transformations/output/Text_Plain_Xml.class.php +0 -96
- data/lib/support/phpmyadmin/phpmyadmin/libraries/pmd_common.php +0 -657
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/PropertyItem.class.php +0 -49
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyGroup.class.php +0 -99
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyItem.class.php +0 -127
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/OptionsPropertyOneItem.class.php +0 -172
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertyMainGroup.class.php +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertyRootGroup.class.php +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/groups/OptionsPropertySubgroup.class.php +0 -68
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/BoolPropertyItem.class.php +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/DocPropertyItem.class.php +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/HiddenPropertyItem.class.php +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/MessageOnlyPropertyItem.class.php +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/NumberPropertyItem.class.php +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/RadioPropertyItem.class.php +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/SelectPropertyItem.class.php +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/options/items/TextPropertyItem.class.php +0 -35
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/ExportPluginProperties.class.php +0 -68
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/ImportPluginProperties.class.php +0 -34
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/PluginPropertyItem.class.php +0 -183
- data/lib/support/phpmyadmin/phpmyadmin/libraries/properties/plugins/SchemaPluginProperties.class.php +0 -47
- data/lib/support/phpmyadmin/phpmyadmin/libraries/relation.lib.php +0 -2024
- data/lib/support/phpmyadmin/phpmyadmin/libraries/relation_cleanup.lib.php +0 -216
- data/lib/support/phpmyadmin/phpmyadmin/libraries/replication.inc.php +0 -321
- data/lib/support/phpmyadmin/phpmyadmin/libraries/replication_gui.lib.php +0 -1088
- data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_events.lib.php +0 -618
- data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_export.lib.php +0 -121
- data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_footer.lib.php +0 -130
- data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_general.lib.php +0 -88
- data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_list.lib.php +0 -387
- data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_main.inc.php +0 -94
- data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_routines.lib.php +0 -1733
- data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_triggers.lib.php +0 -463
- data/lib/support/phpmyadmin/phpmyadmin/libraries/rte/rte_words.lib.php +0 -75
- data/lib/support/phpmyadmin/phpmyadmin/libraries/sanitizing.lib.php +0 -191
- data/lib/support/phpmyadmin/phpmyadmin/libraries/select_lang.lib.php +0 -621
- data/lib/support/phpmyadmin/phpmyadmin/libraries/select_server.lib.php +0 -111
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_bin_log.lib.php +0 -244
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_collations.lib.php +0 -100
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_common.inc.php +0 -53
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_common.lib.php +0 -67
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_databases.lib.php +0 -498
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_engines.lib.php +0 -145
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_plugins.lib.php +0 -207
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_privileges.lib.php +0 -4692
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status.lib.php +0 -317
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_advisor.lib.php +0 -68
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_monitor.lib.php +0 -825
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_processes.lib.php +0 -320
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_queries.lib.php +0 -154
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_status_variables.lib.php +0 -765
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_user_groups.lib.php +0 -360
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_users.lib.php +0 -58
- data/lib/support/phpmyadmin/phpmyadmin/libraries/server_variables.lib.php +0 -1683
- data/lib/support/phpmyadmin/phpmyadmin/libraries/session.inc.php +0 -130
- data/lib/support/phpmyadmin/phpmyadmin/libraries/special_schema_links.lib.php +0 -461
- data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/LICENSE.txt +0 -21
- data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/README.md +0 -185
- data/lib/support/phpmyadmin/phpmyadmin/libraries/sql-formatter/lib/SqlFormatter.php +0 -1085
- data/lib/support/phpmyadmin/phpmyadmin/libraries/sql.lib.php +0 -2293
- data/lib/support/phpmyadmin/phpmyadmin/libraries/sql_query_form.lib.php +0 -477
- data/lib/support/phpmyadmin/phpmyadmin/libraries/sqlparser.data.php +0 -999
- data/lib/support/phpmyadmin/phpmyadmin/libraries/sqlparser.lib.php +0 -2997
- data/lib/support/phpmyadmin/phpmyadmin/libraries/string.lib.php +0 -33
- data/lib/support/phpmyadmin/phpmyadmin/libraries/stringMb.lib.php +0 -78
- data/lib/support/phpmyadmin/phpmyadmin/libraries/stringNative.lib.php +0 -245
- data/lib/support/phpmyadmin/phpmyadmin/libraries/structure.lib.php +0 -3294
- data/lib/support/phpmyadmin/phpmyadmin/libraries/sysinfo.lib.php +0 -369
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_chart.lib.php +0 -383
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_columns_definition_form.inc.php +0 -195
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_columns_definition_form.lib.php +0 -1458
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_common.inc.php +0 -48
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_gis_visualization.lib.php +0 -281
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_indexes.lib.php +0 -480
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_info.inc.php +0 -108
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_printview.lib.php +0 -602
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_relation.lib.php +0 -1222
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tbl_views.lib.php +0 -161
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/LICENSE.TXT +0 -858
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/README.TXT +0 -115
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/config/tcpdf_config.php +0 -227
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE +0 -99
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.ctg.z +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.php +0 -16
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusans.z +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.ctg.z +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.php +0 -16
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/dejavusansb.z +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/fonts/helvetica.php +0 -13
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/sRGB.icc +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_colors.php +0 -462
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_font_data.php +0 -18447
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_fonts.php +0 -2591
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_images.php +0 -355
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/include/tcpdf_static.php +0 -2528
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/tcpdf.php +0 -24478
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tcpdf/tcpdf_autoconfig.php +0 -241
- data/lib/support/phpmyadmin/phpmyadmin/libraries/tracking.lib.php +0 -1439
- data/lib/support/phpmyadmin/phpmyadmin/libraries/transformations.lib.php +0 -461
- data/lib/support/phpmyadmin/phpmyadmin/libraries/url_generating.lib.php +0 -256
- data/lib/support/phpmyadmin/phpmyadmin/libraries/user_preferences.inc.php +0 -71
- data/lib/support/phpmyadmin/phpmyadmin/libraries/user_preferences.lib.php +0 -301
- data/lib/support/phpmyadmin/phpmyadmin/libraries/vendor_config.php +0 -93
- data/lib/support/phpmyadmin/phpmyadmin/libraries/zip.lib.php +0 -211
- data/lib/support/phpmyadmin/phpmyadmin/libraries/zip_extension.lib.php +0 -195
- data/lib/support/phpmyadmin/phpmyadmin/license.php +0 -31
- data/lib/support/phpmyadmin/phpmyadmin/locale/az/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/bg/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/bn/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/ca/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/cs/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/da/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/de/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/el/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/en_GB/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/es/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/et/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/fi/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/fr/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/gl/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/hi/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/hu/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/ia/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/id/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/it/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/ja/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/ko/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/lt/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/nb/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/nl/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/pl/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/pt/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/pt_BR/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/ro/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/ru/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/si/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/sk/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/sl/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/sq/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/sr@latin/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/sv/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/tr/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/uk/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/zh_CN/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/locale/zh_TW/LC_MESSAGES/phpmyadmin.mo +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/navigation.php +0 -71
- data/lib/support/phpmyadmin/phpmyadmin/normalization.php +0 -122
- data/lib/support/phpmyadmin/phpmyadmin/phpinfo.php +0 -21
- data/lib/support/phpmyadmin/phpmyadmin/phpmyadmin.css.php +0 -39
- data/lib/support/phpmyadmin/phpmyadmin/phpunit.xml.hhvm +0 -30
- data/lib/support/phpmyadmin/phpmyadmin/phpunit.xml.nocoverage +0 -40
- data/lib/support/phpmyadmin/phpmyadmin/prefs_forms.php +0 -92
- data/lib/support/phpmyadmin/phpmyadmin/prefs_manage.php +0 -375
- data/lib/support/phpmyadmin/phpmyadmin/print.css +0 -92
- data/lib/support/phpmyadmin/phpmyadmin/robots.txt +0 -2
- data/lib/support/phpmyadmin/phpmyadmin/schema_export.php +0 -77
- data/lib/support/phpmyadmin/phpmyadmin/server_binlog.php +0 -54
- data/lib/support/phpmyadmin/phpmyadmin/server_collations.php +0 -39
- data/lib/support/phpmyadmin/phpmyadmin/server_databases.php +0 -118
- data/lib/support/phpmyadmin/phpmyadmin/server_engines.php +0 -34
- data/lib/support/phpmyadmin/phpmyadmin/server_export.php +0 -29
- data/lib/support/phpmyadmin/phpmyadmin/server_import.php +0 -27
- data/lib/support/phpmyadmin/phpmyadmin/server_plugins.php +0 -59
- data/lib/support/phpmyadmin/phpmyadmin/server_privileges.php +0 -410
- data/lib/support/phpmyadmin/phpmyadmin/server_replication.php +0 -83
- data/lib/support/phpmyadmin/phpmyadmin/server_sql.php +0 -32
- data/lib/support/phpmyadmin/phpmyadmin/server_status.php +0 -38
- data/lib/support/phpmyadmin/phpmyadmin/server_status_advisor.php +0 -39
- data/lib/support/phpmyadmin/phpmyadmin/server_status_monitor.php +0 -113
- data/lib/support/phpmyadmin/phpmyadmin/server_status_processes.php +0 -64
- data/lib/support/phpmyadmin/phpmyadmin/server_status_queries.php +0 -54
- data/lib/support/phpmyadmin/phpmyadmin/server_status_variables.php +0 -57
- data/lib/support/phpmyadmin/phpmyadmin/server_user_groups.php +0 -72
- data/lib/support/phpmyadmin/phpmyadmin/server_variables.php +0 -60
- data/lib/support/phpmyadmin/phpmyadmin/setup/ajax.js +0 -11
- data/lib/support/phpmyadmin/phpmyadmin/setup/config.php +0 -81
- data/lib/support/phpmyadmin/phpmyadmin/setup/frames/config.inc.php +0 -52
- data/lib/support/phpmyadmin/phpmyadmin/setup/frames/form.inc.php +0 -36
- data/lib/support/phpmyadmin/phpmyadmin/setup/frames/index.inc.php +0 -313
- data/lib/support/phpmyadmin/phpmyadmin/setup/frames/menu.inc.php +0 -37
- data/lib/support/phpmyadmin/phpmyadmin/setup/frames/servers.inc.php +0 -50
- data/lib/support/phpmyadmin/phpmyadmin/setup/index.php +0 -61
- data/lib/support/phpmyadmin/phpmyadmin/setup/lib/ConfigGenerator.class.php +0 -161
- data/lib/support/phpmyadmin/phpmyadmin/setup/lib/common.inc.php +0 -56
- data/lib/support/phpmyadmin/phpmyadmin/setup/lib/form_processing.lib.php +0 -81
- data/lib/support/phpmyadmin/phpmyadmin/setup/lib/index.lib.php +0 -204
- data/lib/support/phpmyadmin/phpmyadmin/setup/scripts.js +0 -216
- data/lib/support/phpmyadmin/phpmyadmin/setup/styles.css +0 -619
- data/lib/support/phpmyadmin/phpmyadmin/setup/validate.php +0 -32
- data/lib/support/phpmyadmin/phpmyadmin/show_config_errors.php +0 -40
- data/lib/support/phpmyadmin/phpmyadmin/sql/create_tables.sql +0 -323
- data/lib/support/phpmyadmin/phpmyadmin/sql/create_tables_drizzle.sql +0 -275
- data/lib/support/phpmyadmin/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql +0 -47
- data/lib/support/phpmyadmin/phpmyadmin/sql/upgrade_tables_mysql_4_1_2+.sql +0 -144
- data/lib/support/phpmyadmin/phpmyadmin/sql.php +0 -203
- data/lib/support/phpmyadmin/phpmyadmin/tbl_addfield.php +0 -124
- data/lib/support/phpmyadmin/phpmyadmin/tbl_change.php +0 -232
- data/lib/support/phpmyadmin/phpmyadmin/tbl_chart.php +0 -142
- data/lib/support/phpmyadmin/phpmyadmin/tbl_create.php +0 -108
- data/lib/support/phpmyadmin/phpmyadmin/tbl_export.php +0 -107
- data/lib/support/phpmyadmin/phpmyadmin/tbl_find_replace.php +0 -66
- data/lib/support/phpmyadmin/phpmyadmin/tbl_get_field.php +0 -55
- data/lib/support/phpmyadmin/phpmyadmin/tbl_gis_visualization.php +0 -115
- data/lib/support/phpmyadmin/phpmyadmin/tbl_import.php +0 -30
- data/lib/support/phpmyadmin/phpmyadmin/tbl_indexes.php +0 -60
- data/lib/support/phpmyadmin/phpmyadmin/tbl_operations.php +0 -423
- data/lib/support/phpmyadmin/phpmyadmin/tbl_printview.php +0 -74
- data/lib/support/phpmyadmin/phpmyadmin/tbl_recent_favorite.php +0 -19
- data/lib/support/phpmyadmin/phpmyadmin/tbl_relation.php +0 -156
- data/lib/support/phpmyadmin/phpmyadmin/tbl_replace.php +0 -468
- data/lib/support/phpmyadmin/phpmyadmin/tbl_row_action.php +0 -146
- data/lib/support/phpmyadmin/phpmyadmin/tbl_select.php +0 -81
- data/lib/support/phpmyadmin/phpmyadmin/tbl_sql.php +0 -52
- data/lib/support/phpmyadmin/phpmyadmin/tbl_structure.php +0 -210
- data/lib/support/phpmyadmin/phpmyadmin/tbl_tracking.php +0 -209
- data/lib/support/phpmyadmin/phpmyadmin/tbl_triggers.php +0 -10
- data/lib/support/phpmyadmin/phpmyadmin/tbl_zoom_select.php +0 -165
- data/lib/support/phpmyadmin/phpmyadmin/themes/dot.gif +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/css/common.css.php +0 -3078
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/css/navigation.css.php +0 -424
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/ajax_clock_small.gif +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/arrow_ltr.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/arrow_rtl.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_bookmark.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_browse.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_calendar.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_chart.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_close.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_column_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_comment.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_dbstatistics.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_deltbl.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_docs.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_drop.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_edit.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_empty.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_engine.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_event_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_events.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_export.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_favorite.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_find_replace.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_ftext.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_globe.gif +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_group.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_help.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_home.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_import.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_index.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_index_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_info.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_inline_edit.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_insrow.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_minus.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_more.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_move.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_newdb.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_newtbl.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_nextpage.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_no_favorite.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_plus.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_primary.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_print.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_props.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_relations.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_report.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_routine_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_routines.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_save.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_saveimage.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sbrowse.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_search.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_selboard.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_select.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_snewtbl.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_spatial.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sql.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_sqlhelp.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_table_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblanalyse.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblexport.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblimport.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tblops.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tbloptimize.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_tipp.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_trigger_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_triggers.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_undo.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_unique.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usradd.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrcheck.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrdrop.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usredit.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_usrlist.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_versions.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_view.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_view_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/b_views.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_browse.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_deltbl.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_drop.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_edit.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_empty.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_export.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_ftext.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_index.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_insrow.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_nextpage.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_primary.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_routine_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_sbrowse.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_select.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_spatial.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/bd_unique.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/centralColumns_delete.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/cleardot.gif +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_drop.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_pointer.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/col_pointer_ver.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/console.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/east-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/error.ico +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/eye.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/eye_grey.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/lightbulb.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/lightbulb_off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/logo_left.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/logo_right.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/more.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_hovered.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_selected.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_data_selected_hovered.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_hovered.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_selected.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/new_struct_selected_hovered.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/normalize.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/north-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/pause.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/play.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_asc.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_asci.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_attention.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_cancel.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_cog.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_collapseall.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_db.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_desc.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_error.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_error2.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_fulltext.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_host.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_info.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_lang.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_link.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_lock.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_loggoff.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_notice.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_partialtext.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_passwd.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_really.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_reload.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_replication.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_rights.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_sortable.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_status.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_success.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_sync.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_tbl.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_theme.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_top.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_unlink.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_vars.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/s_views.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/south-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/spacer.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/sprites.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/toggle-ltr.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/toggle-rtl.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/vertical_line.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/west-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/window-new.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-minus-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-plus-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/img/zoom-world-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/info.inc.php +0 -15
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_222222_256x240.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_454545_256x240.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_888888_256x240.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/jquery/jquery-ui-1.11.2.css +0 -1225
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/layout.inc.php +0 -102
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/screen.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/original/sprites.lib.php +0 -720
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/codemirror.css.php +0 -350
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/common.css.php +0 -3401
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/enum_editor.css.php +0 -80
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/gis.css.php +0 -52
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/jqplot.css.php +0 -277
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/navigation.css.php +0 -429
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/pmd.css.php +0 -605
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/resizable-menu.css.php +0 -57
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/css/rte.css.php +0 -43
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/ajax_clock_small.gif +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/arrow_ltr.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/arrow_rtl.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/asc_order.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_bookmark.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_browse.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_calendar.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_chart.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_close.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_column_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_comment.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_dbstatistics.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_deltbl.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_docs.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_docsql.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_drop.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_edit.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_empty.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_engine.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_event_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_events.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_export.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_favorite.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_find_replace.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_firstpage.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_ftext.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_globe.gif +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_group.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_help.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_home.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_import.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_index.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_index_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_info.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_inline_edit.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_insrow.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_lastpage.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_minus.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_more.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_move.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_newdb.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_newtbl.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_nextpage.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_no_favorite.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_pdfdoc.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_plus.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_prevpage.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_primary.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_print.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_props.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_relations.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_report.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_routine_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_routines.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_save.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_saveimage.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sbrowse.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sdb.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_search.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_selboard.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_select.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_snewtbl.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_spatial.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sql.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sqldoc.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_sqlhelp.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_table_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblanalyse.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblexport.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblimport.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tblops.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tbloptimize.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_tipp.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_trigger_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_triggers.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_undo.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_unique.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usradd.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrcheck.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrdrop.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usredit.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_usrlist.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_versions.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_view.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_view_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/b_views.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_browse.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_deltbl.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_drop.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_edit.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_empty.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_export.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_firstpage.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_ftext.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_index.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_insrow.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_lastpage.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_nextpage.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_prevpage.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_primary.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_routine_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_sbrowse.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_select.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_spatial.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/bd_unique.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/centralColumns_delete.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_drop.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_pointer.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/col_pointer_ver.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/console.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/database.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/east-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/error.ico +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/eye.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/eye_grey.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/item.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/left_nav_bg.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/lightbulb.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/lightbulb_off.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/logo_left.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/logo_right.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/more.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_hovered.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_selected.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_data_selected_hovered.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_hovered.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_selected.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/new_struct_selected_hovered.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/normalize.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/north-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pause.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/php_sym.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/play.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pma_logo2.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/1.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2leftarrow.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2leftarrow_m.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2rightarrow.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/2rightarrow_m.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/3.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/4.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/5.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/6.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/7.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/8.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/FieldKey_small.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_char.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_date.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Field_small_int.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Header.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/Header_Linked.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/anchor.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/and_icon.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/ang_direct.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/bord.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/bottom.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/def.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/display_field.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow1.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow2.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/downarrow2_m.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exec.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exec_small.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/exitFullscreen.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/export.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/favicon.ico +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/grid.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/help.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/help_relation.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/left_panel_butt.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/left_panel_tab.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/minus.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/or_icon.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_add.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_delete.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/page_edit.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/pdf.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/plus.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/query_builder.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/relation.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/reload.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/resize.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/resizeright.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/rightarrow1.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/rightarrow2.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/save.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/save_as.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/small_tab.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/table.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/toggle_lines.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/top_panel.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/uparrow2_m.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/pmd/viewInFullscreen.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_asc.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_asci.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_attention.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cancel.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cancel2.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_cog.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_collapseall.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_db.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_desc.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_error.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_error2.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_fulltext.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_host.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_info.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_lang.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_link.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_lock.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_loggoff.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_notice.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_okay.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_partialtext.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_passwd.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_process.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_really.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_reload.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_replication.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_rights.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_sortable.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_status.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_success.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_sync.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_tbl.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_theme.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_top.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_unlink.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_vars.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/s_views.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/select_bg.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/south-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/spacer.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/sprites.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/toggle-ltr.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/toggle-rtl.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/vertical_line.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/west-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/window-new.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-minus-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-plus-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/img/zoom-world-mini.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/info.inc.php +0 -21
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_222222_256x240.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_2e83ff_256x240.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_454545_256x240.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_888888_256x240.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/jquery/jquery-ui-1.11.2.css +0 -1225
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/layout.inc.php +0 -104
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/screen.png +0 -0
- data/lib/support/phpmyadmin/phpmyadmin/themes/pmahomme/sprites.lib.php +0 -805
- data/lib/support/phpmyadmin/phpmyadmin/themes/sprites.css.php +0 -60
- data/lib/support/phpmyadmin/phpmyadmin/themes/svg_gradient.php +0 -53
- data/lib/support/phpmyadmin/phpmyadmin/themes.php +0 -32
- data/lib/support/phpmyadmin/phpmyadmin/transformation_overview.php +0 -74
- data/lib/support/phpmyadmin/phpmyadmin/transformation_wrapper.php +0 -148
- data/lib/support/phpmyadmin/phpmyadmin/url.php +0 -38
- data/lib/support/phpmyadmin/phpmyadmin/user_password.php +0 -200
- data/lib/support/phpmyadmin/phpmyadmin/version_check.php +0 -30
- data/lib/support/phpmyadmin/phpmyadmin/view_create.php +0 -291
- data/lib/support/phpmyadmin/phpmyadmin/view_operations.php +0 -139
- data/lib/support/phpmyadmin/phpmyadmin/webapp.php +0 -55
|
@@ -1,4602 +0,0 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
|
3
|
-
/**
|
|
4
|
-
* Hold the PMA_Util class
|
|
5
|
-
*
|
|
6
|
-
* @package PhpMyAdmin
|
|
7
|
-
*/
|
|
8
|
-
if (! defined('PHPMYADMIN')) {
|
|
9
|
-
exit;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Misc functions used all over the scripts.
|
|
14
|
-
*
|
|
15
|
-
* @package PhpMyAdmin
|
|
16
|
-
*/
|
|
17
|
-
class PMA_Util
|
|
18
|
-
{
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Detects which function to use for pow.
|
|
22
|
-
*
|
|
23
|
-
* @return string Function name.
|
|
24
|
-
*/
|
|
25
|
-
public static function detectPow()
|
|
26
|
-
{
|
|
27
|
-
if (function_exists('bcpow')) {
|
|
28
|
-
// BCMath Arbitrary Precision Mathematics Function
|
|
29
|
-
return 'bcpow';
|
|
30
|
-
} elseif (function_exists('gmp_pow')) {
|
|
31
|
-
// GMP Function
|
|
32
|
-
return 'gmp_pow';
|
|
33
|
-
} else {
|
|
34
|
-
// PHP function
|
|
35
|
-
return 'pow';
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Exponential expression / raise number into power
|
|
41
|
-
*
|
|
42
|
-
* @param string $base base to raise
|
|
43
|
-
* @param string $exp exponent to use
|
|
44
|
-
* @param string $use_function pow function to use, or false for auto-detect
|
|
45
|
-
*
|
|
46
|
-
* @return mixed string or float
|
|
47
|
-
*/
|
|
48
|
-
public static function pow($base, $exp, $use_function = '')
|
|
49
|
-
{
|
|
50
|
-
static $pow_function = null;
|
|
51
|
-
|
|
52
|
-
if ($pow_function == null) {
|
|
53
|
-
$pow_function = self::detectPow();
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
if (! $use_function) {
|
|
57
|
-
if ($exp < 0) {
|
|
58
|
-
$use_function = 'pow';
|
|
59
|
-
} else {
|
|
60
|
-
$use_function = $pow_function;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
if (($exp < 0) && ($use_function != 'pow')) {
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
switch ($use_function) {
|
|
69
|
-
case 'bcpow' :
|
|
70
|
-
// bcscale() needed for testing pow() with base values < 1
|
|
71
|
-
bcscale(10);
|
|
72
|
-
$pow = bcpow($base, $exp);
|
|
73
|
-
break;
|
|
74
|
-
case 'gmp_pow' :
|
|
75
|
-
$pow = gmp_strval(gmp_pow($base, $exp));
|
|
76
|
-
break;
|
|
77
|
-
case 'pow' :
|
|
78
|
-
$base = (float) $base;
|
|
79
|
-
$exp = (int) $exp;
|
|
80
|
-
$pow = pow($base, $exp);
|
|
81
|
-
break;
|
|
82
|
-
default:
|
|
83
|
-
$pow = $use_function($base, $exp);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
return $pow;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Checks whether configuration value tells to show icons.
|
|
91
|
-
*
|
|
92
|
-
* @param string $value Configuration option name
|
|
93
|
-
*
|
|
94
|
-
* @return boolean Whether to show icons.
|
|
95
|
-
*/
|
|
96
|
-
public static function showIcons($value)
|
|
97
|
-
{
|
|
98
|
-
return in_array($GLOBALS['cfg'][$value], array('icons', 'both'));
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Checks whether configuration value tells to show text.
|
|
103
|
-
*
|
|
104
|
-
* @param string $value Configuration option name
|
|
105
|
-
*
|
|
106
|
-
* @return boolean Whether to show text.
|
|
107
|
-
*/
|
|
108
|
-
public static function showText($value)
|
|
109
|
-
{
|
|
110
|
-
return in_array($GLOBALS['cfg'][$value], array('text', 'both'));
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Returns an HTML IMG tag for a particular icon from a theme,
|
|
115
|
-
* which may be an actual file or an icon from a sprite.
|
|
116
|
-
* This function takes into account the ActionLinksMode
|
|
117
|
-
* configuration setting and wraps the image tag in a span tag.
|
|
118
|
-
*
|
|
119
|
-
* @param string $icon name of icon file
|
|
120
|
-
* @param string $alternate alternate text
|
|
121
|
-
* @param boolean $force_text whether to force alternate text to be displayed
|
|
122
|
-
* @param boolean $menu_icon whether this icon is for the menu bar or not
|
|
123
|
-
* @param string $control_param which directive controls the display
|
|
124
|
-
*
|
|
125
|
-
* @return string an html snippet
|
|
126
|
-
*/
|
|
127
|
-
public static function getIcon(
|
|
128
|
-
$icon, $alternate = '', $force_text = false,
|
|
129
|
-
$menu_icon = false, $control_param = 'ActionLinksMode'
|
|
130
|
-
) {
|
|
131
|
-
$include_icon = $include_text = false;
|
|
132
|
-
if (self::showIcons($control_param)) {
|
|
133
|
-
$include_icon = true;
|
|
134
|
-
}
|
|
135
|
-
if ($force_text
|
|
136
|
-
|| self::showText($control_param)
|
|
137
|
-
) {
|
|
138
|
-
$include_text = true;
|
|
139
|
-
}
|
|
140
|
-
// Sometimes use a span (we rely on this in js/sql.js). But for menu bar
|
|
141
|
-
// we don't need a span
|
|
142
|
-
$button = $menu_icon ? '' : '<span class="nowrap">';
|
|
143
|
-
if ($include_icon) {
|
|
144
|
-
$button .= self::getImage($icon, $alternate);
|
|
145
|
-
}
|
|
146
|
-
if ($include_icon && $include_text) {
|
|
147
|
-
$button .= ' ';
|
|
148
|
-
}
|
|
149
|
-
if ($include_text) {
|
|
150
|
-
$button .= $alternate;
|
|
151
|
-
}
|
|
152
|
-
$button .= $menu_icon ? '' : '</span>';
|
|
153
|
-
|
|
154
|
-
return $button;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Returns an HTML IMG tag for a particular image from a theme,
|
|
159
|
-
* which may be an actual file or an icon from a sprite
|
|
160
|
-
*
|
|
161
|
-
* @param string $image The name of the file to get
|
|
162
|
-
* @param string $alternate Used to set 'alt' and 'title' attributes
|
|
163
|
-
* of the image
|
|
164
|
-
* @param array $attributes An associative array of other attributes
|
|
165
|
-
*
|
|
166
|
-
* @return string an html IMG tag
|
|
167
|
-
*/
|
|
168
|
-
public static function getImage($image, $alternate = '', $attributes = array())
|
|
169
|
-
{
|
|
170
|
-
static $sprites; // cached list of available sprites (if any)
|
|
171
|
-
if (defined('TESTSUITE')) {
|
|
172
|
-
// prevent caching in testsuite
|
|
173
|
-
unset($sprites);
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
$is_sprite = false;
|
|
177
|
-
$alternate = htmlspecialchars($alternate);
|
|
178
|
-
|
|
179
|
-
// If it's the first time this function is called
|
|
180
|
-
if (! isset($sprites)) {
|
|
181
|
-
// Try to load the list of sprites
|
|
182
|
-
$sprite_file = $_SESSION['PMA_Theme']->getPath() . '/sprites.lib.php';
|
|
183
|
-
if (is_readable($sprite_file)) {
|
|
184
|
-
include_once $sprite_file;
|
|
185
|
-
$sprites = PMA_sprites();
|
|
186
|
-
} else {
|
|
187
|
-
// No sprites are available for this theme
|
|
188
|
-
$sprites = array();
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
// Check if we have the requested image as a sprite
|
|
193
|
-
// and set $url accordingly
|
|
194
|
-
$class = str_replace(array('.gif','.png'), '', $image);
|
|
195
|
-
if (array_key_exists($class, $sprites)) {
|
|
196
|
-
$is_sprite = true;
|
|
197
|
-
$url = (defined('PMA_TEST_THEME') ? '../' : '') . 'themes/dot.gif';
|
|
198
|
-
} else {
|
|
199
|
-
$url = $GLOBALS['pmaThemeImage'] . $image;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
// set class attribute
|
|
203
|
-
if ($is_sprite) {
|
|
204
|
-
if (isset($attributes['class'])) {
|
|
205
|
-
$attributes['class'] = "icon ic_$class " . $attributes['class'];
|
|
206
|
-
} else {
|
|
207
|
-
$attributes['class'] = "icon ic_$class";
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
// set all other attributes
|
|
212
|
-
$attr_str = '';
|
|
213
|
-
foreach ($attributes as $key => $value) {
|
|
214
|
-
if (! in_array($key, array('alt', 'title'))) {
|
|
215
|
-
$attr_str .= " $key=\"$value\"";
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
// override the alt attribute
|
|
220
|
-
if (isset($attributes['alt'])) {
|
|
221
|
-
$alt = $attributes['alt'];
|
|
222
|
-
} else {
|
|
223
|
-
$alt = $alternate;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
// override the title attribute
|
|
227
|
-
if (isset($attributes['title'])) {
|
|
228
|
-
$title = $attributes['title'];
|
|
229
|
-
} else {
|
|
230
|
-
$title = $alternate;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
// generate the IMG tag
|
|
234
|
-
$template = '<img src="%s" title="%s" alt="%s"%s />';
|
|
235
|
-
$retval = sprintf($template, $url, $title, $alt, $attr_str);
|
|
236
|
-
|
|
237
|
-
return $retval;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
/**
|
|
241
|
-
* Returns the formatted maximum size for an upload
|
|
242
|
-
*
|
|
243
|
-
* @param integer $max_upload_size the size
|
|
244
|
-
*
|
|
245
|
-
* @return string the message
|
|
246
|
-
*
|
|
247
|
-
* @access public
|
|
248
|
-
*/
|
|
249
|
-
public static function getFormattedMaximumUploadSize($max_upload_size)
|
|
250
|
-
{
|
|
251
|
-
// I have to reduce the second parameter (sensitiveness) from 6 to 4
|
|
252
|
-
// to avoid weird results like 512 kKib
|
|
253
|
-
list($max_size, $max_unit) = self::formatByteDown($max_upload_size, 4);
|
|
254
|
-
return '(' . sprintf(__('Max: %s%s'), $max_size, $max_unit) . ')';
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
/**
|
|
258
|
-
* Generates a hidden field which should indicate to the browser
|
|
259
|
-
* the maximum size for upload
|
|
260
|
-
*
|
|
261
|
-
* @param integer $max_size the size
|
|
262
|
-
*
|
|
263
|
-
* @return string the INPUT field
|
|
264
|
-
*
|
|
265
|
-
* @access public
|
|
266
|
-
*/
|
|
267
|
-
public static function generateHiddenMaxFileSize($max_size)
|
|
268
|
-
{
|
|
269
|
-
return '<input type="hidden" name="MAX_FILE_SIZE" value="'
|
|
270
|
-
. $max_size . '" />';
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
/**
|
|
274
|
-
* Add slashes before "'" and "\" characters so a value containing them can
|
|
275
|
-
* be used in a sql comparison.
|
|
276
|
-
*
|
|
277
|
-
* @param string $a_string the string to slash
|
|
278
|
-
* @param bool $is_like whether the string will be used in a 'LIKE' clause
|
|
279
|
-
* (it then requires two more escaped sequences) or not
|
|
280
|
-
* @param bool $crlf whether to treat cr/lfs as escape-worthy entities
|
|
281
|
-
* (converts \n to \\n, \r to \\r)
|
|
282
|
-
* @param bool $php_code whether this function is used as part of the
|
|
283
|
-
* "Create PHP code" dialog
|
|
284
|
-
*
|
|
285
|
-
* @return string the slashed string
|
|
286
|
-
*
|
|
287
|
-
* @access public
|
|
288
|
-
*/
|
|
289
|
-
public static function sqlAddSlashes(
|
|
290
|
-
$a_string = '', $is_like = false, $crlf = false, $php_code = false
|
|
291
|
-
) {
|
|
292
|
-
if ($is_like) {
|
|
293
|
-
$a_string = str_replace('\\', '\\\\\\\\', $a_string);
|
|
294
|
-
} else {
|
|
295
|
-
$a_string = str_replace('\\', '\\\\', $a_string);
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
if ($crlf) {
|
|
299
|
-
$a_string = strtr(
|
|
300
|
-
$a_string,
|
|
301
|
-
array("\n" => '\n', "\r" => '\r', "\t" => '\t')
|
|
302
|
-
);
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
if ($php_code) {
|
|
306
|
-
$a_string = str_replace('\'', '\\\'', $a_string);
|
|
307
|
-
} else {
|
|
308
|
-
$a_string = str_replace('\'', '\'\'', $a_string);
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
return $a_string;
|
|
312
|
-
} // end of the 'sqlAddSlashes()' function
|
|
313
|
-
|
|
314
|
-
/**
|
|
315
|
-
* Add slashes before "_" and "%" characters for using them in MySQL
|
|
316
|
-
* database, table and field names.
|
|
317
|
-
* Note: This function does not escape backslashes!
|
|
318
|
-
*
|
|
319
|
-
* @param string $name the string to escape
|
|
320
|
-
*
|
|
321
|
-
* @return string the escaped string
|
|
322
|
-
*
|
|
323
|
-
* @access public
|
|
324
|
-
*/
|
|
325
|
-
public static function escapeMysqlWildcards($name)
|
|
326
|
-
{
|
|
327
|
-
return strtr($name, array('_' => '\\_', '%' => '\\%'));
|
|
328
|
-
} // end of the 'escapeMysqlWildcards()' function
|
|
329
|
-
|
|
330
|
-
/**
|
|
331
|
-
* removes slashes before "_" and "%" characters
|
|
332
|
-
* Note: This function does not unescape backslashes!
|
|
333
|
-
*
|
|
334
|
-
* @param string $name the string to escape
|
|
335
|
-
*
|
|
336
|
-
* @return string the escaped string
|
|
337
|
-
*
|
|
338
|
-
* @access public
|
|
339
|
-
*/
|
|
340
|
-
public static function unescapeMysqlWildcards($name)
|
|
341
|
-
{
|
|
342
|
-
return strtr($name, array('\\_' => '_', '\\%' => '%'));
|
|
343
|
-
} // end of the 'unescapeMysqlWildcards()' function
|
|
344
|
-
|
|
345
|
-
/**
|
|
346
|
-
* removes quotes (',",`) from a quoted string
|
|
347
|
-
*
|
|
348
|
-
* checks if the string is quoted and removes this quotes
|
|
349
|
-
*
|
|
350
|
-
* @param string $quoted_string string to remove quotes from
|
|
351
|
-
* @param string $quote type of quote to remove
|
|
352
|
-
*
|
|
353
|
-
* @return string unqoted string
|
|
354
|
-
*/
|
|
355
|
-
public static function unQuote($quoted_string, $quote = null)
|
|
356
|
-
{
|
|
357
|
-
$quotes = array();
|
|
358
|
-
|
|
359
|
-
if ($quote === null) {
|
|
360
|
-
$quotes[] = '`';
|
|
361
|
-
$quotes[] = '"';
|
|
362
|
-
$quotes[] = "'";
|
|
363
|
-
} else {
|
|
364
|
-
$quotes[] = $quote;
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
foreach ($quotes as $quote) {
|
|
368
|
-
if (/*overload*/mb_substr($quoted_string, 0, 1) === $quote
|
|
369
|
-
&& /*overload*/mb_substr($quoted_string, -1, 1) === $quote
|
|
370
|
-
) {
|
|
371
|
-
$unquoted_string = /*overload*/mb_substr($quoted_string, 1, -1);
|
|
372
|
-
// replace escaped quotes
|
|
373
|
-
$unquoted_string = str_replace(
|
|
374
|
-
$quote . $quote,
|
|
375
|
-
$quote,
|
|
376
|
-
$unquoted_string
|
|
377
|
-
);
|
|
378
|
-
return $unquoted_string;
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
return $quoted_string;
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
/**
|
|
386
|
-
* format sql strings
|
|
387
|
-
*
|
|
388
|
-
* @param string $sqlQuery raw SQL string
|
|
389
|
-
* @param boolean $truncate truncate the query if it is too long
|
|
390
|
-
*
|
|
391
|
-
* @return string the formatted sql
|
|
392
|
-
*
|
|
393
|
-
* @global array $cfg the configuration array
|
|
394
|
-
*
|
|
395
|
-
* @access public
|
|
396
|
-
* @todo move into PMA_Sql
|
|
397
|
-
*/
|
|
398
|
-
public static function formatSql($sqlQuery, $truncate = false)
|
|
399
|
-
{
|
|
400
|
-
global $cfg;
|
|
401
|
-
|
|
402
|
-
if ($truncate
|
|
403
|
-
&& /*overload*/mb_strlen($sqlQuery) > $cfg['MaxCharactersInDisplayedSQL']
|
|
404
|
-
) {
|
|
405
|
-
$sqlQuery = /*overload*/mb_substr(
|
|
406
|
-
$sqlQuery,
|
|
407
|
-
0,
|
|
408
|
-
$cfg['MaxCharactersInDisplayedSQL']
|
|
409
|
-
) . '[...]';
|
|
410
|
-
}
|
|
411
|
-
return '<code class="sql"><pre>' . "\n"
|
|
412
|
-
. htmlspecialchars($sqlQuery) . "\n"
|
|
413
|
-
. '</pre></code>';
|
|
414
|
-
} // end of the "formatSql()" function
|
|
415
|
-
|
|
416
|
-
/**
|
|
417
|
-
* Displays a link to the documentation as an icon
|
|
418
|
-
*
|
|
419
|
-
* @param string $link documentation link
|
|
420
|
-
* @param string $target optional link target
|
|
421
|
-
*
|
|
422
|
-
* @return string the html link
|
|
423
|
-
*
|
|
424
|
-
* @access public
|
|
425
|
-
*/
|
|
426
|
-
public static function showDocLink($link, $target = 'documentation')
|
|
427
|
-
{
|
|
428
|
-
return '<a href="' . $link . '" target="' . $target . '">'
|
|
429
|
-
. self::getImage('b_help.png', __('Documentation'))
|
|
430
|
-
. '</a>';
|
|
431
|
-
} // end of the 'showDocLink()' function
|
|
432
|
-
|
|
433
|
-
/**
|
|
434
|
-
* Get a URL link to the official MySQL documentation
|
|
435
|
-
*
|
|
436
|
-
* @param string $link contains name of page/anchor that is being linked
|
|
437
|
-
* @param string $anchor anchor to page part
|
|
438
|
-
*
|
|
439
|
-
* @return string the URL link
|
|
440
|
-
*
|
|
441
|
-
* @access public
|
|
442
|
-
*/
|
|
443
|
-
public static function getMySQLDocuURL($link, $anchor = '')
|
|
444
|
-
{
|
|
445
|
-
// Fixup for newly used names:
|
|
446
|
-
$link = str_replace('_', '-', /*overload*/mb_strtolower($link));
|
|
447
|
-
|
|
448
|
-
if (empty($link)) {
|
|
449
|
-
$link = 'index';
|
|
450
|
-
}
|
|
451
|
-
$mysql = '5.5';
|
|
452
|
-
$lang = 'en';
|
|
453
|
-
if (defined('PMA_MYSQL_INT_VERSION')) {
|
|
454
|
-
if (PMA_MYSQL_INT_VERSION >= 50600) {
|
|
455
|
-
$mysql = '5.6';
|
|
456
|
-
} else if (PMA_MYSQL_INT_VERSION >= 50500) {
|
|
457
|
-
$mysql = '5.5';
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
$url = 'http://dev.mysql.com/doc/refman/'
|
|
461
|
-
. $mysql . '/' . $lang . '/' . $link . '.html';
|
|
462
|
-
if (! empty($anchor)) {
|
|
463
|
-
$url .= '#' . $anchor;
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
return PMA_linkURL($url);
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
/**
|
|
470
|
-
* Displays a link to the official MySQL documentation
|
|
471
|
-
*
|
|
472
|
-
* @param string $link contains name of page/anchor that is being linked
|
|
473
|
-
* @param bool $big_icon whether to use big icon (like in left frame)
|
|
474
|
-
* @param string $anchor anchor to page part
|
|
475
|
-
* @param bool $just_open whether only the opening <a> tag should be returned
|
|
476
|
-
*
|
|
477
|
-
* @return string the html link
|
|
478
|
-
*
|
|
479
|
-
* @access public
|
|
480
|
-
*/
|
|
481
|
-
public static function showMySQLDocu(
|
|
482
|
-
$link, $big_icon = false, $anchor = '', $just_open = false
|
|
483
|
-
) {
|
|
484
|
-
$url = self::getMySQLDocuURL($link, $anchor);
|
|
485
|
-
$open_link = '<a href="' . $url . '" target="mysql_doc">';
|
|
486
|
-
if ($just_open) {
|
|
487
|
-
return $open_link;
|
|
488
|
-
} elseif ($big_icon) {
|
|
489
|
-
return $open_link
|
|
490
|
-
. self::getImage('b_sqlhelp.png', __('Documentation')) . '</a>';
|
|
491
|
-
} else {
|
|
492
|
-
return self::showDocLink($url, 'mysql_doc');
|
|
493
|
-
}
|
|
494
|
-
} // end of the 'showMySQLDocu()' function
|
|
495
|
-
|
|
496
|
-
/**
|
|
497
|
-
* Returns link to documentation.
|
|
498
|
-
*
|
|
499
|
-
* @param string $page Page in documentation
|
|
500
|
-
* @param string $anchor Optional anchor in page
|
|
501
|
-
*
|
|
502
|
-
* @return string URL
|
|
503
|
-
*/
|
|
504
|
-
public static function getDocuLink($page, $anchor = '')
|
|
505
|
-
{
|
|
506
|
-
/* Construct base URL */
|
|
507
|
-
$url = $page . '.html';
|
|
508
|
-
if (!empty($anchor)) {
|
|
509
|
-
$url .= '#' . $anchor;
|
|
510
|
-
}
|
|
511
|
-
|
|
512
|
-
/* Check if we have built local documentation */
|
|
513
|
-
if (defined('TESTSUITE')) {
|
|
514
|
-
/* Provide consistent URL for testsuite */
|
|
515
|
-
return PMA_linkURL('http://docs.phpmyadmin.net/en/latest/' . $url);
|
|
516
|
-
} else if (file_exists('doc/html/index.html')) {
|
|
517
|
-
if (defined('PMA_SETUP')) {
|
|
518
|
-
return '../doc/html/' . $url;
|
|
519
|
-
} else {
|
|
520
|
-
return './doc/html/' . $url;
|
|
521
|
-
}
|
|
522
|
-
} else {
|
|
523
|
-
/* TODO: Should link to correct branch for released versions */
|
|
524
|
-
return PMA_linkURL('http://docs.phpmyadmin.net/en/latest/' . $url);
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
|
|
528
|
-
/**
|
|
529
|
-
* Displays a link to the phpMyAdmin documentation
|
|
530
|
-
*
|
|
531
|
-
* @param string $page Page in documentation
|
|
532
|
-
* @param string $anchor Optional anchor in page
|
|
533
|
-
*
|
|
534
|
-
* @return string the html link
|
|
535
|
-
*
|
|
536
|
-
* @access public
|
|
537
|
-
*/
|
|
538
|
-
public static function showDocu($page, $anchor = '')
|
|
539
|
-
{
|
|
540
|
-
return self::showDocLink(self::getDocuLink($page, $anchor));
|
|
541
|
-
} // end of the 'showDocu()' function
|
|
542
|
-
|
|
543
|
-
/**
|
|
544
|
-
* Displays a link to the PHP documentation
|
|
545
|
-
*
|
|
546
|
-
* @param string $target anchor in documentation
|
|
547
|
-
*
|
|
548
|
-
* @return string the html link
|
|
549
|
-
*
|
|
550
|
-
* @access public
|
|
551
|
-
*/
|
|
552
|
-
public static function showPHPDocu($target)
|
|
553
|
-
{
|
|
554
|
-
$url = PMA_getPHPDocLink($target);
|
|
555
|
-
|
|
556
|
-
return self::showDocLink($url);
|
|
557
|
-
} // end of the 'showPHPDocu()' function
|
|
558
|
-
|
|
559
|
-
/**
|
|
560
|
-
* Returns HTML code for a tooltip
|
|
561
|
-
*
|
|
562
|
-
* @param string $message the message for the tooltip
|
|
563
|
-
*
|
|
564
|
-
* @return string
|
|
565
|
-
*
|
|
566
|
-
* @access public
|
|
567
|
-
*/
|
|
568
|
-
public static function showHint($message)
|
|
569
|
-
{
|
|
570
|
-
if ($GLOBALS['cfg']['ShowHint']) {
|
|
571
|
-
$classClause = ' class="pma_hint"';
|
|
572
|
-
} else {
|
|
573
|
-
$classClause = '';
|
|
574
|
-
}
|
|
575
|
-
return '<span' . $classClause . '>'
|
|
576
|
-
. self::getImage('b_help.png')
|
|
577
|
-
. '<span class="hide">' . $message . '</span>'
|
|
578
|
-
. '</span>';
|
|
579
|
-
}
|
|
580
|
-
|
|
581
|
-
/**
|
|
582
|
-
* Displays a MySQL error message in the main panel when $exit is true.
|
|
583
|
-
* Returns the error message otherwise.
|
|
584
|
-
*
|
|
585
|
-
* @param string|bool $error_message the error message
|
|
586
|
-
* @param string $the_query the sql query that failed
|
|
587
|
-
* @param bool $is_modify_link whether to show a "modify" link or not
|
|
588
|
-
* @param string $back_url the "back" link url (full path is not
|
|
589
|
-
* required)
|
|
590
|
-
* @param bool $exit EXIT the page?
|
|
591
|
-
*
|
|
592
|
-
* @return string
|
|
593
|
-
*
|
|
594
|
-
* @global string $table the curent table
|
|
595
|
-
* @global string $db the current db
|
|
596
|
-
*
|
|
597
|
-
* @access public
|
|
598
|
-
*/
|
|
599
|
-
public static function mysqlDie(
|
|
600
|
-
$error_message = '', $the_query = '',
|
|
601
|
-
$is_modify_link = true, $back_url = '', $exit = true
|
|
602
|
-
) {
|
|
603
|
-
global $table, $db;
|
|
604
|
-
|
|
605
|
-
$error_msg = '';
|
|
606
|
-
|
|
607
|
-
if (! $error_message) {
|
|
608
|
-
$error_message = $GLOBALS['dbi']->getError();
|
|
609
|
-
}
|
|
610
|
-
if (! $the_query && ! empty($GLOBALS['sql_query'])) {
|
|
611
|
-
$the_query = $GLOBALS['sql_query'];
|
|
612
|
-
}
|
|
613
|
-
|
|
614
|
-
// --- Added to solve bug #641765
|
|
615
|
-
if (! function_exists('PMA_SQP_isError') || PMA_SQP_isError()) {
|
|
616
|
-
$formatted_sql = htmlspecialchars($the_query);
|
|
617
|
-
} elseif (empty($the_query) || (trim($the_query) == '')) {
|
|
618
|
-
$formatted_sql = '';
|
|
619
|
-
} else {
|
|
620
|
-
$formatted_sql = self::formatSql($the_query, true);
|
|
621
|
-
}
|
|
622
|
-
// ---
|
|
623
|
-
$error_msg .= "\n" . '<!-- PMA-SQL-ERROR -->' . "\n";
|
|
624
|
-
$error_msg .= ' <div class="error"><h1>' . __('Error')
|
|
625
|
-
. '</h1>' . "\n";
|
|
626
|
-
|
|
627
|
-
// if the config password is wrong, or the MySQL server does not
|
|
628
|
-
// respond, do not show the query that would reveal the
|
|
629
|
-
// username/password
|
|
630
|
-
if (! empty($the_query) && ! /*overload*/mb_strstr($the_query, 'connect')) {
|
|
631
|
-
// --- Added to solve bug #641765
|
|
632
|
-
if (function_exists('PMA_SQP_isError') && PMA_SQP_isError()) {
|
|
633
|
-
$error_msg .= PMA_SQP_getErrorString() . "\n";
|
|
634
|
-
$error_msg .= '<br />' . "\n";
|
|
635
|
-
}
|
|
636
|
-
// ---
|
|
637
|
-
// modified to show the help on sql errors
|
|
638
|
-
$error_msg .= '<p><strong>' . __('SQL query:') . '</strong>' . "\n";
|
|
639
|
-
$formattedSqlToLower = /*overload*/mb_strtolower($formatted_sql);
|
|
640
|
-
if (/*overload*/mb_strstr($formattedSqlToLower, 'select')) {
|
|
641
|
-
// please show me help to the error on select
|
|
642
|
-
$error_msg .= self::showMySQLDocu('SELECT');
|
|
643
|
-
}
|
|
644
|
-
if ($is_modify_link) {
|
|
645
|
-
$_url_params = array(
|
|
646
|
-
'sql_query' => $the_query,
|
|
647
|
-
'show_query' => 1,
|
|
648
|
-
);
|
|
649
|
-
if (/*overload*/mb_strlen($table)) {
|
|
650
|
-
$_url_params['db'] = $db;
|
|
651
|
-
$_url_params['table'] = $table;
|
|
652
|
-
$doedit_goto = '<a href="tbl_sql.php'
|
|
653
|
-
. PMA_URL_getCommon($_url_params) . '">';
|
|
654
|
-
} elseif (/*overload*/mb_strlen($db)) {
|
|
655
|
-
$_url_params['db'] = $db;
|
|
656
|
-
$doedit_goto = '<a href="db_sql.php'
|
|
657
|
-
. PMA_URL_getCommon($_url_params) . '">';
|
|
658
|
-
} else {
|
|
659
|
-
$doedit_goto = '<a href="server_sql.php'
|
|
660
|
-
. PMA_URL_getCommon($_url_params) . '">';
|
|
661
|
-
}
|
|
662
|
-
|
|
663
|
-
$error_msg .= $doedit_goto
|
|
664
|
-
. self::getIcon('b_edit.png', __('Edit'))
|
|
665
|
-
. '</a>';
|
|
666
|
-
} // end if
|
|
667
|
-
$error_msg .= ' </p>' . "\n"
|
|
668
|
-
. '<p>' . "\n"
|
|
669
|
-
. $formatted_sql . "\n"
|
|
670
|
-
. '</p>' . "\n";
|
|
671
|
-
} // end if
|
|
672
|
-
|
|
673
|
-
if (! empty($error_message)) {
|
|
674
|
-
$error_message = preg_replace(
|
|
675
|
-
"@((\015\012)|(\015)|(\012)){3,}@",
|
|
676
|
-
"\n\n",
|
|
677
|
-
$error_message
|
|
678
|
-
);
|
|
679
|
-
}
|
|
680
|
-
// modified to show the help on error-returns
|
|
681
|
-
// (now error-messages-server)
|
|
682
|
-
$error_msg .= '<p>' . "\n"
|
|
683
|
-
. ' <strong>' . __('MySQL said: ') . '</strong>'
|
|
684
|
-
. self::showMySQLDocu('Error-messages-server')
|
|
685
|
-
. "\n"
|
|
686
|
-
. '</p>' . "\n";
|
|
687
|
-
|
|
688
|
-
// The error message will be displayed within a CODE segment.
|
|
689
|
-
// To preserve original formatting, but allow wordwrapping,
|
|
690
|
-
// we do a couple of replacements
|
|
691
|
-
|
|
692
|
-
// Replace all non-single blanks with their HTML-counterpart
|
|
693
|
-
$error_message = str_replace(' ', ' ', $error_message);
|
|
694
|
-
// Replace TAB-characters with their HTML-counterpart
|
|
695
|
-
$error_message = str_replace(
|
|
696
|
-
"\t", ' ', $error_message
|
|
697
|
-
);
|
|
698
|
-
// Replace line breaks
|
|
699
|
-
$error_message = nl2br($error_message);
|
|
700
|
-
|
|
701
|
-
$error_msg .= '<code>' . "\n"
|
|
702
|
-
. $error_message . "\n"
|
|
703
|
-
. '</code><br />' . "\n";
|
|
704
|
-
$error_msg .= '</div>';
|
|
705
|
-
|
|
706
|
-
$_SESSION['Import_message']['message'] = $error_msg;
|
|
707
|
-
|
|
708
|
-
if (!$exit) {
|
|
709
|
-
return $error_msg;
|
|
710
|
-
}
|
|
711
|
-
|
|
712
|
-
/**
|
|
713
|
-
* If in an Ajax request
|
|
714
|
-
* - avoid displaying a Back link
|
|
715
|
-
* - use PMA_Response() to transmit the message and exit
|
|
716
|
-
*/
|
|
717
|
-
if (isset($GLOBALS['is_ajax_request'])
|
|
718
|
-
&& $GLOBALS['is_ajax_request'] == true
|
|
719
|
-
) {
|
|
720
|
-
$response = PMA_Response::getInstance();
|
|
721
|
-
$response->isSuccess(false);
|
|
722
|
-
$response->addJSON('message', $error_msg);
|
|
723
|
-
exit;
|
|
724
|
-
}
|
|
725
|
-
if (! empty($back_url)) {
|
|
726
|
-
if (/*overload*/mb_strstr($back_url, '?')) {
|
|
727
|
-
$back_url .= '&no_history=true';
|
|
728
|
-
} else {
|
|
729
|
-
$back_url .= '?no_history=true';
|
|
730
|
-
}
|
|
731
|
-
|
|
732
|
-
$_SESSION['Import_message']['go_back_url'] = $back_url;
|
|
733
|
-
|
|
734
|
-
$error_msg .= '<fieldset class="tblFooters">'
|
|
735
|
-
. '[ <a href="' . $back_url . '">' . __('Back') . '</a> ]'
|
|
736
|
-
. '</fieldset>' . "\n\n";
|
|
737
|
-
}
|
|
738
|
-
echo $error_msg;
|
|
739
|
-
exit;
|
|
740
|
-
} // end of the 'mysqlDie()' function
|
|
741
|
-
|
|
742
|
-
/**
|
|
743
|
-
* returns array with tables of given db with extended information and grouped
|
|
744
|
-
*
|
|
745
|
-
* @param string $db name of db
|
|
746
|
-
* @param string $tables name of tables
|
|
747
|
-
* @param integer $limit_offset list offset
|
|
748
|
-
* @param int|bool $limit_count max tables to return
|
|
749
|
-
*
|
|
750
|
-
* @return array (recursive) grouped table list
|
|
751
|
-
*/
|
|
752
|
-
public static function getTableList(
|
|
753
|
-
$db, $tables = null, $limit_offset = 0, $limit_count = false
|
|
754
|
-
) {
|
|
755
|
-
$sep = $GLOBALS['cfg']['NavigationTreeTableSeparator'];
|
|
756
|
-
|
|
757
|
-
if ($tables === null) {
|
|
758
|
-
$tables = $GLOBALS['dbi']->getTablesFull(
|
|
759
|
-
$db, '', false, null, $limit_offset, $limit_count
|
|
760
|
-
);
|
|
761
|
-
if ($GLOBALS['cfg']['NaturalOrder']) {
|
|
762
|
-
uksort($tables, 'strnatcasecmp');
|
|
763
|
-
}
|
|
764
|
-
}
|
|
765
|
-
|
|
766
|
-
if (count($tables) < 1) {
|
|
767
|
-
return $tables;
|
|
768
|
-
}
|
|
769
|
-
|
|
770
|
-
$default = array(
|
|
771
|
-
'Name' => '',
|
|
772
|
-
'Rows' => 0,
|
|
773
|
-
'Comment' => '',
|
|
774
|
-
'disp_name' => '',
|
|
775
|
-
);
|
|
776
|
-
|
|
777
|
-
$table_groups = array();
|
|
778
|
-
|
|
779
|
-
foreach ($tables as $table_name => $table) {
|
|
780
|
-
// check for correct row count
|
|
781
|
-
if ($table['Rows'] === null) {
|
|
782
|
-
// Do not check exact row count here,
|
|
783
|
-
// if row count is invalid possibly the table is defect
|
|
784
|
-
// and this would break left frame;
|
|
785
|
-
// but we can check row count if this is a view or the
|
|
786
|
-
// information_schema database
|
|
787
|
-
// since PMA_Table::countRecords() returns a limited row count
|
|
788
|
-
// in this case.
|
|
789
|
-
|
|
790
|
-
// set this because PMA_Table::countRecords() can use it
|
|
791
|
-
$tbl_is_view = $table['TABLE_TYPE'] == 'VIEW';
|
|
792
|
-
|
|
793
|
-
if ($tbl_is_view || $GLOBALS['dbi']->isSystemSchema($db)) {
|
|
794
|
-
$table['Rows'] = PMA_Table::countRecords(
|
|
795
|
-
$db,
|
|
796
|
-
$table['Name'],
|
|
797
|
-
false,
|
|
798
|
-
true
|
|
799
|
-
);
|
|
800
|
-
}
|
|
801
|
-
}
|
|
802
|
-
|
|
803
|
-
// in $group we save the reference to the place in $table_groups
|
|
804
|
-
// where to store the table info
|
|
805
|
-
if ($GLOBALS['cfg']['NavigationTreeEnableGrouping']
|
|
806
|
-
&& $sep && /*overload*/mb_strstr($table_name, $sep)
|
|
807
|
-
) {
|
|
808
|
-
$parts = explode($sep, $table_name);
|
|
809
|
-
|
|
810
|
-
$group =& $table_groups;
|
|
811
|
-
$i = 0;
|
|
812
|
-
$group_name_full = '';
|
|
813
|
-
$parts_cnt = count($parts) - 1;
|
|
814
|
-
|
|
815
|
-
while (($i < $parts_cnt)
|
|
816
|
-
&& ($i < $GLOBALS['cfg']['NavigationTreeTableLevel'])
|
|
817
|
-
) {
|
|
818
|
-
$group_name = $parts[$i] . $sep;
|
|
819
|
-
$group_name_full .= $group_name;
|
|
820
|
-
|
|
821
|
-
if (! isset($group[$group_name])) {
|
|
822
|
-
$group[$group_name] = array();
|
|
823
|
-
$group[$group_name]['is' . $sep . 'group'] = true;
|
|
824
|
-
$group[$group_name]['tab' . $sep . 'count'] = 1;
|
|
825
|
-
$group[$group_name]['tab' . $sep . 'group']
|
|
826
|
-
= $group_name_full;
|
|
827
|
-
|
|
828
|
-
} elseif (! isset($group[$group_name]['is' . $sep . 'group'])) {
|
|
829
|
-
$table = $group[$group_name];
|
|
830
|
-
$group[$group_name] = array();
|
|
831
|
-
$group[$group_name][$group_name] = $table;
|
|
832
|
-
unset($table);
|
|
833
|
-
$group[$group_name]['is' . $sep . 'group'] = true;
|
|
834
|
-
$group[$group_name]['tab' . $sep . 'count'] = 1;
|
|
835
|
-
$group[$group_name]['tab' . $sep . 'group']
|
|
836
|
-
= $group_name_full;
|
|
837
|
-
|
|
838
|
-
} else {
|
|
839
|
-
$group[$group_name]['tab' . $sep . 'count']++;
|
|
840
|
-
}
|
|
841
|
-
|
|
842
|
-
$group =& $group[$group_name];
|
|
843
|
-
$i++;
|
|
844
|
-
}
|
|
845
|
-
|
|
846
|
-
} else {
|
|
847
|
-
if (! isset($table_groups[$table_name])) {
|
|
848
|
-
$table_groups[$table_name] = array();
|
|
849
|
-
}
|
|
850
|
-
$group =& $table_groups;
|
|
851
|
-
}
|
|
852
|
-
|
|
853
|
-
$table['disp_name'] = $table['Name'];
|
|
854
|
-
$group[$table_name] = array_merge($default, $table);
|
|
855
|
-
}
|
|
856
|
-
|
|
857
|
-
return $table_groups;
|
|
858
|
-
}
|
|
859
|
-
|
|
860
|
-
/* ----------------------- Set of misc functions ----------------------- */
|
|
861
|
-
|
|
862
|
-
/**
|
|
863
|
-
* Adds backquotes on both sides of a database, table or field name.
|
|
864
|
-
* and escapes backquotes inside the name with another backquote
|
|
865
|
-
*
|
|
866
|
-
* example:
|
|
867
|
-
* <code>
|
|
868
|
-
* echo backquote('owner`s db'); // `owner``s db`
|
|
869
|
-
*
|
|
870
|
-
* </code>
|
|
871
|
-
*
|
|
872
|
-
* @param mixed $a_name the database, table or field name to "backquote"
|
|
873
|
-
* or array of it
|
|
874
|
-
* @param boolean $do_it a flag to bypass this function (used by dump
|
|
875
|
-
* functions)
|
|
876
|
-
*
|
|
877
|
-
* @return mixed the "backquoted" database, table or field name
|
|
878
|
-
*
|
|
879
|
-
* @access public
|
|
880
|
-
*/
|
|
881
|
-
public static function backquote($a_name, $do_it = true)
|
|
882
|
-
{
|
|
883
|
-
if (is_array($a_name)) {
|
|
884
|
-
foreach ($a_name as &$data) {
|
|
885
|
-
$data = self::backquote($data, $do_it);
|
|
886
|
-
}
|
|
887
|
-
return $a_name;
|
|
888
|
-
}
|
|
889
|
-
|
|
890
|
-
if (! $do_it) {
|
|
891
|
-
global $PMA_SQPdata_forbidden_word;
|
|
892
|
-
$eltNameUpper = /*overload*/mb_strtoupper($a_name);
|
|
893
|
-
if (!in_array($eltNameUpper, $PMA_SQPdata_forbidden_word)) {
|
|
894
|
-
return $a_name;
|
|
895
|
-
}
|
|
896
|
-
}
|
|
897
|
-
|
|
898
|
-
// '0' is also empty for php :-(
|
|
899
|
-
if (/*overload*/mb_strlen($a_name) && $a_name !== '*') {
|
|
900
|
-
return '`' . str_replace('`', '``', $a_name) . '`';
|
|
901
|
-
} else {
|
|
902
|
-
return $a_name;
|
|
903
|
-
}
|
|
904
|
-
} // end of the 'backquote()' function
|
|
905
|
-
|
|
906
|
-
/**
|
|
907
|
-
* Adds backquotes on both sides of a database, table or field name.
|
|
908
|
-
* in compatibility mode
|
|
909
|
-
*
|
|
910
|
-
* example:
|
|
911
|
-
* <code>
|
|
912
|
-
* echo backquoteCompat('owner`s db'); // `owner``s db`
|
|
913
|
-
*
|
|
914
|
-
* </code>
|
|
915
|
-
*
|
|
916
|
-
* @param mixed $a_name the database, table or field name to
|
|
917
|
-
* "backquote" or array of it
|
|
918
|
-
* @param string $compatibility string compatibility mode (used by dump
|
|
919
|
-
* functions)
|
|
920
|
-
* @param boolean $do_it a flag to bypass this function (used by dump
|
|
921
|
-
* functions)
|
|
922
|
-
*
|
|
923
|
-
* @return mixed the "backquoted" database, table or field name
|
|
924
|
-
*
|
|
925
|
-
* @access public
|
|
926
|
-
*/
|
|
927
|
-
public static function backquoteCompat(
|
|
928
|
-
$a_name, $compatibility = 'MSSQL', $do_it = true
|
|
929
|
-
) {
|
|
930
|
-
if (is_array($a_name)) {
|
|
931
|
-
foreach ($a_name as &$data) {
|
|
932
|
-
$data = self::backquoteCompat($data, $compatibility, $do_it);
|
|
933
|
-
}
|
|
934
|
-
return $a_name;
|
|
935
|
-
}
|
|
936
|
-
|
|
937
|
-
if (! $do_it) {
|
|
938
|
-
global $PMA_SQPdata_forbidden_word;
|
|
939
|
-
$eltNameUpper = /*overload*/mb_strtoupper($a_name);
|
|
940
|
-
if (!in_array($eltNameUpper, $PMA_SQPdata_forbidden_word)) {
|
|
941
|
-
return $a_name;
|
|
942
|
-
}
|
|
943
|
-
}
|
|
944
|
-
|
|
945
|
-
// @todo add more compatibility cases (ORACLE for example)
|
|
946
|
-
switch ($compatibility) {
|
|
947
|
-
case 'MSSQL':
|
|
948
|
-
$quote = '"';
|
|
949
|
-
break;
|
|
950
|
-
default:
|
|
951
|
-
$quote = "`";
|
|
952
|
-
break;
|
|
953
|
-
}
|
|
954
|
-
|
|
955
|
-
// '0' is also empty for php :-(
|
|
956
|
-
if (/*overload*/mb_strlen($a_name) && $a_name !== '*') {
|
|
957
|
-
return $quote . $a_name . $quote;
|
|
958
|
-
} else {
|
|
959
|
-
return $a_name;
|
|
960
|
-
}
|
|
961
|
-
} // end of the 'backquoteCompat()' function
|
|
962
|
-
|
|
963
|
-
/**
|
|
964
|
-
* Defines the <CR><LF> value depending on the user OS.
|
|
965
|
-
*
|
|
966
|
-
* @return string the <CR><LF> value to use
|
|
967
|
-
*
|
|
968
|
-
* @access public
|
|
969
|
-
*/
|
|
970
|
-
public static function whichCrlf()
|
|
971
|
-
{
|
|
972
|
-
// The 'PMA_USR_OS' constant is defined in "libraries/Config.class.php"
|
|
973
|
-
// Win case
|
|
974
|
-
if (PMA_USR_OS == 'Win') {
|
|
975
|
-
$the_crlf = "\r\n";
|
|
976
|
-
} else {
|
|
977
|
-
// Others
|
|
978
|
-
$the_crlf = "\n";
|
|
979
|
-
}
|
|
980
|
-
|
|
981
|
-
return $the_crlf;
|
|
982
|
-
} // end of the 'whichCrlf()' function
|
|
983
|
-
|
|
984
|
-
/**
|
|
985
|
-
* Prepare the message and the query
|
|
986
|
-
* usually the message is the result of the query executed
|
|
987
|
-
*
|
|
988
|
-
* @param string $message the message to display
|
|
989
|
-
* @param string $sql_query the query to display
|
|
990
|
-
* @param string $type the type (level) of the message
|
|
991
|
-
*
|
|
992
|
-
* @return string
|
|
993
|
-
*
|
|
994
|
-
* @access public
|
|
995
|
-
*/
|
|
996
|
-
public static function getMessage(
|
|
997
|
-
$message, $sql_query = null, $type = 'notice'
|
|
998
|
-
) {
|
|
999
|
-
global $cfg;
|
|
1000
|
-
$retval = '';
|
|
1001
|
-
|
|
1002
|
-
if (null === $sql_query) {
|
|
1003
|
-
if (! empty($GLOBALS['display_query'])) {
|
|
1004
|
-
$sql_query = $GLOBALS['display_query'];
|
|
1005
|
-
} elseif (! empty($GLOBALS['unparsed_sql'])) {
|
|
1006
|
-
$sql_query = $GLOBALS['unparsed_sql'];
|
|
1007
|
-
} elseif (! empty($GLOBALS['sql_query'])) {
|
|
1008
|
-
$sql_query = $GLOBALS['sql_query'];
|
|
1009
|
-
} else {
|
|
1010
|
-
$sql_query = '';
|
|
1011
|
-
}
|
|
1012
|
-
}
|
|
1013
|
-
|
|
1014
|
-
if (isset($GLOBALS['using_bookmark_message'])) {
|
|
1015
|
-
$retval .= $GLOBALS['using_bookmark_message']->getDisplay();
|
|
1016
|
-
unset($GLOBALS['using_bookmark_message']);
|
|
1017
|
-
}
|
|
1018
|
-
|
|
1019
|
-
// In an Ajax request, $GLOBALS['cell_align_left'] may not be defined. Hence,
|
|
1020
|
-
// check for it's presence before using it
|
|
1021
|
-
$retval .= '<div class="result_query"'
|
|
1022
|
-
. ( isset($GLOBALS['cell_align_left'])
|
|
1023
|
-
? ' style="text-align: ' . $GLOBALS['cell_align_left'] . '"'
|
|
1024
|
-
: '' )
|
|
1025
|
-
. '>' . "\n";
|
|
1026
|
-
|
|
1027
|
-
if ($message instanceof PMA_Message) {
|
|
1028
|
-
if (isset($GLOBALS['special_message'])) {
|
|
1029
|
-
$message->addMessage($GLOBALS['special_message']);
|
|
1030
|
-
unset($GLOBALS['special_message']);
|
|
1031
|
-
}
|
|
1032
|
-
$retval .= $message->getDisplay();
|
|
1033
|
-
} else {
|
|
1034
|
-
$retval .= '<div class="' . $type . '">';
|
|
1035
|
-
$retval .= PMA_sanitize($message);
|
|
1036
|
-
if (isset($GLOBALS['special_message'])) {
|
|
1037
|
-
$retval .= PMA_sanitize($GLOBALS['special_message']);
|
|
1038
|
-
unset($GLOBALS['special_message']);
|
|
1039
|
-
}
|
|
1040
|
-
$retval .= '</div>';
|
|
1041
|
-
}
|
|
1042
|
-
|
|
1043
|
-
if ($cfg['ShowSQL'] == true && ! empty($sql_query) && $sql_query !== ';') {
|
|
1044
|
-
// Html format the query to be displayed
|
|
1045
|
-
// If we want to show some sql code it is easiest to create it here
|
|
1046
|
-
/* SQL-Parser-Analyzer */
|
|
1047
|
-
|
|
1048
|
-
if (! empty($GLOBALS['show_as_php'])) {
|
|
1049
|
-
$new_line = '\\n"<br />' . "\n"
|
|
1050
|
-
. ' . "';
|
|
1051
|
-
$query_base = htmlspecialchars(addslashes($sql_query));
|
|
1052
|
-
$query_base = preg_replace(
|
|
1053
|
-
'/((\015\012)|(\015)|(\012))/', $new_line, $query_base
|
|
1054
|
-
);
|
|
1055
|
-
} else {
|
|
1056
|
-
$query_base = $sql_query;
|
|
1057
|
-
}
|
|
1058
|
-
|
|
1059
|
-
$query_too_big = false;
|
|
1060
|
-
|
|
1061
|
-
$queryLength = /*overload*/mb_strlen($query_base);
|
|
1062
|
-
if ($queryLength > $cfg['MaxCharactersInDisplayedSQL']) {
|
|
1063
|
-
// when the query is large (for example an INSERT of binary
|
|
1064
|
-
// data), the parser chokes; so avoid parsing the query
|
|
1065
|
-
$query_too_big = true;
|
|
1066
|
-
$shortened_query_base = nl2br(
|
|
1067
|
-
htmlspecialchars(
|
|
1068
|
-
/*overload*/mb_substr(
|
|
1069
|
-
$sql_query,
|
|
1070
|
-
0,
|
|
1071
|
-
$cfg['MaxCharactersInDisplayedSQL']
|
|
1072
|
-
) . '[...]'
|
|
1073
|
-
)
|
|
1074
|
-
);
|
|
1075
|
-
} elseif (! empty($GLOBALS['parsed_sql'])
|
|
1076
|
-
&& $query_base == $GLOBALS['parsed_sql']['raw']
|
|
1077
|
-
) {
|
|
1078
|
-
// (here, use "! empty" because when deleting a bookmark,
|
|
1079
|
-
// $GLOBALS['parsed_sql'] is set but empty
|
|
1080
|
-
$parsed_sql = $GLOBALS['parsed_sql'];
|
|
1081
|
-
} else {
|
|
1082
|
-
// Parse SQL if needed
|
|
1083
|
-
$parsed_sql = PMA_SQP_parse($query_base);
|
|
1084
|
-
}
|
|
1085
|
-
|
|
1086
|
-
// Analyze it
|
|
1087
|
-
if (isset($parsed_sql) && ! PMA_SQP_isError()) {
|
|
1088
|
-
$analyzed_display_query = PMA_SQP_analyze($parsed_sql);
|
|
1089
|
-
|
|
1090
|
-
// Same as below (append LIMIT), append the remembered ORDER BY
|
|
1091
|
-
if ($GLOBALS['cfg']['RememberSorting']
|
|
1092
|
-
&& isset($analyzed_display_query[0]['queryflags']['select_from'])
|
|
1093
|
-
&& isset($GLOBALS['sql_order_to_append'])
|
|
1094
|
-
) {
|
|
1095
|
-
$query_base = $analyzed_display_query[0]['section_before_limit']
|
|
1096
|
-
. "\n" . $GLOBALS['sql_order_to_append']
|
|
1097
|
-
. $analyzed_display_query[0]['limit_clause'] . ' '
|
|
1098
|
-
. $analyzed_display_query[0]['section_after_limit'];
|
|
1099
|
-
// update the $analyzed_display_query
|
|
1100
|
-
$analyzed_display_query[0]['section_before_limit']
|
|
1101
|
-
.= $GLOBALS['sql_order_to_append'];
|
|
1102
|
-
$analyzed_display_query[0]['order_by_clause']
|
|
1103
|
-
= $GLOBALS['sorted_col'];
|
|
1104
|
-
}
|
|
1105
|
-
|
|
1106
|
-
// Here we append the LIMIT added for navigation, to
|
|
1107
|
-
// enable its display. Adding it higher in the code
|
|
1108
|
-
// to $sql_query would create a problem when
|
|
1109
|
-
// using the Refresh or Edit links.
|
|
1110
|
-
|
|
1111
|
-
// Only append it on SELECTs.
|
|
1112
|
-
|
|
1113
|
-
/**
|
|
1114
|
-
* @todo what would be the best to do when someone hits Refresh:
|
|
1115
|
-
* use the current LIMITs ?
|
|
1116
|
-
*/
|
|
1117
|
-
|
|
1118
|
-
if (isset($analyzed_display_query[0]['queryflags']['select_from'])
|
|
1119
|
-
&& ! empty($GLOBALS['sql_limit_to_append'])
|
|
1120
|
-
) {
|
|
1121
|
-
$query_base = $analyzed_display_query[0]['section_before_limit']
|
|
1122
|
-
. "\n" . $GLOBALS['sql_limit_to_append']
|
|
1123
|
-
. $analyzed_display_query[0]['section_after_limit'];
|
|
1124
|
-
}
|
|
1125
|
-
}
|
|
1126
|
-
|
|
1127
|
-
if (! empty($GLOBALS['show_as_php'])) {
|
|
1128
|
-
$query_base = '$sql = "' . $query_base;
|
|
1129
|
-
} elseif (isset($query_base)) {
|
|
1130
|
-
$query_base = self::formatSql($query_base);
|
|
1131
|
-
}
|
|
1132
|
-
|
|
1133
|
-
// Prepares links that may be displayed to edit/explain the query
|
|
1134
|
-
// (don't go to default pages, we must go to the page
|
|
1135
|
-
// where the query box is available)
|
|
1136
|
-
|
|
1137
|
-
// Basic url query part
|
|
1138
|
-
$url_params = array();
|
|
1139
|
-
if (! isset($GLOBALS['db'])) {
|
|
1140
|
-
$GLOBALS['db'] = '';
|
|
1141
|
-
}
|
|
1142
|
-
if (/*overload*/mb_strlen($GLOBALS['db'])) {
|
|
1143
|
-
$url_params['db'] = $GLOBALS['db'];
|
|
1144
|
-
if (/*overload*/mb_strlen($GLOBALS['table'])) {
|
|
1145
|
-
$url_params['table'] = $GLOBALS['table'];
|
|
1146
|
-
$edit_link = 'tbl_sql.php';
|
|
1147
|
-
} else {
|
|
1148
|
-
$edit_link = 'db_sql.php';
|
|
1149
|
-
}
|
|
1150
|
-
} else {
|
|
1151
|
-
$edit_link = 'server_sql.php';
|
|
1152
|
-
}
|
|
1153
|
-
|
|
1154
|
-
// Want to have the query explained
|
|
1155
|
-
// but only explain a SELECT (that has not been explained)
|
|
1156
|
-
/* SQL-Parser-Analyzer */
|
|
1157
|
-
$explain_link = '';
|
|
1158
|
-
$is_select = preg_match('@^SELECT[[:space:]]+@i', $sql_query);
|
|
1159
|
-
if (! empty($cfg['SQLQuery']['Explain']) && ! $query_too_big) {
|
|
1160
|
-
$explain_params = $url_params;
|
|
1161
|
-
if ($is_select) {
|
|
1162
|
-
$explain_params['sql_query'] = 'EXPLAIN ' . $sql_query;
|
|
1163
|
-
$_message = __('Explain SQL');
|
|
1164
|
-
} elseif (preg_match(
|
|
1165
|
-
'@^EXPLAIN[[:space:]]+SELECT[[:space:]]+@i', $sql_query
|
|
1166
|
-
)) {
|
|
1167
|
-
$explain_params['sql_query']
|
|
1168
|
-
= /*overload*/mb_substr($sql_query, 8);
|
|
1169
|
-
$_message = __('Skip Explain SQL');
|
|
1170
|
-
}
|
|
1171
|
-
if (isset($explain_params['sql_query']) && isset($_message)) {
|
|
1172
|
-
$explain_link = ' ['
|
|
1173
|
-
. self::linkOrButton(
|
|
1174
|
-
'import.php' . PMA_URL_getCommon($explain_params),
|
|
1175
|
-
$_message
|
|
1176
|
-
) . ']';
|
|
1177
|
-
}
|
|
1178
|
-
} //show explain
|
|
1179
|
-
|
|
1180
|
-
$url_params['sql_query'] = $sql_query;
|
|
1181
|
-
$url_params['show_query'] = 1;
|
|
1182
|
-
|
|
1183
|
-
// even if the query is big and was truncated, offer the chance
|
|
1184
|
-
// to edit it (unless it's enormous, see linkOrButton() )
|
|
1185
|
-
if (! empty($cfg['SQLQuery']['Edit'])) {
|
|
1186
|
-
$edit_link .= PMA_URL_getCommon($url_params) . '#querybox';
|
|
1187
|
-
$edit_link = ' ['
|
|
1188
|
-
. self::linkOrButton(
|
|
1189
|
-
$edit_link, __('Edit')
|
|
1190
|
-
)
|
|
1191
|
-
. ']';
|
|
1192
|
-
} else {
|
|
1193
|
-
$edit_link = '';
|
|
1194
|
-
}
|
|
1195
|
-
|
|
1196
|
-
// Also we would like to get the SQL formed in some nice
|
|
1197
|
-
// php-code
|
|
1198
|
-
if (! empty($cfg['SQLQuery']['ShowAsPHP']) && ! $query_too_big) {
|
|
1199
|
-
$php_params = $url_params;
|
|
1200
|
-
|
|
1201
|
-
if (! empty($GLOBALS['show_as_php'])) {
|
|
1202
|
-
$_message = __('Without PHP Code');
|
|
1203
|
-
} else {
|
|
1204
|
-
$php_params['show_as_php'] = 1;
|
|
1205
|
-
$_message = __('Create PHP Code');
|
|
1206
|
-
}
|
|
1207
|
-
|
|
1208
|
-
$php_link = 'import.php' . PMA_URL_getCommon($php_params);
|
|
1209
|
-
$php_link = ' [' . self::linkOrButton($php_link, $_message) . ']';
|
|
1210
|
-
|
|
1211
|
-
if (isset($GLOBALS['show_as_php'])) {
|
|
1212
|
-
|
|
1213
|
-
$runquery_link = 'import.php'
|
|
1214
|
-
. PMA_URL_getCommon($url_params);
|
|
1215
|
-
|
|
1216
|
-
$php_link .= ' ['
|
|
1217
|
-
. self::linkOrButton($runquery_link, __('Submit Query'))
|
|
1218
|
-
. ']';
|
|
1219
|
-
}
|
|
1220
|
-
} else {
|
|
1221
|
-
$php_link = '';
|
|
1222
|
-
} //show as php
|
|
1223
|
-
|
|
1224
|
-
// Refresh query
|
|
1225
|
-
if (! empty($cfg['SQLQuery']['Refresh'])
|
|
1226
|
-
&& ! isset($GLOBALS['show_as_php']) // 'Submit query' does the same
|
|
1227
|
-
&& preg_match('@^(SELECT|SHOW)[[:space:]]+@i', $sql_query)
|
|
1228
|
-
) {
|
|
1229
|
-
$refresh_link = 'import.php' . PMA_URL_getCommon($url_params);
|
|
1230
|
-
$refresh_link = ' ['
|
|
1231
|
-
. self::linkOrButton($refresh_link, __('Refresh')) . ']';
|
|
1232
|
-
} else {
|
|
1233
|
-
$refresh_link = '';
|
|
1234
|
-
} //refresh
|
|
1235
|
-
|
|
1236
|
-
$retval .= '<div class="sqlOuter">';
|
|
1237
|
-
if ($query_too_big) {
|
|
1238
|
-
$retval .= $shortened_query_base;
|
|
1239
|
-
} else {
|
|
1240
|
-
$retval .= $query_base;
|
|
1241
|
-
}
|
|
1242
|
-
|
|
1243
|
-
//Clean up the end of the PHP
|
|
1244
|
-
if (! empty($GLOBALS['show_as_php'])) {
|
|
1245
|
-
$retval .= '";';
|
|
1246
|
-
}
|
|
1247
|
-
$retval .= '</div>';
|
|
1248
|
-
|
|
1249
|
-
$retval .= '<div class="tools">';
|
|
1250
|
-
$retval .= '<form action="sql.php" method="post">';
|
|
1251
|
-
$retval .= PMA_URL_getHiddenInputs(
|
|
1252
|
-
$GLOBALS['db'], $GLOBALS['table']
|
|
1253
|
-
);
|
|
1254
|
-
$retval .= '<input type="hidden" name="sql_query" value="'
|
|
1255
|
-
. htmlspecialchars($sql_query) . '" />';
|
|
1256
|
-
|
|
1257
|
-
// avoid displaying a Profiling checkbox that could
|
|
1258
|
-
// be checked, which would reexecute an INSERT, for example
|
|
1259
|
-
if (! empty($refresh_link) && self::profilingSupported()) {
|
|
1260
|
-
$retval .= '<input type="hidden" name="profiling_form" value="1" />';
|
|
1261
|
-
$retval .= self::getCheckbox(
|
|
1262
|
-
'profiling', __('Profiling'), isset($_SESSION['profiling']), true
|
|
1263
|
-
);
|
|
1264
|
-
}
|
|
1265
|
-
$retval .= '</form>';
|
|
1266
|
-
|
|
1267
|
-
/**
|
|
1268
|
-
* TODO: Should we have $cfg['SQLQuery']['InlineEdit']?
|
|
1269
|
-
*/
|
|
1270
|
-
if (! empty($cfg['SQLQuery']['Edit']) && ! $query_too_big) {
|
|
1271
|
-
$inline_edit_link = ' ['
|
|
1272
|
-
. self::linkOrButton(
|
|
1273
|
-
'#',
|
|
1274
|
-
_pgettext('Inline edit query', 'Edit inline'),
|
|
1275
|
-
array('class' => 'inline_edit_sql')
|
|
1276
|
-
)
|
|
1277
|
-
. ']';
|
|
1278
|
-
} else {
|
|
1279
|
-
$inline_edit_link = '';
|
|
1280
|
-
}
|
|
1281
|
-
$retval .= $inline_edit_link . $edit_link . $explain_link . $php_link
|
|
1282
|
-
. $refresh_link;
|
|
1283
|
-
$retval .= '</div>';
|
|
1284
|
-
}
|
|
1285
|
-
|
|
1286
|
-
$retval .= '</div>';
|
|
1287
|
-
if ($GLOBALS['is_ajax_request'] === false) {
|
|
1288
|
-
$retval .= '<br class="clearfloat" />';
|
|
1289
|
-
}
|
|
1290
|
-
|
|
1291
|
-
return $retval;
|
|
1292
|
-
} // end of the 'getMessage()' function
|
|
1293
|
-
|
|
1294
|
-
/**
|
|
1295
|
-
* Verifies if current MySQL server supports profiling
|
|
1296
|
-
*
|
|
1297
|
-
* @access public
|
|
1298
|
-
*
|
|
1299
|
-
* @return boolean whether profiling is supported
|
|
1300
|
-
*/
|
|
1301
|
-
public static function profilingSupported()
|
|
1302
|
-
{
|
|
1303
|
-
if (!self::cacheExists('profiling_supported')) {
|
|
1304
|
-
// 5.0.37 has profiling but for example, 5.1.20 does not
|
|
1305
|
-
// (avoid a trip to the server for MySQL before 5.0.37)
|
|
1306
|
-
// and do not set a constant as we might be switching servers
|
|
1307
|
-
if (defined('PMA_MYSQL_INT_VERSION')
|
|
1308
|
-
&& $GLOBALS['dbi']->fetchValue("SHOW VARIABLES LIKE 'profiling'")
|
|
1309
|
-
) {
|
|
1310
|
-
self::cacheSet('profiling_supported', true);
|
|
1311
|
-
} else {
|
|
1312
|
-
self::cacheSet('profiling_supported', false);
|
|
1313
|
-
}
|
|
1314
|
-
}
|
|
1315
|
-
|
|
1316
|
-
return self::cacheGet('profiling_supported');
|
|
1317
|
-
}
|
|
1318
|
-
|
|
1319
|
-
/**
|
|
1320
|
-
* Formats $value to byte view
|
|
1321
|
-
*
|
|
1322
|
-
* @param double|int $value the value to format
|
|
1323
|
-
* @param int $limes the sensitiveness
|
|
1324
|
-
* @param int $comma the number of decimals to retain
|
|
1325
|
-
*
|
|
1326
|
-
* @return array the formatted value and its unit
|
|
1327
|
-
*
|
|
1328
|
-
* @access public
|
|
1329
|
-
*/
|
|
1330
|
-
public static function formatByteDown($value, $limes = 6, $comma = 0)
|
|
1331
|
-
{
|
|
1332
|
-
if ($value === null) {
|
|
1333
|
-
return null;
|
|
1334
|
-
}
|
|
1335
|
-
|
|
1336
|
-
$byteUnits = array(
|
|
1337
|
-
/* l10n: shortcuts for Byte */
|
|
1338
|
-
__('B'),
|
|
1339
|
-
/* l10n: shortcuts for Kilobyte */
|
|
1340
|
-
__('KiB'),
|
|
1341
|
-
/* l10n: shortcuts for Megabyte */
|
|
1342
|
-
__('MiB'),
|
|
1343
|
-
/* l10n: shortcuts for Gigabyte */
|
|
1344
|
-
__('GiB'),
|
|
1345
|
-
/* l10n: shortcuts for Terabyte */
|
|
1346
|
-
__('TiB'),
|
|
1347
|
-
/* l10n: shortcuts for Petabyte */
|
|
1348
|
-
__('PiB'),
|
|
1349
|
-
/* l10n: shortcuts for Exabyte */
|
|
1350
|
-
__('EiB')
|
|
1351
|
-
);
|
|
1352
|
-
|
|
1353
|
-
$dh = self::pow(10, $comma);
|
|
1354
|
-
$li = self::pow(10, $limes);
|
|
1355
|
-
$unit = $byteUnits[0];
|
|
1356
|
-
|
|
1357
|
-
for ($d = 6, $ex = 15; $d >= 1; $d--, $ex-=3) {
|
|
1358
|
-
// cast to float to avoid overflow
|
|
1359
|
-
$unitSize = (float) $li * self::pow(10, $ex);
|
|
1360
|
-
if (isset($byteUnits[$d]) && $value >= $unitSize) {
|
|
1361
|
-
// use 1024.0 to avoid integer overflow on 64-bit machines
|
|
1362
|
-
$value = round($value / (self::pow(1024, $d) / $dh)) /$dh;
|
|
1363
|
-
$unit = $byteUnits[$d];
|
|
1364
|
-
break 1;
|
|
1365
|
-
} // end if
|
|
1366
|
-
} // end for
|
|
1367
|
-
|
|
1368
|
-
if ($unit != $byteUnits[0]) {
|
|
1369
|
-
// if the unit is not bytes (as represented in current language)
|
|
1370
|
-
// reformat with max length of 5
|
|
1371
|
-
// 4th parameter=true means do not reformat if value < 1
|
|
1372
|
-
$return_value = self::formatNumber($value, 5, $comma, true);
|
|
1373
|
-
} else {
|
|
1374
|
-
// do not reformat, just handle the locale
|
|
1375
|
-
$return_value = self::formatNumber($value, 0);
|
|
1376
|
-
}
|
|
1377
|
-
|
|
1378
|
-
return array(trim($return_value), $unit);
|
|
1379
|
-
} // end of the 'formatByteDown' function
|
|
1380
|
-
|
|
1381
|
-
/**
|
|
1382
|
-
* Changes thousands and decimal separators to locale specific values.
|
|
1383
|
-
*
|
|
1384
|
-
* @param string $value the value
|
|
1385
|
-
*
|
|
1386
|
-
* @return string
|
|
1387
|
-
*/
|
|
1388
|
-
public static function localizeNumber($value)
|
|
1389
|
-
{
|
|
1390
|
-
return str_replace(
|
|
1391
|
-
array(',', '.'),
|
|
1392
|
-
array(
|
|
1393
|
-
/* l10n: Thousands separator */
|
|
1394
|
-
__(','),
|
|
1395
|
-
/* l10n: Decimal separator */
|
|
1396
|
-
__('.'),
|
|
1397
|
-
),
|
|
1398
|
-
$value
|
|
1399
|
-
);
|
|
1400
|
-
}
|
|
1401
|
-
|
|
1402
|
-
/**
|
|
1403
|
-
* Formats $value to the given length and appends SI prefixes
|
|
1404
|
-
* with a $length of 0 no truncation occurs, number is only formatted
|
|
1405
|
-
* to the current locale
|
|
1406
|
-
*
|
|
1407
|
-
* examples:
|
|
1408
|
-
* <code>
|
|
1409
|
-
* echo formatNumber(123456789, 6); // 123,457 k
|
|
1410
|
-
* echo formatNumber(-123456789, 4, 2); // -123.46 M
|
|
1411
|
-
* echo formatNumber(-0.003, 6); // -3 m
|
|
1412
|
-
* echo formatNumber(0.003, 3, 3); // 0.003
|
|
1413
|
-
* echo formatNumber(0.00003, 3, 2); // 0.03 m
|
|
1414
|
-
* echo formatNumber(0, 6); // 0
|
|
1415
|
-
* </code>
|
|
1416
|
-
*
|
|
1417
|
-
* @param double $value the value to format
|
|
1418
|
-
* @param integer $digits_left number of digits left of the comma
|
|
1419
|
-
* @param integer $digits_right number of digits right of the comma
|
|
1420
|
-
* @param boolean $only_down do not reformat numbers below 1
|
|
1421
|
-
* @param boolean $noTrailingZero removes trailing zeros right of the comma
|
|
1422
|
-
* (default: true)
|
|
1423
|
-
*
|
|
1424
|
-
* @return string the formatted value and its unit
|
|
1425
|
-
*
|
|
1426
|
-
* @access public
|
|
1427
|
-
*/
|
|
1428
|
-
public static function formatNumber(
|
|
1429
|
-
$value, $digits_left = 3, $digits_right = 0,
|
|
1430
|
-
$only_down = false, $noTrailingZero = true
|
|
1431
|
-
) {
|
|
1432
|
-
if ($value == 0) {
|
|
1433
|
-
return '0';
|
|
1434
|
-
}
|
|
1435
|
-
|
|
1436
|
-
$originalValue = $value;
|
|
1437
|
-
//number_format is not multibyte safe, str_replace is safe
|
|
1438
|
-
if ($digits_left === 0) {
|
|
1439
|
-
$value = number_format($value, $digits_right);
|
|
1440
|
-
if (($originalValue != 0) && (floatval($value) == 0)) {
|
|
1441
|
-
$value = ' <' . (1 / self::pow(10, $digits_right));
|
|
1442
|
-
}
|
|
1443
|
-
return self::localizeNumber($value);
|
|
1444
|
-
}
|
|
1445
|
-
|
|
1446
|
-
// this units needs no translation, ISO
|
|
1447
|
-
$units = array(
|
|
1448
|
-
-8 => 'y',
|
|
1449
|
-
-7 => 'z',
|
|
1450
|
-
-6 => 'a',
|
|
1451
|
-
-5 => 'f',
|
|
1452
|
-
-4 => 'p',
|
|
1453
|
-
-3 => 'n',
|
|
1454
|
-
-2 => 'µ',
|
|
1455
|
-
-1 => 'm',
|
|
1456
|
-
0 => ' ',
|
|
1457
|
-
1 => 'k',
|
|
1458
|
-
2 => 'M',
|
|
1459
|
-
3 => 'G',
|
|
1460
|
-
4 => 'T',
|
|
1461
|
-
5 => 'P',
|
|
1462
|
-
6 => 'E',
|
|
1463
|
-
7 => 'Z',
|
|
1464
|
-
8 => 'Y'
|
|
1465
|
-
);
|
|
1466
|
-
|
|
1467
|
-
// check for negative value to retain sign
|
|
1468
|
-
if ($value < 0) {
|
|
1469
|
-
$sign = '-';
|
|
1470
|
-
$value = abs($value);
|
|
1471
|
-
} else {
|
|
1472
|
-
$sign = '';
|
|
1473
|
-
}
|
|
1474
|
-
|
|
1475
|
-
$dh = self::pow(10, $digits_right);
|
|
1476
|
-
|
|
1477
|
-
/*
|
|
1478
|
-
* This gives us the right SI prefix already,
|
|
1479
|
-
* but $digits_left parameter not incorporated
|
|
1480
|
-
*/
|
|
1481
|
-
$d = floor(log10($value) / 3);
|
|
1482
|
-
/*
|
|
1483
|
-
* Lowering the SI prefix by 1 gives us an additional 3 zeros
|
|
1484
|
-
* So if we have 3,6,9,12.. free digits ($digits_left - $cur_digits)
|
|
1485
|
-
* to use, then lower the SI prefix
|
|
1486
|
-
*/
|
|
1487
|
-
$cur_digits = floor(log10($value / self::pow(1000, $d, 'pow'))+1);
|
|
1488
|
-
if ($digits_left > $cur_digits) {
|
|
1489
|
-
$d -= floor(($digits_left - $cur_digits)/3);
|
|
1490
|
-
}
|
|
1491
|
-
|
|
1492
|
-
if ($d < 0 && $only_down) {
|
|
1493
|
-
$d = 0;
|
|
1494
|
-
}
|
|
1495
|
-
|
|
1496
|
-
$value = round($value / (self::pow(1000, $d, 'pow') / $dh)) /$dh;
|
|
1497
|
-
$unit = $units[$d];
|
|
1498
|
-
|
|
1499
|
-
// If we don't want any zeros after the comma just add the thousand separator
|
|
1500
|
-
if ($noTrailingZero) {
|
|
1501
|
-
$localizedValue = self::localizeNumber(
|
|
1502
|
-
preg_replace('/(?<=\d)(?=(\d{3})+(?!\d))/', ',', $value)
|
|
1503
|
-
);
|
|
1504
|
-
} else {
|
|
1505
|
-
//number_format is not multibyte safe, str_replace is safe
|
|
1506
|
-
$localizedValue = self::localizeNumber(number_format($value, $digits_right));
|
|
1507
|
-
}
|
|
1508
|
-
|
|
1509
|
-
if ($originalValue != 0 && floatval($value) == 0) {
|
|
1510
|
-
return ' <' . self::localizeNumber((1 / self::pow(10, $digits_right))) . ' ' . $unit;
|
|
1511
|
-
}
|
|
1512
|
-
|
|
1513
|
-
return $sign . $localizedValue . ' ' . $unit;
|
|
1514
|
-
} // end of the 'formatNumber' function
|
|
1515
|
-
|
|
1516
|
-
/**
|
|
1517
|
-
* Returns the number of bytes when a formatted size is given
|
|
1518
|
-
*
|
|
1519
|
-
* @param string $formatted_size the size expression (for example 8MB)
|
|
1520
|
-
*
|
|
1521
|
-
* @return integer The numerical part of the expression (for example 8)
|
|
1522
|
-
*/
|
|
1523
|
-
public static function extractValueFromFormattedSize($formatted_size)
|
|
1524
|
-
{
|
|
1525
|
-
$return_value = -1;
|
|
1526
|
-
|
|
1527
|
-
if (preg_match('/^[0-9]+GB$/', $formatted_size)) {
|
|
1528
|
-
$return_value = /*overload*/mb_substr($formatted_size, 0, -2)
|
|
1529
|
-
* self::pow(1024, 3);
|
|
1530
|
-
} elseif (preg_match('/^[0-9]+MB$/', $formatted_size)) {
|
|
1531
|
-
$return_value = /*overload*/mb_substr($formatted_size, 0, -2)
|
|
1532
|
-
* self::pow(1024, 2);
|
|
1533
|
-
} elseif (preg_match('/^[0-9]+K$/', $formatted_size)) {
|
|
1534
|
-
$return_value = /*overload*/mb_substr($formatted_size, 0, -1)
|
|
1535
|
-
* self::pow(1024, 1);
|
|
1536
|
-
}
|
|
1537
|
-
return $return_value;
|
|
1538
|
-
}// end of the 'extractValueFromFormattedSize' function
|
|
1539
|
-
|
|
1540
|
-
/**
|
|
1541
|
-
* Writes localised date
|
|
1542
|
-
*
|
|
1543
|
-
* @param integer $timestamp the current timestamp
|
|
1544
|
-
* @param string $format format
|
|
1545
|
-
*
|
|
1546
|
-
* @return string the formatted date
|
|
1547
|
-
*
|
|
1548
|
-
* @access public
|
|
1549
|
-
*/
|
|
1550
|
-
public static function localisedDate($timestamp = -1, $format = '')
|
|
1551
|
-
{
|
|
1552
|
-
$month = array(
|
|
1553
|
-
/* l10n: Short month name */
|
|
1554
|
-
__('Jan'),
|
|
1555
|
-
/* l10n: Short month name */
|
|
1556
|
-
__('Feb'),
|
|
1557
|
-
/* l10n: Short month name */
|
|
1558
|
-
__('Mar'),
|
|
1559
|
-
/* l10n: Short month name */
|
|
1560
|
-
__('Apr'),
|
|
1561
|
-
/* l10n: Short month name */
|
|
1562
|
-
_pgettext('Short month name', 'May'),
|
|
1563
|
-
/* l10n: Short month name */
|
|
1564
|
-
__('Jun'),
|
|
1565
|
-
/* l10n: Short month name */
|
|
1566
|
-
__('Jul'),
|
|
1567
|
-
/* l10n: Short month name */
|
|
1568
|
-
__('Aug'),
|
|
1569
|
-
/* l10n: Short month name */
|
|
1570
|
-
__('Sep'),
|
|
1571
|
-
/* l10n: Short month name */
|
|
1572
|
-
__('Oct'),
|
|
1573
|
-
/* l10n: Short month name */
|
|
1574
|
-
__('Nov'),
|
|
1575
|
-
/* l10n: Short month name */
|
|
1576
|
-
__('Dec'));
|
|
1577
|
-
$day_of_week = array(
|
|
1578
|
-
/* l10n: Short week day name */
|
|
1579
|
-
_pgettext('Short week day name', 'Sun'),
|
|
1580
|
-
/* l10n: Short week day name */
|
|
1581
|
-
__('Mon'),
|
|
1582
|
-
/* l10n: Short week day name */
|
|
1583
|
-
__('Tue'),
|
|
1584
|
-
/* l10n: Short week day name */
|
|
1585
|
-
__('Wed'),
|
|
1586
|
-
/* l10n: Short week day name */
|
|
1587
|
-
__('Thu'),
|
|
1588
|
-
/* l10n: Short week day name */
|
|
1589
|
-
__('Fri'),
|
|
1590
|
-
/* l10n: Short week day name */
|
|
1591
|
-
__('Sat'));
|
|
1592
|
-
|
|
1593
|
-
if ($format == '') {
|
|
1594
|
-
/* l10n: See http://www.php.net/manual/en/function.strftime.php */
|
|
1595
|
-
$format = __('%B %d, %Y at %I:%M %p');
|
|
1596
|
-
}
|
|
1597
|
-
|
|
1598
|
-
if ($timestamp == -1) {
|
|
1599
|
-
$timestamp = time();
|
|
1600
|
-
}
|
|
1601
|
-
|
|
1602
|
-
$date = preg_replace(
|
|
1603
|
-
'@%[aA]@',
|
|
1604
|
-
$day_of_week[(int)strftime('%w', $timestamp)],
|
|
1605
|
-
$format
|
|
1606
|
-
);
|
|
1607
|
-
$date = preg_replace(
|
|
1608
|
-
'@%[bB]@',
|
|
1609
|
-
$month[(int)strftime('%m', $timestamp)-1],
|
|
1610
|
-
$date
|
|
1611
|
-
);
|
|
1612
|
-
|
|
1613
|
-
$ret = strftime($date, $timestamp);
|
|
1614
|
-
// Some OSes such as Win8.1 Traditional Chinese version did not produce UTF-8
|
|
1615
|
-
// output here. See https://sourceforge.net/p/phpmyadmin/bugs/4207/
|
|
1616
|
-
if (mb_detect_encoding($ret, 'UTF-8', true) != 'UTF-8') {
|
|
1617
|
-
$ret = date('Y-m-d H:i:s', $timestamp);
|
|
1618
|
-
}
|
|
1619
|
-
|
|
1620
|
-
return $ret;
|
|
1621
|
-
} // end of the 'localisedDate()' function
|
|
1622
|
-
|
|
1623
|
-
/**
|
|
1624
|
-
* returns a tab for tabbed navigation.
|
|
1625
|
-
* If the variables $link and $args ar left empty, an inactive tab is created
|
|
1626
|
-
*
|
|
1627
|
-
* @param array $tab array with all options
|
|
1628
|
-
* @param array $url_params tab specific URL parameters
|
|
1629
|
-
*
|
|
1630
|
-
* @return string html code for one tab, a link if valid otherwise a span
|
|
1631
|
-
*
|
|
1632
|
-
* @access public
|
|
1633
|
-
*/
|
|
1634
|
-
public static function getHtmlTab($tab, $url_params = array())
|
|
1635
|
-
{
|
|
1636
|
-
// default values
|
|
1637
|
-
$defaults = array(
|
|
1638
|
-
'text' => '',
|
|
1639
|
-
'class' => '',
|
|
1640
|
-
'active' => null,
|
|
1641
|
-
'link' => '',
|
|
1642
|
-
'sep' => '?',
|
|
1643
|
-
'attr' => '',
|
|
1644
|
-
'args' => '',
|
|
1645
|
-
'warning' => '',
|
|
1646
|
-
'fragment' => '',
|
|
1647
|
-
'id' => '',
|
|
1648
|
-
);
|
|
1649
|
-
|
|
1650
|
-
$tab = array_merge($defaults, $tab);
|
|
1651
|
-
|
|
1652
|
-
// determine additional style-class
|
|
1653
|
-
if (empty($tab['class'])) {
|
|
1654
|
-
if (! empty($tab['active'])
|
|
1655
|
-
|| PMA_isValid($GLOBALS['active_page'], 'identical', $tab['link'])
|
|
1656
|
-
) {
|
|
1657
|
-
$tab['class'] = 'active';
|
|
1658
|
-
} elseif (is_null($tab['active']) && empty($GLOBALS['active_page'])
|
|
1659
|
-
&& (basename($GLOBALS['PMA_PHP_SELF']) == $tab['link'])
|
|
1660
|
-
) {
|
|
1661
|
-
$tab['class'] = 'active';
|
|
1662
|
-
}
|
|
1663
|
-
}
|
|
1664
|
-
|
|
1665
|
-
// If there are any tab specific URL parameters, merge those with
|
|
1666
|
-
// the general URL parameters
|
|
1667
|
-
if (! empty($tab['url_params']) && is_array($tab['url_params'])) {
|
|
1668
|
-
$url_params = array_merge($url_params, $tab['url_params']);
|
|
1669
|
-
}
|
|
1670
|
-
|
|
1671
|
-
// build the link
|
|
1672
|
-
if (! empty($tab['link'])) {
|
|
1673
|
-
$tab['link'] = htmlentities($tab['link']);
|
|
1674
|
-
$tab['link'] = $tab['link'] . PMA_URL_getCommon($url_params);
|
|
1675
|
-
if (! empty($tab['args'])) {
|
|
1676
|
-
foreach ($tab['args'] as $param => $value) {
|
|
1677
|
-
$tab['link'] .= PMA_URL_getArgSeparator('html')
|
|
1678
|
-
. urlencode($param) . '=' . urlencode($value);
|
|
1679
|
-
}
|
|
1680
|
-
}
|
|
1681
|
-
}
|
|
1682
|
-
|
|
1683
|
-
if (! empty($tab['fragment'])) {
|
|
1684
|
-
$tab['link'] .= $tab['fragment'];
|
|
1685
|
-
}
|
|
1686
|
-
|
|
1687
|
-
// display icon
|
|
1688
|
-
if (isset($tab['icon'])) {
|
|
1689
|
-
// avoid generating an alt tag, because it only illustrates
|
|
1690
|
-
// the text that follows and if browser does not display
|
|
1691
|
-
// images, the text is duplicated
|
|
1692
|
-
$tab['text'] = self::getIcon(
|
|
1693
|
-
$tab['icon'],
|
|
1694
|
-
$tab['text'],
|
|
1695
|
-
false,
|
|
1696
|
-
true,
|
|
1697
|
-
'TabsMode'
|
|
1698
|
-
);
|
|
1699
|
-
|
|
1700
|
-
} elseif (empty($tab['text'])) {
|
|
1701
|
-
// check to not display an empty link-text
|
|
1702
|
-
$tab['text'] = '?';
|
|
1703
|
-
trigger_error(
|
|
1704
|
-
'empty linktext in function ' . __FUNCTION__ . '()',
|
|
1705
|
-
E_USER_NOTICE
|
|
1706
|
-
);
|
|
1707
|
-
}
|
|
1708
|
-
|
|
1709
|
-
//Set the id for the tab, if set in the params
|
|
1710
|
-
$id_string = ( empty($tab['id']) ? '' : ' id="' . $tab['id'] . '" ' );
|
|
1711
|
-
$out = '<li' . ($tab['class'] == 'active' ? ' class="active"' : '') . '>';
|
|
1712
|
-
|
|
1713
|
-
if (! empty($tab['link'])) {
|
|
1714
|
-
$out .= '<a class="tab' . htmlentities($tab['class']) . '"'
|
|
1715
|
-
. $id_string
|
|
1716
|
-
. ' href="' . $tab['link'] . '" ' . $tab['attr'] . '>'
|
|
1717
|
-
. $tab['text'] . '</a>';
|
|
1718
|
-
} else {
|
|
1719
|
-
$out .= '<span class="tab' . htmlentities($tab['class']) . '"'
|
|
1720
|
-
. $id_string . '>' . $tab['text'] . '</span>';
|
|
1721
|
-
}
|
|
1722
|
-
|
|
1723
|
-
$out .= '</li>';
|
|
1724
|
-
return $out;
|
|
1725
|
-
} // end of the 'getHtmlTab()' function
|
|
1726
|
-
|
|
1727
|
-
/**
|
|
1728
|
-
* returns html-code for a tab navigation
|
|
1729
|
-
*
|
|
1730
|
-
* @param array $tabs one element per tab
|
|
1731
|
-
* @param array $url_params additional URL parameters
|
|
1732
|
-
* @param string $menu_id HTML id attribute for the menu container
|
|
1733
|
-
* @param bool $resizable whether to add a "resizable" class
|
|
1734
|
-
*
|
|
1735
|
-
* @return string html-code for tab-navigation
|
|
1736
|
-
*/
|
|
1737
|
-
public static function getHtmlTabs($tabs, $url_params, $menu_id,
|
|
1738
|
-
$resizable = false
|
|
1739
|
-
) {
|
|
1740
|
-
$class = '';
|
|
1741
|
-
if ($resizable) {
|
|
1742
|
-
$class = ' class="resizable-menu"';
|
|
1743
|
-
}
|
|
1744
|
-
|
|
1745
|
-
$tab_navigation = '<div id="' . htmlentities($menu_id)
|
|
1746
|
-
. 'container" class="menucontainer">'
|
|
1747
|
-
. '<ul id="' . htmlentities($menu_id) . '" ' . $class . '>';
|
|
1748
|
-
|
|
1749
|
-
foreach ($tabs as $tab) {
|
|
1750
|
-
$tab_navigation .= self::getHtmlTab($tab, $url_params);
|
|
1751
|
-
}
|
|
1752
|
-
|
|
1753
|
-
$tab_navigation .=
|
|
1754
|
-
'<div class="clearfloat"></div>'
|
|
1755
|
-
. '</ul>' . "\n"
|
|
1756
|
-
. '</div>' . "\n";
|
|
1757
|
-
|
|
1758
|
-
return $tab_navigation;
|
|
1759
|
-
}
|
|
1760
|
-
|
|
1761
|
-
/**
|
|
1762
|
-
* Displays a link, or a button if the link's URL is too large, to
|
|
1763
|
-
* accommodate some browsers' limitations
|
|
1764
|
-
*
|
|
1765
|
-
* @param string $url the URL
|
|
1766
|
-
* @param string $message the link message
|
|
1767
|
-
* @param mixed $tag_params string: js confirmation
|
|
1768
|
-
* array: additional tag params (f.e. style="")
|
|
1769
|
-
* @param boolean $new_form we set this to false when we are already in
|
|
1770
|
-
* a form, to avoid generating nested forms
|
|
1771
|
-
* @param boolean $strip_img whether to strip the image
|
|
1772
|
-
* @param string $target target
|
|
1773
|
-
*
|
|
1774
|
-
* @return string the results to be echoed or saved in an array
|
|
1775
|
-
*/
|
|
1776
|
-
public static function linkOrButton(
|
|
1777
|
-
$url, $message, $tag_params = array(),
|
|
1778
|
-
$new_form = true, $strip_img = false, $target = ''
|
|
1779
|
-
) {
|
|
1780
|
-
$url_length = /*overload*/mb_strlen($url);
|
|
1781
|
-
// with this we should be able to catch case of image upload
|
|
1782
|
-
// into a (MEDIUM) BLOB; not worth generating even a form for these
|
|
1783
|
-
if ($url_length > $GLOBALS['cfg']['LinkLengthLimit'] * 100) {
|
|
1784
|
-
return '';
|
|
1785
|
-
}
|
|
1786
|
-
|
|
1787
|
-
if (! is_array($tag_params)) {
|
|
1788
|
-
$tmp = $tag_params;
|
|
1789
|
-
$tag_params = array();
|
|
1790
|
-
if (! empty($tmp)) {
|
|
1791
|
-
$tag_params['onclick'] = 'return confirmLink(this, \''
|
|
1792
|
-
. PMA_escapeJsString($tmp) . '\')';
|
|
1793
|
-
}
|
|
1794
|
-
unset($tmp);
|
|
1795
|
-
}
|
|
1796
|
-
if (! empty($target)) {
|
|
1797
|
-
$tag_params['target'] = htmlentities($target);
|
|
1798
|
-
}
|
|
1799
|
-
|
|
1800
|
-
$displayed_message = '';
|
|
1801
|
-
// Add text if not already added
|
|
1802
|
-
if (stristr($message, '<img')
|
|
1803
|
-
&& (! $strip_img || ($GLOBALS['cfg']['ActionLinksMode'] == 'icons'))
|
|
1804
|
-
&& (strip_tags($message) == $message)
|
|
1805
|
-
) {
|
|
1806
|
-
$displayed_message = '<span>'
|
|
1807
|
-
. htmlspecialchars(
|
|
1808
|
-
preg_replace('/^.*\salt="([^"]*)".*$/si', '\1', $message)
|
|
1809
|
-
)
|
|
1810
|
-
. '</span>';
|
|
1811
|
-
}
|
|
1812
|
-
|
|
1813
|
-
// Suhosin: Check that each query parameter is not above maximum
|
|
1814
|
-
$in_suhosin_limits = true;
|
|
1815
|
-
if ($url_length <= $GLOBALS['cfg']['LinkLengthLimit']) {
|
|
1816
|
-
$suhosin_get_MaxValueLength = ini_get('suhosin.get.max_value_length');
|
|
1817
|
-
if ($suhosin_get_MaxValueLength) {
|
|
1818
|
-
$query_parts = self::splitURLQuery($url);
|
|
1819
|
-
foreach ($query_parts as $query_pair) {
|
|
1820
|
-
if (strpos($query_pair, '=') !== false) {
|
|
1821
|
-
list(, $eachval) = explode('=', $query_pair);
|
|
1822
|
-
if (/*overload*/mb_strlen($eachval) > $suhosin_get_MaxValueLength
|
|
1823
|
-
) {
|
|
1824
|
-
$in_suhosin_limits = false;
|
|
1825
|
-
break;
|
|
1826
|
-
}
|
|
1827
|
-
}
|
|
1828
|
-
}
|
|
1829
|
-
}
|
|
1830
|
-
}
|
|
1831
|
-
|
|
1832
|
-
if (($url_length <= $GLOBALS['cfg']['LinkLengthLimit'])
|
|
1833
|
-
&& $in_suhosin_limits
|
|
1834
|
-
) {
|
|
1835
|
-
$tag_params_strings = array();
|
|
1836
|
-
foreach ($tag_params as $par_name => $par_value) {
|
|
1837
|
-
// htmlspecialchars() only on non javascript
|
|
1838
|
-
$par_value = /*overload*/mb_substr($par_name, 0, 2) == 'on'
|
|
1839
|
-
? $par_value
|
|
1840
|
-
: htmlspecialchars($par_value);
|
|
1841
|
-
$tag_params_strings[] = $par_name . '="' . $par_value . '"';
|
|
1842
|
-
}
|
|
1843
|
-
|
|
1844
|
-
// no whitespace within an <a> else Safari will make it part of the link
|
|
1845
|
-
$ret = "\n" . '<a href="' . $url . '" '
|
|
1846
|
-
. implode(' ', $tag_params_strings) . '>'
|
|
1847
|
-
. $message . $displayed_message . '</a>' . "\n";
|
|
1848
|
-
} else {
|
|
1849
|
-
// no spaces (line breaks) at all
|
|
1850
|
-
// or after the hidden fields
|
|
1851
|
-
// IE will display them all
|
|
1852
|
-
|
|
1853
|
-
if (! isset($query_parts)) {
|
|
1854
|
-
$query_parts = self::splitURLQuery($url);
|
|
1855
|
-
}
|
|
1856
|
-
$url_parts = parse_url($url);
|
|
1857
|
-
|
|
1858
|
-
if ($new_form) {
|
|
1859
|
-
$ret = '<form action="' . $url_parts['path'] . '" class="link"'
|
|
1860
|
-
. ' method="post"' . $target . ' style="display: inline;">';
|
|
1861
|
-
$subname_open = '';
|
|
1862
|
-
$subname_close = '';
|
|
1863
|
-
$submit_link = '#';
|
|
1864
|
-
} else {
|
|
1865
|
-
$query_parts[] = 'redirect=' . $url_parts['path'];
|
|
1866
|
-
if (empty($GLOBALS['subform_counter'])) {
|
|
1867
|
-
$GLOBALS['subform_counter'] = 0;
|
|
1868
|
-
}
|
|
1869
|
-
$GLOBALS['subform_counter']++;
|
|
1870
|
-
$ret = '';
|
|
1871
|
-
$subname_open = 'subform[' . $GLOBALS['subform_counter'] . '][';
|
|
1872
|
-
$subname_close = ']';
|
|
1873
|
-
$submit_link = '#usesubform[' . $GLOBALS['subform_counter']
|
|
1874
|
-
. ']=1';
|
|
1875
|
-
}
|
|
1876
|
-
|
|
1877
|
-
foreach ($query_parts as $query_pair) {
|
|
1878
|
-
list($eachvar, $eachval) = explode('=', $query_pair);
|
|
1879
|
-
$ret .= '<input type="hidden" name="' . $subname_open . $eachvar
|
|
1880
|
-
. $subname_close . '" value="'
|
|
1881
|
-
. htmlspecialchars(urldecode($eachval)) . '" />';
|
|
1882
|
-
} // end while
|
|
1883
|
-
|
|
1884
|
-
if (empty($tag_params['class'])) {
|
|
1885
|
-
$tag_params['class'] = 'formLinkSubmit';
|
|
1886
|
-
} else {
|
|
1887
|
-
$tag_params['class'] .= ' formLinkSubmit';
|
|
1888
|
-
}
|
|
1889
|
-
|
|
1890
|
-
$tag_params_strings = array();
|
|
1891
|
-
foreach ($tag_params as $par_name => $par_value) {
|
|
1892
|
-
// htmlspecialchars() only on non javascript
|
|
1893
|
-
$par_value = /*overload*/mb_substr($par_name, 0, 2) == 'on'
|
|
1894
|
-
? $par_value
|
|
1895
|
-
: htmlspecialchars($par_value);
|
|
1896
|
-
$tag_params_strings[] = $par_name . '="' . $par_value . '"';
|
|
1897
|
-
}
|
|
1898
|
-
|
|
1899
|
-
$ret .= "\n" . '<a href="' . $submit_link . '" '
|
|
1900
|
-
. implode(' ', $tag_params_strings) . '>'
|
|
1901
|
-
. $message . ' ' . $displayed_message . '</a>' . "\n";
|
|
1902
|
-
|
|
1903
|
-
if ($new_form) {
|
|
1904
|
-
$ret .= '</form>';
|
|
1905
|
-
}
|
|
1906
|
-
} // end if... else...
|
|
1907
|
-
|
|
1908
|
-
return $ret;
|
|
1909
|
-
} // end of the 'linkOrButton()' function
|
|
1910
|
-
|
|
1911
|
-
/**
|
|
1912
|
-
* Splits a URL string by parameter
|
|
1913
|
-
*
|
|
1914
|
-
* @param string $url the URL
|
|
1915
|
-
*
|
|
1916
|
-
* @return array the parameter/value pairs, for example [0] db=sakila
|
|
1917
|
-
*/
|
|
1918
|
-
public static function splitURLQuery($url)
|
|
1919
|
-
{
|
|
1920
|
-
// decode encoded url separators
|
|
1921
|
-
$separator = PMA_URL_getArgSeparator();
|
|
1922
|
-
// on most places separator is still hard coded ...
|
|
1923
|
-
if ($separator !== '&') {
|
|
1924
|
-
// ... so always replace & with $separator
|
|
1925
|
-
$url = str_replace(htmlentities('&'), $separator, $url);
|
|
1926
|
-
$url = str_replace('&', $separator, $url);
|
|
1927
|
-
}
|
|
1928
|
-
|
|
1929
|
-
$url = str_replace(htmlentities($separator), $separator, $url);
|
|
1930
|
-
// end decode
|
|
1931
|
-
|
|
1932
|
-
$url_parts = parse_url($url);
|
|
1933
|
-
|
|
1934
|
-
if (! empty($url_parts['query'])) {
|
|
1935
|
-
return explode($separator, $url_parts['query']);
|
|
1936
|
-
} else {
|
|
1937
|
-
return array();
|
|
1938
|
-
}
|
|
1939
|
-
}
|
|
1940
|
-
|
|
1941
|
-
/**
|
|
1942
|
-
* Returns a given timespan value in a readable format.
|
|
1943
|
-
*
|
|
1944
|
-
* @param int $seconds the timespan
|
|
1945
|
-
*
|
|
1946
|
-
* @return string the formatted value
|
|
1947
|
-
*/
|
|
1948
|
-
public static function timespanFormat($seconds)
|
|
1949
|
-
{
|
|
1950
|
-
$days = floor($seconds / 86400);
|
|
1951
|
-
if ($days > 0) {
|
|
1952
|
-
$seconds -= $days * 86400;
|
|
1953
|
-
}
|
|
1954
|
-
|
|
1955
|
-
$hours = floor($seconds / 3600);
|
|
1956
|
-
if ($days > 0 || $hours > 0) {
|
|
1957
|
-
$seconds -= $hours * 3600;
|
|
1958
|
-
}
|
|
1959
|
-
|
|
1960
|
-
$minutes = floor($seconds / 60);
|
|
1961
|
-
if ($days > 0 || $hours > 0 || $minutes > 0) {
|
|
1962
|
-
$seconds -= $minutes * 60;
|
|
1963
|
-
}
|
|
1964
|
-
|
|
1965
|
-
return sprintf(
|
|
1966
|
-
__('%s days, %s hours, %s minutes and %s seconds'),
|
|
1967
|
-
(string)$days, (string)$hours, (string)$minutes, (string)$seconds
|
|
1968
|
-
);
|
|
1969
|
-
}
|
|
1970
|
-
|
|
1971
|
-
/**
|
|
1972
|
-
* Takes a string and outputs each character on a line for itself. Used
|
|
1973
|
-
* mainly for horizontalflipped display mode.
|
|
1974
|
-
* Takes care of special html-characters.
|
|
1975
|
-
* Fulfills https://sourceforge.net/p/phpmyadmin/feature-requests/164/
|
|
1976
|
-
*
|
|
1977
|
-
* @param string $string The string
|
|
1978
|
-
* @param string $Separator The Separator (defaults to "<br />\n")
|
|
1979
|
-
*
|
|
1980
|
-
* @access public
|
|
1981
|
-
* @todo add a multibyte safe function $GLOBALS['PMA_String']->split()
|
|
1982
|
-
*
|
|
1983
|
-
* @return string The flipped string
|
|
1984
|
-
*/
|
|
1985
|
-
public static function flipstring($string, $Separator = "<br />\n")
|
|
1986
|
-
{
|
|
1987
|
-
$format_string = '';
|
|
1988
|
-
$charbuff = false;
|
|
1989
|
-
|
|
1990
|
-
for ($i = 0, $str_len = /*overload*/mb_strlen($string);
|
|
1991
|
-
$i < $str_len;
|
|
1992
|
-
$i++
|
|
1993
|
-
) {
|
|
1994
|
-
$char = $string{$i};
|
|
1995
|
-
$append = false;
|
|
1996
|
-
|
|
1997
|
-
if ($char == '&') {
|
|
1998
|
-
$format_string .= $charbuff;
|
|
1999
|
-
$charbuff = $char;
|
|
2000
|
-
} elseif ($char == ';' && ! empty($charbuff)) {
|
|
2001
|
-
$format_string .= $charbuff . $char;
|
|
2002
|
-
$charbuff = false;
|
|
2003
|
-
$append = true;
|
|
2004
|
-
} elseif (! empty($charbuff)) {
|
|
2005
|
-
$charbuff .= $char;
|
|
2006
|
-
} else {
|
|
2007
|
-
$format_string .= $char;
|
|
2008
|
-
$append = true;
|
|
2009
|
-
}
|
|
2010
|
-
|
|
2011
|
-
// do not add separator after the last character
|
|
2012
|
-
if ($append && ($i != $str_len - 1)) {
|
|
2013
|
-
$format_string .= $Separator;
|
|
2014
|
-
}
|
|
2015
|
-
}
|
|
2016
|
-
|
|
2017
|
-
return $format_string;
|
|
2018
|
-
}
|
|
2019
|
-
|
|
2020
|
-
/**
|
|
2021
|
-
* Function added to avoid path disclosures.
|
|
2022
|
-
* Called by each script that needs parameters, it displays
|
|
2023
|
-
* an error message and, by default, stops the execution.
|
|
2024
|
-
*
|
|
2025
|
-
* Not sure we could use a strMissingParameter message here,
|
|
2026
|
-
* would have to check if the error message file is always available
|
|
2027
|
-
*
|
|
2028
|
-
* @param string[] $params The names of the parameters needed by the calling
|
|
2029
|
-
* script
|
|
2030
|
-
* @param bool $request Whether to include this list in checking for
|
|
2031
|
-
* special params
|
|
2032
|
-
*
|
|
2033
|
-
* @return void
|
|
2034
|
-
*
|
|
2035
|
-
* @global boolean $checked_special flag whether any special variable
|
|
2036
|
-
* was required
|
|
2037
|
-
*
|
|
2038
|
-
* @access public
|
|
2039
|
-
*/
|
|
2040
|
-
public static function checkParameters($params, $request = true)
|
|
2041
|
-
{
|
|
2042
|
-
global $checked_special;
|
|
2043
|
-
|
|
2044
|
-
if (! isset($checked_special)) {
|
|
2045
|
-
$checked_special = false;
|
|
2046
|
-
}
|
|
2047
|
-
|
|
2048
|
-
$reported_script_name = basename($GLOBALS['PMA_PHP_SELF']);
|
|
2049
|
-
$found_error = false;
|
|
2050
|
-
$error_message = '';
|
|
2051
|
-
|
|
2052
|
-
foreach ($params as $param) {
|
|
2053
|
-
if ($request && ($param != 'db') && ($param != 'table')) {
|
|
2054
|
-
$checked_special = true;
|
|
2055
|
-
}
|
|
2056
|
-
|
|
2057
|
-
if (! isset($GLOBALS[$param])) {
|
|
2058
|
-
$error_message .= $reported_script_name
|
|
2059
|
-
. ': ' . __('Missing parameter:') . ' '
|
|
2060
|
-
. $param
|
|
2061
|
-
. self::showDocu('faq', 'faqmissingparameters')
|
|
2062
|
-
. '<br />';
|
|
2063
|
-
$found_error = true;
|
|
2064
|
-
}
|
|
2065
|
-
}
|
|
2066
|
-
if ($found_error) {
|
|
2067
|
-
PMA_fatalError($error_message, null, false);
|
|
2068
|
-
}
|
|
2069
|
-
} // end function
|
|
2070
|
-
|
|
2071
|
-
/**
|
|
2072
|
-
* Function to generate unique condition for specified row.
|
|
2073
|
-
*
|
|
2074
|
-
* @param resource $handle current query result
|
|
2075
|
-
* @param integer $fields_cnt number of fields
|
|
2076
|
-
* @param array $fields_meta meta information about fields
|
|
2077
|
-
* @param array $row current row
|
|
2078
|
-
* @param boolean $force_unique generate condition only on pk or
|
|
2079
|
-
* unique
|
|
2080
|
-
* @param string|boolean $restrict_to_table restrict the unique condition to
|
|
2081
|
-
* this table or false if none
|
|
2082
|
-
*
|
|
2083
|
-
* @access public
|
|
2084
|
-
*
|
|
2085
|
-
* @return array the calculated condition and whether condition is unique
|
|
2086
|
-
*/
|
|
2087
|
-
public static function getUniqueCondition(
|
|
2088
|
-
$handle, $fields_cnt, $fields_meta, $row, $force_unique = false,
|
|
2089
|
-
$restrict_to_table = false
|
|
2090
|
-
) {
|
|
2091
|
-
$primary_key = '';
|
|
2092
|
-
$unique_key = '';
|
|
2093
|
-
$nonprimary_condition = '';
|
|
2094
|
-
$preferred_condition = '';
|
|
2095
|
-
$primary_key_array = array();
|
|
2096
|
-
$unique_key_array = array();
|
|
2097
|
-
$nonprimary_condition_array = array();
|
|
2098
|
-
$condition_array = array();
|
|
2099
|
-
|
|
2100
|
-
for ($i = 0; $i < $fields_cnt; ++$i) {
|
|
2101
|
-
|
|
2102
|
-
$con_val = '';
|
|
2103
|
-
$field_flags = $GLOBALS['dbi']->fieldFlags($handle, $i);
|
|
2104
|
-
$meta = $fields_meta[$i];
|
|
2105
|
-
|
|
2106
|
-
// do not use a column alias in a condition
|
|
2107
|
-
if (! isset($meta->orgname) || ! /*overload*/mb_strlen($meta->orgname)) {
|
|
2108
|
-
$meta->orgname = $meta->name;
|
|
2109
|
-
|
|
2110
|
-
if (isset($GLOBALS['analyzed_sql'][0]['select_expr'])
|
|
2111
|
-
&& is_array($GLOBALS['analyzed_sql'][0]['select_expr'])
|
|
2112
|
-
) {
|
|
2113
|
-
foreach (
|
|
2114
|
-
$GLOBALS['analyzed_sql'][0]['select_expr'] as $select_expr
|
|
2115
|
-
) {
|
|
2116
|
-
// need (string) === (string)
|
|
2117
|
-
// '' !== 0 but '' == 0
|
|
2118
|
-
if ((string)$select_expr['alias'] === (string)$meta->name) {
|
|
2119
|
-
$meta->orgname = $select_expr['column'];
|
|
2120
|
-
break;
|
|
2121
|
-
} // end if
|
|
2122
|
-
} // end foreach
|
|
2123
|
-
}
|
|
2124
|
-
}
|
|
2125
|
-
|
|
2126
|
-
// Do not use a table alias in a condition.
|
|
2127
|
-
// Test case is:
|
|
2128
|
-
// select * from galerie x WHERE
|
|
2129
|
-
//(select count(*) from galerie y where y.datum=x.datum)>1
|
|
2130
|
-
//
|
|
2131
|
-
// But orgtable is present only with mysqli extension so the
|
|
2132
|
-
// fix is only for mysqli.
|
|
2133
|
-
// Also, do not use the original table name if we are dealing with
|
|
2134
|
-
// a view because this view might be updatable.
|
|
2135
|
-
// (The isView() verification should not be costly in most cases
|
|
2136
|
-
// because there is some caching in the function).
|
|
2137
|
-
if (isset($meta->orgtable)
|
|
2138
|
-
&& ($meta->table != $meta->orgtable)
|
|
2139
|
-
&& ! PMA_Table::isView($GLOBALS['db'], $meta->table)
|
|
2140
|
-
) {
|
|
2141
|
-
$meta->table = $meta->orgtable;
|
|
2142
|
-
}
|
|
2143
|
-
|
|
2144
|
-
// If this field is not from the table which the unique clause needs
|
|
2145
|
-
// to be restricted to.
|
|
2146
|
-
if ($restrict_to_table && $restrict_to_table != $meta->table) {
|
|
2147
|
-
continue;
|
|
2148
|
-
}
|
|
2149
|
-
|
|
2150
|
-
// to fix the bug where float fields (primary or not)
|
|
2151
|
-
// can't be matched because of the imprecision of
|
|
2152
|
-
// floating comparison, use CONCAT
|
|
2153
|
-
// (also, the syntax "CONCAT(field) IS NULL"
|
|
2154
|
-
// that we need on the next "if" will work)
|
|
2155
|
-
if ($meta->type == 'real') {
|
|
2156
|
-
$con_key = 'CONCAT(' . self::backquote($meta->table) . '.'
|
|
2157
|
-
. self::backquote($meta->orgname) . ')';
|
|
2158
|
-
} else {
|
|
2159
|
-
$con_key = self::backquote($meta->table) . '.'
|
|
2160
|
-
. self::backquote($meta->orgname);
|
|
2161
|
-
} // end if... else...
|
|
2162
|
-
$condition = ' ' . $con_key . ' ';
|
|
2163
|
-
|
|
2164
|
-
if (! isset($row[$i]) || is_null($row[$i])) {
|
|
2165
|
-
$con_val = 'IS NULL';
|
|
2166
|
-
} else {
|
|
2167
|
-
// timestamp is numeric on some MySQL 4.1
|
|
2168
|
-
// for real we use CONCAT above and it should compare to string
|
|
2169
|
-
if ($meta->numeric
|
|
2170
|
-
&& ($meta->type != 'timestamp')
|
|
2171
|
-
&& ($meta->type != 'real')
|
|
2172
|
-
) {
|
|
2173
|
-
$con_val = '= ' . $row[$i];
|
|
2174
|
-
} elseif ((($meta->type == 'blob') || ($meta->type == 'string'))
|
|
2175
|
-
&& stristr($field_flags, 'BINARY')
|
|
2176
|
-
&& ! empty($row[$i])
|
|
2177
|
-
) {
|
|
2178
|
-
// hexify only if this is a true not empty BLOB or a BINARY
|
|
2179
|
-
|
|
2180
|
-
// do not waste memory building a too big condition
|
|
2181
|
-
if (/*overload*/mb_strlen($row[$i]) < 1000) {
|
|
2182
|
-
// use a CAST if possible, to avoid problems
|
|
2183
|
-
// if the field contains wildcard characters % or _
|
|
2184
|
-
$con_val = '= CAST(0x' . bin2hex($row[$i]) . ' AS BINARY)';
|
|
2185
|
-
} else if ($fields_cnt == 1) {
|
|
2186
|
-
// when this blob is the only field present
|
|
2187
|
-
// try settling with length comparison
|
|
2188
|
-
$condition = ' CHAR_LENGTH(' . $con_key . ') ';
|
|
2189
|
-
$con_val = ' = ' . /*overload*/mb_strlen($row[$i]);
|
|
2190
|
-
} else {
|
|
2191
|
-
// this blob won't be part of the final condition
|
|
2192
|
-
$con_val = null;
|
|
2193
|
-
}
|
|
2194
|
-
} elseif (in_array($meta->type, self::getGISDatatypes())
|
|
2195
|
-
&& ! empty($row[$i])
|
|
2196
|
-
) {
|
|
2197
|
-
// do not build a too big condition
|
|
2198
|
-
if (/*overload*/mb_strlen($row[$i]) < 5000) {
|
|
2199
|
-
$condition .= '=0x' . bin2hex($row[$i]) . ' AND';
|
|
2200
|
-
} else {
|
|
2201
|
-
$condition = '';
|
|
2202
|
-
}
|
|
2203
|
-
} elseif ($meta->type == 'bit') {
|
|
2204
|
-
$con_val = "= b'"
|
|
2205
|
-
. self::printableBitValue($row[$i], $meta->length) . "'";
|
|
2206
|
-
} else {
|
|
2207
|
-
$con_val = '= \''
|
|
2208
|
-
. self::sqlAddSlashes($row[$i], false, true) . '\'';
|
|
2209
|
-
}
|
|
2210
|
-
}
|
|
2211
|
-
|
|
2212
|
-
if ($con_val != null) {
|
|
2213
|
-
|
|
2214
|
-
$condition .= $con_val . ' AND';
|
|
2215
|
-
|
|
2216
|
-
if ($meta->primary_key > 0) {
|
|
2217
|
-
$primary_key .= $condition;
|
|
2218
|
-
$primary_key_array[$con_key] = $con_val;
|
|
2219
|
-
} elseif ($meta->unique_key > 0) {
|
|
2220
|
-
$unique_key .= $condition;
|
|
2221
|
-
$unique_key_array[$con_key] = $con_val;
|
|
2222
|
-
}
|
|
2223
|
-
|
|
2224
|
-
$nonprimary_condition .= $condition;
|
|
2225
|
-
$nonprimary_condition_array[$con_key] = $con_val;
|
|
2226
|
-
}
|
|
2227
|
-
} // end for
|
|
2228
|
-
|
|
2229
|
-
// Correction University of Virginia 19991216:
|
|
2230
|
-
// prefer primary or unique keys for condition,
|
|
2231
|
-
// but use conjunction of all values if no primary key
|
|
2232
|
-
$clause_is_unique = true;
|
|
2233
|
-
|
|
2234
|
-
if ($primary_key) {
|
|
2235
|
-
$preferred_condition = $primary_key;
|
|
2236
|
-
$condition_array = $primary_key_array;
|
|
2237
|
-
|
|
2238
|
-
} elseif ($unique_key) {
|
|
2239
|
-
$preferred_condition = $unique_key;
|
|
2240
|
-
$condition_array = $unique_key_array;
|
|
2241
|
-
|
|
2242
|
-
} elseif (! $force_unique) {
|
|
2243
|
-
$preferred_condition = $nonprimary_condition;
|
|
2244
|
-
$condition_array = $nonprimary_condition_array;
|
|
2245
|
-
$clause_is_unique = false;
|
|
2246
|
-
}
|
|
2247
|
-
|
|
2248
|
-
$where_clause = trim(preg_replace('|\s?AND$|', '', $preferred_condition));
|
|
2249
|
-
return(array($where_clause, $clause_is_unique, $condition_array));
|
|
2250
|
-
} // end function
|
|
2251
|
-
|
|
2252
|
-
/**
|
|
2253
|
-
* Generate a button or image tag
|
|
2254
|
-
*
|
|
2255
|
-
* @param string $button_name name of button element
|
|
2256
|
-
* @param string $button_class class of button or image element
|
|
2257
|
-
* @param string $image_name name of image element
|
|
2258
|
-
* @param string $text text to display
|
|
2259
|
-
* @param string $image image to display
|
|
2260
|
-
* @param string $value value
|
|
2261
|
-
*
|
|
2262
|
-
* @return string html content
|
|
2263
|
-
*
|
|
2264
|
-
* @access public
|
|
2265
|
-
*/
|
|
2266
|
-
public static function getButtonOrImage(
|
|
2267
|
-
$button_name, $button_class, $image_name, $text, $image, $value = ''
|
|
2268
|
-
) {
|
|
2269
|
-
if ($value == '') {
|
|
2270
|
-
$value = $text;
|
|
2271
|
-
}
|
|
2272
|
-
|
|
2273
|
-
if ($GLOBALS['cfg']['ActionLinksMode'] == 'text') {
|
|
2274
|
-
return ' <input type="submit" name="' . $button_name . '"'
|
|
2275
|
-
. ' value="' . htmlspecialchars($value) . '"'
|
|
2276
|
-
. ' title="' . htmlspecialchars($text) . '" />' . "\n";
|
|
2277
|
-
}
|
|
2278
|
-
|
|
2279
|
-
/* Opera has trouble with <input type="image"> */
|
|
2280
|
-
/* IE (before version 9) has trouble with <button> */
|
|
2281
|
-
if (PMA_USR_BROWSER_AGENT == 'IE' && PMA_USR_BROWSER_VER < 9) {
|
|
2282
|
-
return '<input type="image" name="' . $image_name
|
|
2283
|
-
. '" class="' . $button_class
|
|
2284
|
-
. '" value="' . htmlspecialchars($value)
|
|
2285
|
-
. '" title="' . htmlspecialchars($text)
|
|
2286
|
-
. '" src="' . $GLOBALS['pmaThemeImage'] . $image . '" />'
|
|
2287
|
-
. ($GLOBALS['cfg']['ActionLinksMode'] == 'both'
|
|
2288
|
-
? ' ' . htmlspecialchars($text)
|
|
2289
|
-
: '') . "\n";
|
|
2290
|
-
} else {
|
|
2291
|
-
return '<button class="' . $button_class . '" type="submit"'
|
|
2292
|
-
. ' name="' . $button_name . '" value="' . htmlspecialchars($value)
|
|
2293
|
-
. '" title="' . htmlspecialchars($text) . '">' . "\n"
|
|
2294
|
-
. self::getIcon($image, $text)
|
|
2295
|
-
. '</button>' . "\n";
|
|
2296
|
-
}
|
|
2297
|
-
} // end function
|
|
2298
|
-
|
|
2299
|
-
/**
|
|
2300
|
-
* Generate a pagination selector for browsing resultsets
|
|
2301
|
-
*
|
|
2302
|
-
* @param string $name The name for the request parameter
|
|
2303
|
-
* @param int $rows Number of rows in the pagination set
|
|
2304
|
-
* @param int $pageNow current page number
|
|
2305
|
-
* @param int $nbTotalPage number of total pages
|
|
2306
|
-
* @param int $showAll If the number of pages is lower than this
|
|
2307
|
-
* variable, no pages will be omitted in pagination
|
|
2308
|
-
* @param int $sliceStart How many rows at the beginning should always
|
|
2309
|
-
* be shown?
|
|
2310
|
-
* @param int $sliceEnd How many rows at the end should always be shown?
|
|
2311
|
-
* @param int $percent Percentage of calculation page offsets to hop to a
|
|
2312
|
-
* next page
|
|
2313
|
-
* @param int $range Near the current page, how many pages should
|
|
2314
|
-
* be considered "nearby" and displayed as well?
|
|
2315
|
-
* @param string $prompt The prompt to display (sometimes empty)
|
|
2316
|
-
*
|
|
2317
|
-
* @return string
|
|
2318
|
-
*
|
|
2319
|
-
* @access public
|
|
2320
|
-
*/
|
|
2321
|
-
public static function pageselector(
|
|
2322
|
-
$name, $rows, $pageNow = 1, $nbTotalPage = 1, $showAll = 200,
|
|
2323
|
-
$sliceStart = 5,
|
|
2324
|
-
$sliceEnd = 5, $percent = 20, $range = 10, $prompt = ''
|
|
2325
|
-
) {
|
|
2326
|
-
$increment = floor($nbTotalPage / $percent);
|
|
2327
|
-
$pageNowMinusRange = ($pageNow - $range);
|
|
2328
|
-
$pageNowPlusRange = ($pageNow + $range);
|
|
2329
|
-
|
|
2330
|
-
$gotopage = $prompt . ' <select class="pageselector ajax"';
|
|
2331
|
-
|
|
2332
|
-
$gotopage .= ' name="' . $name . '" >';
|
|
2333
|
-
if ($nbTotalPage < $showAll) {
|
|
2334
|
-
$pages = range(1, $nbTotalPage);
|
|
2335
|
-
} else {
|
|
2336
|
-
$pages = array();
|
|
2337
|
-
|
|
2338
|
-
// Always show first X pages
|
|
2339
|
-
for ($i = 1; $i <= $sliceStart; $i++) {
|
|
2340
|
-
$pages[] = $i;
|
|
2341
|
-
}
|
|
2342
|
-
|
|
2343
|
-
// Always show last X pages
|
|
2344
|
-
for ($i = $nbTotalPage - $sliceEnd; $i <= $nbTotalPage; $i++) {
|
|
2345
|
-
$pages[] = $i;
|
|
2346
|
-
}
|
|
2347
|
-
|
|
2348
|
-
// Based on the number of results we add the specified
|
|
2349
|
-
// $percent percentage to each page number,
|
|
2350
|
-
// so that we have a representing page number every now and then to
|
|
2351
|
-
// immediately jump to specific pages.
|
|
2352
|
-
// As soon as we get near our currently chosen page ($pageNow -
|
|
2353
|
-
// $range), every page number will be shown.
|
|
2354
|
-
$i = $sliceStart;
|
|
2355
|
-
$x = $nbTotalPage - $sliceEnd;
|
|
2356
|
-
$met_boundary = false;
|
|
2357
|
-
|
|
2358
|
-
while ($i <= $x) {
|
|
2359
|
-
if ($i >= $pageNowMinusRange && $i <= $pageNowPlusRange) {
|
|
2360
|
-
// If our pageselector comes near the current page, we use 1
|
|
2361
|
-
// counter increments
|
|
2362
|
-
$i++;
|
|
2363
|
-
$met_boundary = true;
|
|
2364
|
-
} else {
|
|
2365
|
-
// We add the percentage increment to our current page to
|
|
2366
|
-
// hop to the next one in range
|
|
2367
|
-
$i += $increment;
|
|
2368
|
-
|
|
2369
|
-
// Make sure that we do not cross our boundaries.
|
|
2370
|
-
if ($i > $pageNowMinusRange && ! $met_boundary) {
|
|
2371
|
-
$i = $pageNowMinusRange;
|
|
2372
|
-
}
|
|
2373
|
-
}
|
|
2374
|
-
|
|
2375
|
-
if ($i > 0 && $i <= $x) {
|
|
2376
|
-
$pages[] = $i;
|
|
2377
|
-
}
|
|
2378
|
-
}
|
|
2379
|
-
|
|
2380
|
-
/*
|
|
2381
|
-
Add page numbers with "geometrically increasing" distances.
|
|
2382
|
-
|
|
2383
|
-
This helps me a lot when navigating through giant tables.
|
|
2384
|
-
|
|
2385
|
-
Test case: table with 2.28 million sets, 76190 pages. Page of interest
|
|
2386
|
-
is between 72376 and 76190.
|
|
2387
|
-
Selecting page 72376.
|
|
2388
|
-
Now, old version enumerated only +/- 10 pages around 72376 and the
|
|
2389
|
-
percentage increment produced steps of about 3000.
|
|
2390
|
-
|
|
2391
|
-
The following code adds page numbers +/- 2,4,8,16,32,64,128,256 etc.
|
|
2392
|
-
around the current page.
|
|
2393
|
-
*/
|
|
2394
|
-
$i = $pageNow;
|
|
2395
|
-
$dist = 1;
|
|
2396
|
-
while ($i < $x) {
|
|
2397
|
-
$dist = 2 * $dist;
|
|
2398
|
-
$i = $pageNow + $dist;
|
|
2399
|
-
if ($i > 0 && $i <= $x) {
|
|
2400
|
-
$pages[] = $i;
|
|
2401
|
-
}
|
|
2402
|
-
}
|
|
2403
|
-
|
|
2404
|
-
$i = $pageNow;
|
|
2405
|
-
$dist = 1;
|
|
2406
|
-
while ($i > 0) {
|
|
2407
|
-
$dist = 2 * $dist;
|
|
2408
|
-
$i = $pageNow - $dist;
|
|
2409
|
-
if ($i > 0 && $i <= $x) {
|
|
2410
|
-
$pages[] = $i;
|
|
2411
|
-
}
|
|
2412
|
-
}
|
|
2413
|
-
|
|
2414
|
-
// Since because of ellipsing of the current page some numbers may be
|
|
2415
|
-
// double, we unify our array:
|
|
2416
|
-
sort($pages);
|
|
2417
|
-
$pages = array_unique($pages);
|
|
2418
|
-
}
|
|
2419
|
-
|
|
2420
|
-
foreach ($pages as $i) {
|
|
2421
|
-
if ($i == $pageNow) {
|
|
2422
|
-
$selected = 'selected="selected" style="font-weight: bold"';
|
|
2423
|
-
} else {
|
|
2424
|
-
$selected = '';
|
|
2425
|
-
}
|
|
2426
|
-
$gotopage .= ' <option ' . $selected
|
|
2427
|
-
. ' value="' . (($i - 1) * $rows) . '">' . $i . '</option>' . "\n";
|
|
2428
|
-
}
|
|
2429
|
-
|
|
2430
|
-
$gotopage .= ' </select>';
|
|
2431
|
-
|
|
2432
|
-
return $gotopage;
|
|
2433
|
-
} // end function
|
|
2434
|
-
|
|
2435
|
-
/**
|
|
2436
|
-
* Prepare navigation for a list
|
|
2437
|
-
*
|
|
2438
|
-
* @param int $count number of elements in the list
|
|
2439
|
-
* @param int $pos current position in the list
|
|
2440
|
-
* @param array $_url_params url parameters
|
|
2441
|
-
* @param string $script script name for form target
|
|
2442
|
-
* @param string $frame target frame
|
|
2443
|
-
* @param int $max_count maximum number of elements to display from
|
|
2444
|
-
* the list
|
|
2445
|
-
* @param string $name the name for the request parameter
|
|
2446
|
-
* @param string[] $classes additional classes for the container
|
|
2447
|
-
*
|
|
2448
|
-
* @return string $list_navigator_html the html content
|
|
2449
|
-
*
|
|
2450
|
-
* @access public
|
|
2451
|
-
*
|
|
2452
|
-
* @todo use $pos from $_url_params
|
|
2453
|
-
*/
|
|
2454
|
-
public static function getListNavigator(
|
|
2455
|
-
$count, $pos, $_url_params, $script, $frame, $max_count, $name = 'pos',
|
|
2456
|
-
$classes = array()
|
|
2457
|
-
) {
|
|
2458
|
-
|
|
2459
|
-
$class = $frame == 'frame_navigation' ? ' class="ajax"' : '';
|
|
2460
|
-
|
|
2461
|
-
$list_navigator_html = '';
|
|
2462
|
-
|
|
2463
|
-
if ($max_count < $count) {
|
|
2464
|
-
|
|
2465
|
-
$classes[] = 'pageselector';
|
|
2466
|
-
$list_navigator_html .= '<div class="' . implode(' ', $classes) . '">';
|
|
2467
|
-
|
|
2468
|
-
if ($frame != 'frame_navigation') {
|
|
2469
|
-
$list_navigator_html .= __('Page number:');
|
|
2470
|
-
}
|
|
2471
|
-
|
|
2472
|
-
// Move to the beginning or to the previous page
|
|
2473
|
-
if ($pos > 0) {
|
|
2474
|
-
$caption1 = ''; $caption2 = '';
|
|
2475
|
-
if (self::showIcons('TableNavigationLinksMode')) {
|
|
2476
|
-
$caption1 .= '<< ';
|
|
2477
|
-
$caption2 .= '< ';
|
|
2478
|
-
}
|
|
2479
|
-
if (self::showText('TableNavigationLinksMode')) {
|
|
2480
|
-
$caption1 .= _pgettext('First page', 'Begin');
|
|
2481
|
-
$caption2 .= _pgettext('Previous page', 'Previous');
|
|
2482
|
-
}
|
|
2483
|
-
$title1 = ' title="' . _pgettext('First page', 'Begin') . '"';
|
|
2484
|
-
$title2 = ' title="' . _pgettext('Previous page', 'Previous') . '"';
|
|
2485
|
-
|
|
2486
|
-
$_url_params[$name] = 0;
|
|
2487
|
-
$list_navigator_html .= '<a' . $class . $title1 . ' href="' . $script
|
|
2488
|
-
. PMA_URL_getCommon($_url_params) . '">' . $caption1
|
|
2489
|
-
. '</a>';
|
|
2490
|
-
|
|
2491
|
-
$_url_params[$name] = $pos - $max_count;
|
|
2492
|
-
$list_navigator_html .= ' <a' . $class . $title2
|
|
2493
|
-
. ' href="' . $script . PMA_URL_getCommon($_url_params) . '">'
|
|
2494
|
-
. $caption2 . '</a>';
|
|
2495
|
-
}
|
|
2496
|
-
|
|
2497
|
-
$list_navigator_html .= '<form action="' . basename($script)
|
|
2498
|
-
. '" method="post">';
|
|
2499
|
-
|
|
2500
|
-
$list_navigator_html .= PMA_URL_getHiddenInputs($_url_params);
|
|
2501
|
-
$list_navigator_html .= self::pageselector(
|
|
2502
|
-
$name,
|
|
2503
|
-
$max_count,
|
|
2504
|
-
floor(($pos + 1) / $max_count) + 1,
|
|
2505
|
-
ceil($count / $max_count)
|
|
2506
|
-
);
|
|
2507
|
-
$list_navigator_html .= '</form>';
|
|
2508
|
-
|
|
2509
|
-
if ($pos + $max_count < $count) {
|
|
2510
|
-
$caption3 = ''; $caption4 = '';
|
|
2511
|
-
if (self::showText('TableNavigationLinksMode')) {
|
|
2512
|
-
$caption3 .= _pgettext('Next page', 'Next');
|
|
2513
|
-
$caption4 .= _pgettext('Last page', 'End');
|
|
2514
|
-
}
|
|
2515
|
-
if (self::showIcons('TableNavigationLinksMode')) {
|
|
2516
|
-
$caption3 .= ' >';
|
|
2517
|
-
$caption4 .= ' >>';
|
|
2518
|
-
if (! self::showText('TableNavigationLinksMode')) {
|
|
2519
|
-
|
|
2520
|
-
}
|
|
2521
|
-
}
|
|
2522
|
-
$title3 = ' title="' . _pgettext('Next page', 'Next') . '"';
|
|
2523
|
-
$title4 = ' title="' . _pgettext('Last page', 'End') . '"';
|
|
2524
|
-
|
|
2525
|
-
$_url_params[$name] = $pos + $max_count;
|
|
2526
|
-
$list_navigator_html .= '<a' . $class . $title3 . ' href="' . $script
|
|
2527
|
-
. PMA_URL_getCommon($_url_params) . '" >' . $caption3
|
|
2528
|
-
. '</a>';
|
|
2529
|
-
|
|
2530
|
-
$_url_params[$name] = floor($count / $max_count) * $max_count;
|
|
2531
|
-
if ($_url_params[$name] == $count) {
|
|
2532
|
-
$_url_params[$name] = $count - $max_count;
|
|
2533
|
-
}
|
|
2534
|
-
|
|
2535
|
-
$list_navigator_html .= ' <a' . $class . $title4
|
|
2536
|
-
. ' href="' . $script . PMA_URL_getCommon($_url_params) . '" >'
|
|
2537
|
-
. $caption4 . '</a>';
|
|
2538
|
-
}
|
|
2539
|
-
$list_navigator_html .= '</div>' . "\n";
|
|
2540
|
-
}
|
|
2541
|
-
|
|
2542
|
-
return $list_navigator_html;
|
|
2543
|
-
}
|
|
2544
|
-
|
|
2545
|
-
/**
|
|
2546
|
-
* replaces %u in given path with current user name
|
|
2547
|
-
*
|
|
2548
|
-
* example:
|
|
2549
|
-
* <code>
|
|
2550
|
-
* $user_dir = userDir('/var/pma_tmp/%u/'); // '/var/pma_tmp/root/'
|
|
2551
|
-
*
|
|
2552
|
-
* </code>
|
|
2553
|
-
*
|
|
2554
|
-
* @param string $dir with wildcard for user
|
|
2555
|
-
*
|
|
2556
|
-
* @return string per user directory
|
|
2557
|
-
*/
|
|
2558
|
-
public static function userDir($dir)
|
|
2559
|
-
{
|
|
2560
|
-
// add trailing slash
|
|
2561
|
-
if (/*overload*/mb_substr($dir, -1) != '/') {
|
|
2562
|
-
$dir .= '/';
|
|
2563
|
-
}
|
|
2564
|
-
|
|
2565
|
-
return str_replace('%u', $GLOBALS['cfg']['Server']['user'], $dir);
|
|
2566
|
-
}
|
|
2567
|
-
|
|
2568
|
-
/**
|
|
2569
|
-
* returns html code for db link to default db page
|
|
2570
|
-
*
|
|
2571
|
-
* @param string $database database
|
|
2572
|
-
*
|
|
2573
|
-
* @return string html link to default db page
|
|
2574
|
-
*/
|
|
2575
|
-
public static function getDbLink($database = null)
|
|
2576
|
-
{
|
|
2577
|
-
if (! /*overload*/mb_strlen($database)) {
|
|
2578
|
-
if (! /*overload*/mb_strlen($GLOBALS['db'])) {
|
|
2579
|
-
return '';
|
|
2580
|
-
}
|
|
2581
|
-
$database = $GLOBALS['db'];
|
|
2582
|
-
} else {
|
|
2583
|
-
$database = self::unescapeMysqlWildcards($database);
|
|
2584
|
-
}
|
|
2585
|
-
|
|
2586
|
-
return '<a href="' . $GLOBALS['cfg']['DefaultTabDatabase']
|
|
2587
|
-
. PMA_URL_getCommon(array('db' => $database)) . '" title="'
|
|
2588
|
-
. htmlspecialchars(
|
|
2589
|
-
sprintf(
|
|
2590
|
-
__('Jump to database "%s".'),
|
|
2591
|
-
$database
|
|
2592
|
-
)
|
|
2593
|
-
)
|
|
2594
|
-
. '">' . htmlspecialchars($database) . '</a>';
|
|
2595
|
-
}
|
|
2596
|
-
|
|
2597
|
-
/**
|
|
2598
|
-
* Prepare a lightbulb hint explaining a known external bug
|
|
2599
|
-
* that affects a functionality
|
|
2600
|
-
*
|
|
2601
|
-
* @param string $functionality localized message explaining the func.
|
|
2602
|
-
* @param string $component 'mysql' (eventually, 'php')
|
|
2603
|
-
* @param string $minimum_version of this component
|
|
2604
|
-
* @param string $bugref bug reference for this component
|
|
2605
|
-
*
|
|
2606
|
-
* @return String
|
|
2607
|
-
*/
|
|
2608
|
-
public static function getExternalBug(
|
|
2609
|
-
$functionality, $component, $minimum_version, $bugref
|
|
2610
|
-
) {
|
|
2611
|
-
$ext_but_html = '';
|
|
2612
|
-
if (($component == 'mysql') && (PMA_MYSQL_INT_VERSION < $minimum_version)) {
|
|
2613
|
-
$ext_but_html .= self::showHint(
|
|
2614
|
-
sprintf(
|
|
2615
|
-
__('The %s functionality is affected by a known bug, see %s'),
|
|
2616
|
-
$functionality,
|
|
2617
|
-
PMA_linkURL('http://bugs.mysql.com/') . $bugref
|
|
2618
|
-
)
|
|
2619
|
-
);
|
|
2620
|
-
}
|
|
2621
|
-
return $ext_but_html;
|
|
2622
|
-
}
|
|
2623
|
-
|
|
2624
|
-
/**
|
|
2625
|
-
* Returns a HTML checkbox
|
|
2626
|
-
*
|
|
2627
|
-
* @param string $html_field_name the checkbox HTML field
|
|
2628
|
-
* @param string $label label for checkbox
|
|
2629
|
-
* @param boolean $checked is it initially checked?
|
|
2630
|
-
* @param boolean $onclick should it submit the form on click?
|
|
2631
|
-
* @param string $html_field_id id for the checkbox
|
|
2632
|
-
*
|
|
2633
|
-
* @return string HTML for the checkbox
|
|
2634
|
-
*/
|
|
2635
|
-
public static function getCheckbox(
|
|
2636
|
-
$html_field_name, $label, $checked, $onclick, $html_field_id = ''
|
|
2637
|
-
) {
|
|
2638
|
-
return '<input type="checkbox" name="' . $html_field_name . '"'
|
|
2639
|
-
. ($html_field_id ? ' id="' . $html_field_id . '"' : '')
|
|
2640
|
-
. ($checked ? ' checked="checked"' : '')
|
|
2641
|
-
. ($onclick ? ' class="autosubmit"' : '') . ' />'
|
|
2642
|
-
. '<label' . ($html_field_id ? ' for="' . $html_field_id . '"' : '')
|
|
2643
|
-
. '>' . $label . '</label>';
|
|
2644
|
-
}
|
|
2645
|
-
|
|
2646
|
-
/**
|
|
2647
|
-
* Generates a set of radio HTML fields
|
|
2648
|
-
*
|
|
2649
|
-
* @param string $html_field_name the radio HTML field
|
|
2650
|
-
* @param array $choices the choices values and labels
|
|
2651
|
-
* @param string $checked_choice the choice to check by default
|
|
2652
|
-
* @param boolean $line_break whether to add HTML line break after a choice
|
|
2653
|
-
* @param boolean $escape_label whether to use htmlspecialchars() on label
|
|
2654
|
-
* @param string $class enclose each choice with a div of this class
|
|
2655
|
-
* @param string $id_prefix prefix for the id attribute, name will be
|
|
2656
|
-
* used if this is not supplied
|
|
2657
|
-
*
|
|
2658
|
-
* @return string set of html radio fiels
|
|
2659
|
-
*/
|
|
2660
|
-
public static function getRadioFields(
|
|
2661
|
-
$html_field_name, $choices, $checked_choice = '',
|
|
2662
|
-
$line_break = true, $escape_label = true, $class = '',
|
|
2663
|
-
$id_prefix = ''
|
|
2664
|
-
) {
|
|
2665
|
-
$radio_html = '';
|
|
2666
|
-
|
|
2667
|
-
foreach ($choices as $choice_value => $choice_label) {
|
|
2668
|
-
|
|
2669
|
-
if (! empty($class)) {
|
|
2670
|
-
$radio_html .= '<div class="' . $class . '">';
|
|
2671
|
-
}
|
|
2672
|
-
|
|
2673
|
-
if (! $id_prefix) {
|
|
2674
|
-
$id_prefix = $html_field_name;
|
|
2675
|
-
}
|
|
2676
|
-
$html_field_id = $id_prefix . '_' . $choice_value;
|
|
2677
|
-
$radio_html .= '<input type="radio" name="' . $html_field_name . '" id="'
|
|
2678
|
-
. $html_field_id . '" value="'
|
|
2679
|
-
. htmlspecialchars($choice_value) . '"';
|
|
2680
|
-
|
|
2681
|
-
if ($choice_value == $checked_choice) {
|
|
2682
|
-
$radio_html .= ' checked="checked"';
|
|
2683
|
-
}
|
|
2684
|
-
|
|
2685
|
-
$radio_html .= ' />' . "\n"
|
|
2686
|
-
. '<label for="' . $html_field_id . '">'
|
|
2687
|
-
. ($escape_label
|
|
2688
|
-
? htmlspecialchars($choice_label)
|
|
2689
|
-
: $choice_label)
|
|
2690
|
-
. '</label>';
|
|
2691
|
-
|
|
2692
|
-
if ($line_break) {
|
|
2693
|
-
$radio_html .= '<br />';
|
|
2694
|
-
}
|
|
2695
|
-
|
|
2696
|
-
if (! empty($class)) {
|
|
2697
|
-
$radio_html .= '</div>';
|
|
2698
|
-
}
|
|
2699
|
-
$radio_html .= "\n";
|
|
2700
|
-
}
|
|
2701
|
-
|
|
2702
|
-
return $radio_html;
|
|
2703
|
-
}
|
|
2704
|
-
|
|
2705
|
-
/**
|
|
2706
|
-
* Generates and returns an HTML dropdown
|
|
2707
|
-
*
|
|
2708
|
-
* @param string $select_name name for the select element
|
|
2709
|
-
* @param array $choices choices values
|
|
2710
|
-
* @param string $active_choice the choice to select by default
|
|
2711
|
-
* @param string $id id of the select element; can be different in
|
|
2712
|
-
* case the dropdown is present more than once
|
|
2713
|
-
* on the page
|
|
2714
|
-
* @param string $class class for the select element
|
|
2715
|
-
* @param string $placeholder Placeholder for dropdown if nothing else
|
|
2716
|
-
* is selected
|
|
2717
|
-
*
|
|
2718
|
-
* @return string html content
|
|
2719
|
-
*
|
|
2720
|
-
* @todo support titles
|
|
2721
|
-
*/
|
|
2722
|
-
public static function getDropdown(
|
|
2723
|
-
$select_name, $choices, $active_choice, $id, $class = '', $placeholder = null
|
|
2724
|
-
) {
|
|
2725
|
-
$result = '<select'
|
|
2726
|
-
. ' name="' . htmlspecialchars($select_name) . '"'
|
|
2727
|
-
. ' id="' . htmlspecialchars($id) . '"'
|
|
2728
|
-
. (! empty($class) ? ' class="' . htmlspecialchars($class) . '"' : '')
|
|
2729
|
-
. '>';
|
|
2730
|
-
|
|
2731
|
-
$resultOptions = '';
|
|
2732
|
-
$selected = false;
|
|
2733
|
-
|
|
2734
|
-
foreach ($choices as $one_choice_value => $one_choice_label) {
|
|
2735
|
-
$resultOptions .= '<option value="'
|
|
2736
|
-
. htmlspecialchars($one_choice_value) . '"';
|
|
2737
|
-
|
|
2738
|
-
if ($one_choice_value == $active_choice) {
|
|
2739
|
-
$resultOptions .= ' selected="selected"';
|
|
2740
|
-
$selected = true;
|
|
2741
|
-
}
|
|
2742
|
-
$resultOptions .= '>' . htmlspecialchars($one_choice_label)
|
|
2743
|
-
. '</option>';
|
|
2744
|
-
}
|
|
2745
|
-
|
|
2746
|
-
if (!empty($placeholder)) {
|
|
2747
|
-
$resultOptions = '<option value="" disabled="disabled"'
|
|
2748
|
-
. ( !$selected ? ' selected="selected"' : '' )
|
|
2749
|
-
. '>' . $placeholder . '</option>'
|
|
2750
|
-
. $resultOptions;
|
|
2751
|
-
}
|
|
2752
|
-
|
|
2753
|
-
$result .= $resultOptions
|
|
2754
|
-
. '</select>';
|
|
2755
|
-
|
|
2756
|
-
return $result;
|
|
2757
|
-
}
|
|
2758
|
-
|
|
2759
|
-
/**
|
|
2760
|
-
* Generates a slider effect (jQjuery)
|
|
2761
|
-
* Takes care of generating the initial <div> and the link
|
|
2762
|
-
* controlling the slider; you have to generate the </div> yourself
|
|
2763
|
-
* after the sliding section.
|
|
2764
|
-
*
|
|
2765
|
-
* @param string $id the id of the <div> on which to apply the effect
|
|
2766
|
-
* @param string $message the message to show as a link
|
|
2767
|
-
*
|
|
2768
|
-
* @return string html div element
|
|
2769
|
-
*
|
|
2770
|
-
*/
|
|
2771
|
-
public static function getDivForSliderEffect($id = '', $message = '')
|
|
2772
|
-
{
|
|
2773
|
-
if ($GLOBALS['cfg']['InitialSlidersState'] == 'disabled') {
|
|
2774
|
-
return '<div' . ($id ? ' id="' . $id . '"' : '') . '>';
|
|
2775
|
-
}
|
|
2776
|
-
/**
|
|
2777
|
-
* Bad hack on the next line. document.write() conflicts with jQuery,
|
|
2778
|
-
* hence, opening the <div> with PHP itself instead of JavaScript.
|
|
2779
|
-
*
|
|
2780
|
-
* @todo find a better solution that uses $.append(), the recommended
|
|
2781
|
-
* method maybe by using an additional param, the id of the div to
|
|
2782
|
-
* append to
|
|
2783
|
-
*/
|
|
2784
|
-
|
|
2785
|
-
return '<div'
|
|
2786
|
-
. ($id ? ' id="' . $id . '"' : '')
|
|
2787
|
-
. (($GLOBALS['cfg']['InitialSlidersState'] == 'closed')
|
|
2788
|
-
? ' style="display: none; overflow:auto;"'
|
|
2789
|
-
: '')
|
|
2790
|
-
. ' class="pma_auto_slider"'
|
|
2791
|
-
. ($message ? ' title="' . htmlspecialchars($message) . '"' : '')
|
|
2792
|
-
. '>';
|
|
2793
|
-
}
|
|
2794
|
-
|
|
2795
|
-
/**
|
|
2796
|
-
* Creates an AJAX sliding toggle button
|
|
2797
|
-
* (or and equivalent form when AJAX is disabled)
|
|
2798
|
-
*
|
|
2799
|
-
* @param string $action The URL for the request to be executed
|
|
2800
|
-
* @param string $select_name The name for the dropdown box
|
|
2801
|
-
* @param array $options An array of options (see rte_footer.lib.php)
|
|
2802
|
-
* @param string $callback A JS snippet to execute when the request is
|
|
2803
|
-
* successfully processed
|
|
2804
|
-
*
|
|
2805
|
-
* @return string HTML code for the toggle button
|
|
2806
|
-
*/
|
|
2807
|
-
public static function toggleButton($action, $select_name, $options, $callback)
|
|
2808
|
-
{
|
|
2809
|
-
// Do the logic first
|
|
2810
|
-
$link = "$action&" . urlencode($select_name) . "=";
|
|
2811
|
-
$link_on = $link . urlencode($options[1]['value']);
|
|
2812
|
-
$link_off = $link . urlencode($options[0]['value']);
|
|
2813
|
-
|
|
2814
|
-
if ($options[1]['selected'] == true) {
|
|
2815
|
-
$state = 'on';
|
|
2816
|
-
} else if ($options[0]['selected'] == true) {
|
|
2817
|
-
$state = 'off';
|
|
2818
|
-
} else {
|
|
2819
|
-
$state = 'on';
|
|
2820
|
-
}
|
|
2821
|
-
|
|
2822
|
-
// Generate output
|
|
2823
|
-
return "<!-- TOGGLE START -->\n"
|
|
2824
|
-
. "<div class='wrapper toggleAjax hide'>\n"
|
|
2825
|
-
. " <div class='toggleButton'>\n"
|
|
2826
|
-
. " <div title='" . __('Click to toggle')
|
|
2827
|
-
. "' class='container $state'>\n"
|
|
2828
|
-
. " <img src='" . htmlspecialchars($GLOBALS['pmaThemeImage'])
|
|
2829
|
-
. "toggle-" . htmlspecialchars($GLOBALS['text_dir']) . ".png'\n"
|
|
2830
|
-
. " alt='' />\n"
|
|
2831
|
-
. " <table class='nospacing nopadding'>\n"
|
|
2832
|
-
. " <tbody>\n"
|
|
2833
|
-
. " <tr>\n"
|
|
2834
|
-
. " <td class='toggleOn'>\n"
|
|
2835
|
-
. " <span class='hide'>$link_on</span>\n"
|
|
2836
|
-
. " <div>"
|
|
2837
|
-
. str_replace(' ', ' ', htmlspecialchars($options[1]['label']))
|
|
2838
|
-
. "\n" . " </div>\n"
|
|
2839
|
-
. " </td>\n"
|
|
2840
|
-
. " <td><div> </div></td>\n"
|
|
2841
|
-
. " <td class='toggleOff'>\n"
|
|
2842
|
-
. " <span class='hide'>$link_off</span>\n"
|
|
2843
|
-
. " <div>"
|
|
2844
|
-
. str_replace(' ', ' ', htmlspecialchars($options[0]['label']))
|
|
2845
|
-
. "\n" . " </div>\n"
|
|
2846
|
-
. " </tr>\n"
|
|
2847
|
-
. " </tbody>\n"
|
|
2848
|
-
. " </table>\n"
|
|
2849
|
-
. " <span class='hide callback'>"
|
|
2850
|
-
. htmlspecialchars($callback) . "</span>\n"
|
|
2851
|
-
. " <span class='hide text_direction'>"
|
|
2852
|
-
. htmlspecialchars($GLOBALS['text_dir']) . "</span>\n"
|
|
2853
|
-
. " </div>\n"
|
|
2854
|
-
. " </div>\n"
|
|
2855
|
-
. "</div>\n"
|
|
2856
|
-
. "<!-- TOGGLE END -->";
|
|
2857
|
-
|
|
2858
|
-
} // end toggleButton()
|
|
2859
|
-
|
|
2860
|
-
/**
|
|
2861
|
-
* Clears cache content which needs to be refreshed on user change.
|
|
2862
|
-
*
|
|
2863
|
-
* @return void
|
|
2864
|
-
*/
|
|
2865
|
-
public static function clearUserCache()
|
|
2866
|
-
{
|
|
2867
|
-
self::cacheUnset('is_superuser');
|
|
2868
|
-
self::cacheUnset('is_createuser');
|
|
2869
|
-
self::cacheUnset('is_grantuser');
|
|
2870
|
-
}
|
|
2871
|
-
|
|
2872
|
-
/**
|
|
2873
|
-
* Verifies if something is cached in the session
|
|
2874
|
-
*
|
|
2875
|
-
* @param string $var variable name
|
|
2876
|
-
*
|
|
2877
|
-
* @return boolean
|
|
2878
|
-
*/
|
|
2879
|
-
public static function cacheExists($var)
|
|
2880
|
-
{
|
|
2881
|
-
return isset($_SESSION['cache']['server_' . $GLOBALS['server']][$var]);
|
|
2882
|
-
}
|
|
2883
|
-
|
|
2884
|
-
/**
|
|
2885
|
-
* Gets cached information from the session
|
|
2886
|
-
*
|
|
2887
|
-
* @param string $var variable name
|
|
2888
|
-
*
|
|
2889
|
-
* @return mixed
|
|
2890
|
-
*/
|
|
2891
|
-
public static function cacheGet($var)
|
|
2892
|
-
{
|
|
2893
|
-
if (isset($_SESSION['cache']['server_' . $GLOBALS['server']][$var])) {
|
|
2894
|
-
return $_SESSION['cache']['server_' . $GLOBALS['server']][$var];
|
|
2895
|
-
} else {
|
|
2896
|
-
return null;
|
|
2897
|
-
}
|
|
2898
|
-
}
|
|
2899
|
-
|
|
2900
|
-
/**
|
|
2901
|
-
* Caches information in the session
|
|
2902
|
-
*
|
|
2903
|
-
* @param string $var variable name
|
|
2904
|
-
* @param mixed $val value
|
|
2905
|
-
*
|
|
2906
|
-
* @return mixed
|
|
2907
|
-
*/
|
|
2908
|
-
public static function cacheSet($var, $val = null)
|
|
2909
|
-
{
|
|
2910
|
-
$_SESSION['cache']['server_' . $GLOBALS['server']][$var] = $val;
|
|
2911
|
-
}
|
|
2912
|
-
|
|
2913
|
-
/**
|
|
2914
|
-
* Removes cached information from the session
|
|
2915
|
-
*
|
|
2916
|
-
* @param string $var variable name
|
|
2917
|
-
*
|
|
2918
|
-
* @return void
|
|
2919
|
-
*/
|
|
2920
|
-
public static function cacheUnset($var)
|
|
2921
|
-
{
|
|
2922
|
-
unset($_SESSION['cache']['server_' . $GLOBALS['server']][$var]);
|
|
2923
|
-
}
|
|
2924
|
-
|
|
2925
|
-
/**
|
|
2926
|
-
* Converts a bit value to printable format;
|
|
2927
|
-
* in MySQL a BIT field can be from 1 to 64 bits so we need this
|
|
2928
|
-
* function because in PHP, decbin() supports only 32 bits
|
|
2929
|
-
* on 32-bit servers
|
|
2930
|
-
*
|
|
2931
|
-
* @param number $value coming from a BIT field
|
|
2932
|
-
* @param integer $length length
|
|
2933
|
-
*
|
|
2934
|
-
* @return string the printable value
|
|
2935
|
-
*/
|
|
2936
|
-
public static function printableBitValue($value, $length)
|
|
2937
|
-
{
|
|
2938
|
-
// if running on a 64-bit server or the length is safe for decbin()
|
|
2939
|
-
if (PHP_INT_SIZE == 8 || $length < 33) {
|
|
2940
|
-
$printable = decbin($value);
|
|
2941
|
-
} else {
|
|
2942
|
-
// FIXME: does not work for the leftmost bit of a 64-bit value
|
|
2943
|
-
$i = 0;
|
|
2944
|
-
$printable = '';
|
|
2945
|
-
while ($value >= pow(2, $i)) {
|
|
2946
|
-
$i++;
|
|
2947
|
-
}
|
|
2948
|
-
if ($i != 0) {
|
|
2949
|
-
$i = $i - 1;
|
|
2950
|
-
}
|
|
2951
|
-
|
|
2952
|
-
while ($i >= 0) {
|
|
2953
|
-
if ($value - pow(2, $i) < 0) {
|
|
2954
|
-
$printable = '0' . $printable;
|
|
2955
|
-
} else {
|
|
2956
|
-
$printable = '1' . $printable;
|
|
2957
|
-
$value = $value - pow(2, $i);
|
|
2958
|
-
}
|
|
2959
|
-
$i--;
|
|
2960
|
-
}
|
|
2961
|
-
$printable = strrev($printable);
|
|
2962
|
-
}
|
|
2963
|
-
$printable = str_pad($printable, $length, '0', STR_PAD_LEFT);
|
|
2964
|
-
return $printable;
|
|
2965
|
-
}
|
|
2966
|
-
|
|
2967
|
-
/**
|
|
2968
|
-
* Verifies whether the value contains a non-printable character
|
|
2969
|
-
*
|
|
2970
|
-
* @param string $value value
|
|
2971
|
-
*
|
|
2972
|
-
* @return integer
|
|
2973
|
-
*/
|
|
2974
|
-
public static function containsNonPrintableAscii($value)
|
|
2975
|
-
{
|
|
2976
|
-
return preg_match('@[^[:print:]]@', $value);
|
|
2977
|
-
}
|
|
2978
|
-
|
|
2979
|
-
/**
|
|
2980
|
-
* Converts a BIT type default value
|
|
2981
|
-
* for example, b'010' becomes 010
|
|
2982
|
-
*
|
|
2983
|
-
* @param string $bit_default_value value
|
|
2984
|
-
*
|
|
2985
|
-
* @return string the converted value
|
|
2986
|
-
*/
|
|
2987
|
-
public static function convertBitDefaultValue($bit_default_value)
|
|
2988
|
-
{
|
|
2989
|
-
return rtrim(ltrim($bit_default_value, "b'"), "'");
|
|
2990
|
-
}
|
|
2991
|
-
|
|
2992
|
-
/**
|
|
2993
|
-
* Extracts the various parts from a column spec
|
|
2994
|
-
*
|
|
2995
|
-
* @param string $columnspec Column specification
|
|
2996
|
-
*
|
|
2997
|
-
* @return array associative array containing type, spec_in_brackets
|
|
2998
|
-
* and possibly enum_set_values (another array)
|
|
2999
|
-
*/
|
|
3000
|
-
public static function extractColumnSpec($columnspec)
|
|
3001
|
-
{
|
|
3002
|
-
$first_bracket_pos = /*overload*/mb_strpos($columnspec, '(');
|
|
3003
|
-
if ($first_bracket_pos) {
|
|
3004
|
-
$spec_in_brackets = chop(
|
|
3005
|
-
/*overload*/mb_substr(
|
|
3006
|
-
$columnspec,
|
|
3007
|
-
$first_bracket_pos + 1,
|
|
3008
|
-
/*overload*/mb_strrpos($columnspec, ')') - $first_bracket_pos - 1
|
|
3009
|
-
)
|
|
3010
|
-
);
|
|
3011
|
-
// convert to lowercase just to be sure
|
|
3012
|
-
$type = /*overload*/mb_strtolower(
|
|
3013
|
-
chop(/*overload*/mb_substr($columnspec, 0, $first_bracket_pos))
|
|
3014
|
-
);
|
|
3015
|
-
} else {
|
|
3016
|
-
// Split trailing attributes such as unsigned,
|
|
3017
|
-
// binary, zerofill and get data type name
|
|
3018
|
-
$type_parts = explode(' ', $columnspec);
|
|
3019
|
-
$type = /*overload*/mb_strtolower($type_parts[0]);
|
|
3020
|
-
$spec_in_brackets = '';
|
|
3021
|
-
}
|
|
3022
|
-
|
|
3023
|
-
if ('enum' == $type || 'set' == $type) {
|
|
3024
|
-
// Define our working vars
|
|
3025
|
-
$enum_set_values = self::parseEnumSetValues($columnspec, false);
|
|
3026
|
-
$printtype = $type
|
|
3027
|
-
. '(' . str_replace("','", "', '", $spec_in_brackets) . ')';
|
|
3028
|
-
$binary = false;
|
|
3029
|
-
$unsigned = false;
|
|
3030
|
-
$zerofill = false;
|
|
3031
|
-
} else {
|
|
3032
|
-
$enum_set_values = array();
|
|
3033
|
-
|
|
3034
|
-
/* Create printable type name */
|
|
3035
|
-
$printtype = /*overload*/mb_strtolower($columnspec);
|
|
3036
|
-
|
|
3037
|
-
// Strip the "BINARY" attribute, except if we find "BINARY(" because
|
|
3038
|
-
// this would be a BINARY or VARBINARY column type;
|
|
3039
|
-
// by the way, a BLOB should not show the BINARY attribute
|
|
3040
|
-
// because this is not accepted in MySQL syntax.
|
|
3041
|
-
if (preg_match('@binary@', $printtype)
|
|
3042
|
-
&& ! preg_match('@binary[\(]@', $printtype)
|
|
3043
|
-
) {
|
|
3044
|
-
$printtype = preg_replace('@binary@', '', $printtype);
|
|
3045
|
-
$binary = true;
|
|
3046
|
-
} else {
|
|
3047
|
-
$binary = false;
|
|
3048
|
-
}
|
|
3049
|
-
|
|
3050
|
-
$printtype = preg_replace(
|
|
3051
|
-
'@zerofill@', '', $printtype, -1, $zerofill_cnt
|
|
3052
|
-
);
|
|
3053
|
-
$zerofill = ($zerofill_cnt > 0);
|
|
3054
|
-
$printtype = preg_replace(
|
|
3055
|
-
'@unsigned@', '', $printtype, -1, $unsigned_cnt
|
|
3056
|
-
);
|
|
3057
|
-
$unsigned = ($unsigned_cnt > 0);
|
|
3058
|
-
$printtype = trim($printtype);
|
|
3059
|
-
}
|
|
3060
|
-
|
|
3061
|
-
$attribute = ' ';
|
|
3062
|
-
if ($binary) {
|
|
3063
|
-
$attribute = 'BINARY';
|
|
3064
|
-
}
|
|
3065
|
-
if ($unsigned) {
|
|
3066
|
-
$attribute = 'UNSIGNED';
|
|
3067
|
-
}
|
|
3068
|
-
if ($zerofill) {
|
|
3069
|
-
$attribute = 'UNSIGNED ZEROFILL';
|
|
3070
|
-
}
|
|
3071
|
-
|
|
3072
|
-
$can_contain_collation = false;
|
|
3073
|
-
if (! $binary
|
|
3074
|
-
&& preg_match(
|
|
3075
|
-
"@^(char|varchar|text|tinytext|mediumtext|longtext|set|enum)@", $type
|
|
3076
|
-
)
|
|
3077
|
-
) {
|
|
3078
|
-
$can_contain_collation = true;
|
|
3079
|
-
}
|
|
3080
|
-
|
|
3081
|
-
// for the case ENUM('–','“')
|
|
3082
|
-
$displayed_type = htmlspecialchars($printtype);
|
|
3083
|
-
if (/*overload*/mb_strlen($printtype) > $GLOBALS['cfg']['LimitChars']) {
|
|
3084
|
-
$displayed_type = '<abbr title="' . htmlspecialchars($printtype) . '">';
|
|
3085
|
-
$displayed_type .= htmlspecialchars(
|
|
3086
|
-
/*overload*/mb_substr(
|
|
3087
|
-
$printtype, 0, $GLOBALS['cfg']['LimitChars']
|
|
3088
|
-
)
|
|
3089
|
-
);
|
|
3090
|
-
$displayed_type .= '</abbr>';
|
|
3091
|
-
}
|
|
3092
|
-
|
|
3093
|
-
return array(
|
|
3094
|
-
'type' => $type,
|
|
3095
|
-
'spec_in_brackets' => $spec_in_brackets,
|
|
3096
|
-
'enum_set_values' => $enum_set_values,
|
|
3097
|
-
'print_type' => $printtype,
|
|
3098
|
-
'binary' => $binary,
|
|
3099
|
-
'unsigned' => $unsigned,
|
|
3100
|
-
'zerofill' => $zerofill,
|
|
3101
|
-
'attribute' => $attribute,
|
|
3102
|
-
'can_contain_collation' => $can_contain_collation,
|
|
3103
|
-
'displayed_type' => $displayed_type
|
|
3104
|
-
);
|
|
3105
|
-
}
|
|
3106
|
-
|
|
3107
|
-
/**
|
|
3108
|
-
* Verifies if this table's engine supports foreign keys
|
|
3109
|
-
*
|
|
3110
|
-
* @param string $engine engine
|
|
3111
|
-
*
|
|
3112
|
-
* @return boolean
|
|
3113
|
-
*/
|
|
3114
|
-
public static function isForeignKeySupported($engine)
|
|
3115
|
-
{
|
|
3116
|
-
$engine = strtoupper($engine);
|
|
3117
|
-
if (($engine == 'INNODB') || ($engine == 'PBXT')) {
|
|
3118
|
-
return true;
|
|
3119
|
-
} elseif ($engine == 'NDBCLUSTER' || $engine == 'NDB') {
|
|
3120
|
-
$ndbver = $GLOBALS['dbi']->fetchValue(
|
|
3121
|
-
"SHOW VARIABLES LIKE 'ndb_version_string'"
|
|
3122
|
-
);
|
|
3123
|
-
return ($ndbver >= 7.3);
|
|
3124
|
-
} else {
|
|
3125
|
-
return false;
|
|
3126
|
-
}
|
|
3127
|
-
}
|
|
3128
|
-
|
|
3129
|
-
/**
|
|
3130
|
-
* Replaces some characters by a displayable equivalent
|
|
3131
|
-
*
|
|
3132
|
-
* @param string $content content
|
|
3133
|
-
*
|
|
3134
|
-
* @return string the content with characters replaced
|
|
3135
|
-
*/
|
|
3136
|
-
public static function replaceBinaryContents($content)
|
|
3137
|
-
{
|
|
3138
|
-
$result = str_replace("\x00", '\0', $content);
|
|
3139
|
-
$result = str_replace("\x08", '\b', $result);
|
|
3140
|
-
$result = str_replace("\x0a", '\n', $result);
|
|
3141
|
-
$result = str_replace("\x0d", '\r', $result);
|
|
3142
|
-
$result = str_replace("\x1a", '\Z', $result);
|
|
3143
|
-
return $result;
|
|
3144
|
-
}
|
|
3145
|
-
|
|
3146
|
-
/**
|
|
3147
|
-
* Converts GIS data to Well Known Text format
|
|
3148
|
-
*
|
|
3149
|
-
* @param string $data GIS data
|
|
3150
|
-
* @param bool $includeSRID Add SRID to the WKT
|
|
3151
|
-
*
|
|
3152
|
-
* @return string GIS data in Well Know Text format
|
|
3153
|
-
*/
|
|
3154
|
-
public static function asWKT($data, $includeSRID = false)
|
|
3155
|
-
{
|
|
3156
|
-
// Convert to WKT format
|
|
3157
|
-
$hex = bin2hex($data);
|
|
3158
|
-
$wktsql = "SELECT ASTEXT(x'" . $hex . "')";
|
|
3159
|
-
if ($includeSRID) {
|
|
3160
|
-
$wktsql .= ", SRID(x'" . $hex . "')";
|
|
3161
|
-
}
|
|
3162
|
-
|
|
3163
|
-
$wktresult = $GLOBALS['dbi']->tryQuery(
|
|
3164
|
-
$wktsql, null, PMA_DatabaseInterface::QUERY_STORE
|
|
3165
|
-
);
|
|
3166
|
-
$wktarr = $GLOBALS['dbi']->fetchRow($wktresult, 0);
|
|
3167
|
-
$wktval = $wktarr[0];
|
|
3168
|
-
|
|
3169
|
-
if ($includeSRID) {
|
|
3170
|
-
$srid = $wktarr[1];
|
|
3171
|
-
$wktval = "'" . $wktval . "'," . $srid;
|
|
3172
|
-
}
|
|
3173
|
-
@$GLOBALS['dbi']->freeResult($wktresult);
|
|
3174
|
-
|
|
3175
|
-
return $wktval;
|
|
3176
|
-
}
|
|
3177
|
-
|
|
3178
|
-
/**
|
|
3179
|
-
* If the string starts with a \r\n pair (0x0d0a) add an extra \n
|
|
3180
|
-
*
|
|
3181
|
-
* @param string $string string
|
|
3182
|
-
*
|
|
3183
|
-
* @return string with the chars replaced
|
|
3184
|
-
*/
|
|
3185
|
-
public static function duplicateFirstNewline($string)
|
|
3186
|
-
{
|
|
3187
|
-
$first_occurence = /*overload*/mb_strpos($string, "\r\n");
|
|
3188
|
-
if ($first_occurence === 0) {
|
|
3189
|
-
$string = "\n" . $string;
|
|
3190
|
-
}
|
|
3191
|
-
return $string;
|
|
3192
|
-
}
|
|
3193
|
-
|
|
3194
|
-
/**
|
|
3195
|
-
* Get the action word corresponding to a script name
|
|
3196
|
-
* in order to display it as a title in navigation panel
|
|
3197
|
-
*
|
|
3198
|
-
* @param string $target a valid value for $cfg['NavigationTreeDefaultTabTable'],
|
|
3199
|
-
* $cfg['NavigationTreeDefaultTabTable2'],
|
|
3200
|
-
* $cfg['DefaultTabTable'] or $cfg['DefaultTabDatabase']
|
|
3201
|
-
*
|
|
3202
|
-
* @return array
|
|
3203
|
-
*/
|
|
3204
|
-
public static function getTitleForTarget($target)
|
|
3205
|
-
{
|
|
3206
|
-
$mapping = array(
|
|
3207
|
-
// Values for $cfg['DefaultTabTable']
|
|
3208
|
-
'tbl_structure.php' => __('Structure'),
|
|
3209
|
-
'tbl_sql.php' => __('SQL'),
|
|
3210
|
-
'tbl_select.php' =>__('Search'),
|
|
3211
|
-
'tbl_change.php' =>__('Insert'),
|
|
3212
|
-
'sql.php' => __('Browse'),
|
|
3213
|
-
|
|
3214
|
-
// Values for $cfg['DefaultTabDatabase']
|
|
3215
|
-
'db_structure.php' => __('Structure'),
|
|
3216
|
-
'db_sql.php' => __('SQL'),
|
|
3217
|
-
'db_search.php' => __('Search'),
|
|
3218
|
-
'db_operations.php' => __('Operations'),
|
|
3219
|
-
);
|
|
3220
|
-
return isset($mapping[$target]) ? $mapping[$target] : false;
|
|
3221
|
-
}
|
|
3222
|
-
|
|
3223
|
-
/**
|
|
3224
|
-
* Formats user string, expanding @VARIABLES@, accepting strftime format
|
|
3225
|
-
* string.
|
|
3226
|
-
*
|
|
3227
|
-
* @param string $string Text where to do expansion.
|
|
3228
|
-
* @param array|string $escape Function to call for escaping variable values.
|
|
3229
|
-
* Can also be an array of:
|
|
3230
|
-
* - the escape method name
|
|
3231
|
-
* - the class that contains the method
|
|
3232
|
-
* - location of the class (for inclusion)
|
|
3233
|
-
* @param array $updates Array with overrides for default parameters
|
|
3234
|
-
* (obtained from GLOBALS).
|
|
3235
|
-
*
|
|
3236
|
-
* @return string
|
|
3237
|
-
*/
|
|
3238
|
-
public static function expandUserString(
|
|
3239
|
-
$string, $escape = null, $updates = array()
|
|
3240
|
-
) {
|
|
3241
|
-
/* Content */
|
|
3242
|
-
$vars = array();
|
|
3243
|
-
$vars['http_host'] = PMA_getenv('HTTP_HOST');
|
|
3244
|
-
$vars['server_name'] = $GLOBALS['cfg']['Server']['host'];
|
|
3245
|
-
$vars['server_verbose'] = $GLOBALS['cfg']['Server']['verbose'];
|
|
3246
|
-
|
|
3247
|
-
if (empty($GLOBALS['cfg']['Server']['verbose'])) {
|
|
3248
|
-
$vars['server_verbose_or_name'] = $GLOBALS['cfg']['Server']['host'];
|
|
3249
|
-
} else {
|
|
3250
|
-
$vars['server_verbose_or_name'] = $GLOBALS['cfg']['Server']['verbose'];
|
|
3251
|
-
}
|
|
3252
|
-
|
|
3253
|
-
$vars['database'] = $GLOBALS['db'];
|
|
3254
|
-
$vars['table'] = $GLOBALS['table'];
|
|
3255
|
-
$vars['phpmyadmin_version'] = 'phpMyAdmin ' . PMA_VERSION;
|
|
3256
|
-
|
|
3257
|
-
/* Update forced variables */
|
|
3258
|
-
foreach ($updates as $key => $val) {
|
|
3259
|
-
$vars[$key] = $val;
|
|
3260
|
-
}
|
|
3261
|
-
|
|
3262
|
-
/* Replacement mapping */
|
|
3263
|
-
/*
|
|
3264
|
-
* The __VAR__ ones are for backward compatibility, because user
|
|
3265
|
-
* might still have it in cookies.
|
|
3266
|
-
*/
|
|
3267
|
-
$replace = array(
|
|
3268
|
-
'@HTTP_HOST@' => $vars['http_host'],
|
|
3269
|
-
'@SERVER@' => $vars['server_name'],
|
|
3270
|
-
'__SERVER__' => $vars['server_name'],
|
|
3271
|
-
'@VERBOSE@' => $vars['server_verbose'],
|
|
3272
|
-
'@VSERVER@' => $vars['server_verbose_or_name'],
|
|
3273
|
-
'@DATABASE@' => $vars['database'],
|
|
3274
|
-
'__DB__' => $vars['database'],
|
|
3275
|
-
'@TABLE@' => $vars['table'],
|
|
3276
|
-
'__TABLE__' => $vars['table'],
|
|
3277
|
-
'@PHPMYADMIN@' => $vars['phpmyadmin_version'],
|
|
3278
|
-
);
|
|
3279
|
-
|
|
3280
|
-
/* Optional escaping */
|
|
3281
|
-
if (! is_null($escape)) {
|
|
3282
|
-
if (is_array($escape)) {
|
|
3283
|
-
include_once $escape[2];
|
|
3284
|
-
$escape_class = new $escape[1];
|
|
3285
|
-
$escape_method = $escape[0];
|
|
3286
|
-
}
|
|
3287
|
-
foreach ($replace as $key => $val) {
|
|
3288
|
-
if (is_array($escape)) {
|
|
3289
|
-
$replace[$key] = $escape_class->$escape_method($val);
|
|
3290
|
-
} else {
|
|
3291
|
-
$replace[$key] = ($escape == 'backquote')
|
|
3292
|
-
? self::$escape($val)
|
|
3293
|
-
: $escape($val);
|
|
3294
|
-
}
|
|
3295
|
-
}
|
|
3296
|
-
}
|
|
3297
|
-
|
|
3298
|
-
/* Backward compatibility in 3.5.x */
|
|
3299
|
-
if (/*overload*/mb_strpos($string, '@FIELDS@') !== false) {
|
|
3300
|
-
$string = strtr($string, array('@FIELDS@' => '@COLUMNS@'));
|
|
3301
|
-
}
|
|
3302
|
-
|
|
3303
|
-
/* Fetch columns list if required */
|
|
3304
|
-
if (/*overload*/mb_strpos($string, '@COLUMNS@') !== false) {
|
|
3305
|
-
$columns_list = $GLOBALS['dbi']->getColumns(
|
|
3306
|
-
$GLOBALS['db'], $GLOBALS['table']
|
|
3307
|
-
);
|
|
3308
|
-
|
|
3309
|
-
// sometimes the table no longer exists at this point
|
|
3310
|
-
if (! is_null($columns_list)) {
|
|
3311
|
-
$column_names = array();
|
|
3312
|
-
foreach ($columns_list as $column) {
|
|
3313
|
-
if (! is_null($escape)) {
|
|
3314
|
-
$column_names[] = self::$escape($column['Field']);
|
|
3315
|
-
} else {
|
|
3316
|
-
$column_names[] = $column['Field'];
|
|
3317
|
-
}
|
|
3318
|
-
}
|
|
3319
|
-
$replace['@COLUMNS@'] = implode(',', $column_names);
|
|
3320
|
-
} else {
|
|
3321
|
-
$replace['@COLUMNS@'] = '*';
|
|
3322
|
-
}
|
|
3323
|
-
}
|
|
3324
|
-
|
|
3325
|
-
/* Do the replacement */
|
|
3326
|
-
return strtr(strftime($string), $replace);
|
|
3327
|
-
}
|
|
3328
|
-
|
|
3329
|
-
/**
|
|
3330
|
-
* Prepare the form used to browse anywhere on the local server for a file to
|
|
3331
|
-
* import
|
|
3332
|
-
*
|
|
3333
|
-
* @param string $max_upload_size maximum upload size
|
|
3334
|
-
*
|
|
3335
|
-
* @return String
|
|
3336
|
-
*/
|
|
3337
|
-
public static function getBrowseUploadFileBlock($max_upload_size)
|
|
3338
|
-
{
|
|
3339
|
-
$block_html = '';
|
|
3340
|
-
|
|
3341
|
-
if ($GLOBALS['is_upload'] && ! empty($GLOBALS['cfg']['UploadDir'])) {
|
|
3342
|
-
$block_html .= '<label for="radio_import_file">';
|
|
3343
|
-
} else {
|
|
3344
|
-
$block_html .= '<label for="input_import_file">';
|
|
3345
|
-
}
|
|
3346
|
-
|
|
3347
|
-
$block_html .= __("Browse your computer:") . '</label>'
|
|
3348
|
-
. '<div id="upload_form_status" style="display: none;"></div>'
|
|
3349
|
-
. '<div id="upload_form_status_info" style="display: none;"></div>'
|
|
3350
|
-
. '<input type="file" name="import_file" id="input_import_file" />'
|
|
3351
|
-
. self::getFormattedMaximumUploadSize($max_upload_size) . "\n"
|
|
3352
|
-
// some browsers should respect this :)
|
|
3353
|
-
. self::generateHiddenMaxFileSize($max_upload_size) . "\n";
|
|
3354
|
-
|
|
3355
|
-
return $block_html;
|
|
3356
|
-
}
|
|
3357
|
-
|
|
3358
|
-
/**
|
|
3359
|
-
* Prepare the form used to select a file to import from the server upload
|
|
3360
|
-
* directory
|
|
3361
|
-
*
|
|
3362
|
-
* @param array $import_list array of import plugins
|
|
3363
|
-
* @param string $uploaddir upload directory
|
|
3364
|
-
*
|
|
3365
|
-
* @return String
|
|
3366
|
-
*/
|
|
3367
|
-
public static function getSelectUploadFileBlock($import_list, $uploaddir)
|
|
3368
|
-
{
|
|
3369
|
-
$block_html = '';
|
|
3370
|
-
$block_html .= '<label for="radio_local_import_file">'
|
|
3371
|
-
. sprintf(
|
|
3372
|
-
__("Select from the web server upload directory <b>%s</b>:"),
|
|
3373
|
-
htmlspecialchars(self::userDir($uploaddir))
|
|
3374
|
-
)
|
|
3375
|
-
. '</label>';
|
|
3376
|
-
|
|
3377
|
-
$extensions = '';
|
|
3378
|
-
foreach ($import_list as $import_plugin) {
|
|
3379
|
-
if (! empty($extensions)) {
|
|
3380
|
-
$extensions .= '|';
|
|
3381
|
-
}
|
|
3382
|
-
$extensions .= $import_plugin->getProperties()->getExtension();
|
|
3383
|
-
}
|
|
3384
|
-
|
|
3385
|
-
$matcher = '@\.(' . $extensions . ')(\.('
|
|
3386
|
-
. PMA_supportedDecompressions() . '))?$@';
|
|
3387
|
-
|
|
3388
|
-
$active = (isset($GLOBALS['timeout_passed']) && $GLOBALS['timeout_passed']
|
|
3389
|
-
&& isset($GLOBALS['local_import_file']))
|
|
3390
|
-
? $GLOBALS['local_import_file']
|
|
3391
|
-
: '';
|
|
3392
|
-
|
|
3393
|
-
$files = PMA_getFileSelectOptions(
|
|
3394
|
-
self::userDir($uploaddir),
|
|
3395
|
-
$matcher,
|
|
3396
|
-
$active
|
|
3397
|
-
);
|
|
3398
|
-
|
|
3399
|
-
if ($files === false) {
|
|
3400
|
-
PMA_Message::error(
|
|
3401
|
-
__('The directory you set for upload work cannot be reached.')
|
|
3402
|
-
)->display();
|
|
3403
|
-
} elseif (! empty($files)) {
|
|
3404
|
-
$block_html .= "\n"
|
|
3405
|
-
. ' <select style="margin: 5px" size="1" '
|
|
3406
|
-
. 'name="local_import_file" '
|
|
3407
|
-
. 'id="select_local_import_file">' . "\n"
|
|
3408
|
-
. ' <option value=""> </option>' . "\n"
|
|
3409
|
-
. $files
|
|
3410
|
-
. ' </select>' . "\n";
|
|
3411
|
-
} elseif (empty ($files)) {
|
|
3412
|
-
$block_html .= '<i>' . __('There are no files to upload!') . '</i>';
|
|
3413
|
-
}
|
|
3414
|
-
|
|
3415
|
-
return $block_html;
|
|
3416
|
-
|
|
3417
|
-
}
|
|
3418
|
-
|
|
3419
|
-
/**
|
|
3420
|
-
* Build titles and icons for action links
|
|
3421
|
-
*
|
|
3422
|
-
* @return array the action titles
|
|
3423
|
-
*/
|
|
3424
|
-
public static function buildActionTitles()
|
|
3425
|
-
{
|
|
3426
|
-
$titles = array();
|
|
3427
|
-
|
|
3428
|
-
$titles['Browse'] = self::getIcon('b_browse.png', __('Browse'));
|
|
3429
|
-
$titles['NoBrowse'] = self::getIcon('bd_browse.png', __('Browse'));
|
|
3430
|
-
$titles['Search'] = self::getIcon('b_select.png', __('Search'));
|
|
3431
|
-
$titles['NoSearch'] = self::getIcon('bd_select.png', __('Search'));
|
|
3432
|
-
$titles['Insert'] = self::getIcon('b_insrow.png', __('Insert'));
|
|
3433
|
-
$titles['NoInsert'] = self::getIcon('bd_insrow.png', __('Insert'));
|
|
3434
|
-
$titles['Structure'] = self::getIcon('b_props.png', __('Structure'));
|
|
3435
|
-
$titles['Drop'] = self::getIcon('b_drop.png', __('Drop'));
|
|
3436
|
-
$titles['NoDrop'] = self::getIcon('bd_drop.png', __('Drop'));
|
|
3437
|
-
$titles['Empty'] = self::getIcon('b_empty.png', __('Empty'));
|
|
3438
|
-
$titles['NoEmpty'] = self::getIcon('bd_empty.png', __('Empty'));
|
|
3439
|
-
$titles['Edit'] = self::getIcon('b_edit.png', __('Edit'));
|
|
3440
|
-
$titles['NoEdit'] = self::getIcon('bd_edit.png', __('Edit'));
|
|
3441
|
-
$titles['Export'] = self::getIcon('b_export.png', __('Export'));
|
|
3442
|
-
$titles['NoExport'] = self::getIcon('bd_export.png', __('Export'));
|
|
3443
|
-
$titles['Execute'] = self::getIcon('b_nextpage.png', __('Execute'));
|
|
3444
|
-
$titles['NoExecute'] = self::getIcon('bd_nextpage.png', __('Execute'));
|
|
3445
|
-
// For Favorite/NoFavorite, we need icon only.
|
|
3446
|
-
$titles['Favorite'] = self::getIcon('b_favorite.png', '');
|
|
3447
|
-
$titles['NoFavorite']= self::getIcon('b_no_favorite.png', '');
|
|
3448
|
-
|
|
3449
|
-
return $titles;
|
|
3450
|
-
}
|
|
3451
|
-
|
|
3452
|
-
/**
|
|
3453
|
-
* This function processes the datatypes supported by the DB,
|
|
3454
|
-
* as specified in PMA_Types->getColumns() and either returns an array
|
|
3455
|
-
* (useful for quickly checking if a datatype is supported)
|
|
3456
|
-
* or an HTML snippet that creates a drop-down list.
|
|
3457
|
-
*
|
|
3458
|
-
* @param bool $html Whether to generate an html snippet or an array
|
|
3459
|
-
* @param string $selected The value to mark as selected in HTML mode
|
|
3460
|
-
*
|
|
3461
|
-
* @return mixed An HTML snippet or an array of datatypes.
|
|
3462
|
-
*
|
|
3463
|
-
*/
|
|
3464
|
-
public static function getSupportedDatatypes($html = false, $selected = '')
|
|
3465
|
-
{
|
|
3466
|
-
if ($html) {
|
|
3467
|
-
|
|
3468
|
-
// NOTE: the SELECT tag in not included in this snippet.
|
|
3469
|
-
$retval = '';
|
|
3470
|
-
|
|
3471
|
-
foreach ($GLOBALS['PMA_Types']->getColumns() as $key => $value) {
|
|
3472
|
-
if (is_array($value)) {
|
|
3473
|
-
$retval .= "<optgroup label='" . htmlspecialchars($key) . "'>";
|
|
3474
|
-
foreach ($value as $subvalue) {
|
|
3475
|
-
if ($subvalue == $selected) {
|
|
3476
|
-
$retval .= sprintf(
|
|
3477
|
-
'<option selected="selected" title="%s">%s</option>',
|
|
3478
|
-
$GLOBALS['PMA_Types']->getTypeDescription($subvalue),
|
|
3479
|
-
$subvalue
|
|
3480
|
-
);
|
|
3481
|
-
} else if ($subvalue === '-') {
|
|
3482
|
-
$retval .= '<option disabled="disabled">';
|
|
3483
|
-
$retval .= $subvalue;
|
|
3484
|
-
$retval .= '</option>';
|
|
3485
|
-
} else {
|
|
3486
|
-
$retval .= sprintf(
|
|
3487
|
-
'<option title="%s">%s</option>',
|
|
3488
|
-
$GLOBALS['PMA_Types']->getTypeDescription($subvalue),
|
|
3489
|
-
$subvalue
|
|
3490
|
-
);
|
|
3491
|
-
}
|
|
3492
|
-
}
|
|
3493
|
-
$retval .= '</optgroup>';
|
|
3494
|
-
} else {
|
|
3495
|
-
if ($selected == $value) {
|
|
3496
|
-
$retval .= sprintf(
|
|
3497
|
-
'<option selected="selected" title="%s">%s</option>',
|
|
3498
|
-
$GLOBALS['PMA_Types']->getTypeDescription($value),
|
|
3499
|
-
$value
|
|
3500
|
-
);
|
|
3501
|
-
} else {
|
|
3502
|
-
$retval .= sprintf(
|
|
3503
|
-
'<option title="%s">%s</option>',
|
|
3504
|
-
$GLOBALS['PMA_Types']->getTypeDescription($value),
|
|
3505
|
-
$value
|
|
3506
|
-
);
|
|
3507
|
-
}
|
|
3508
|
-
}
|
|
3509
|
-
}
|
|
3510
|
-
} else {
|
|
3511
|
-
$retval = array();
|
|
3512
|
-
foreach ($GLOBALS['PMA_Types']->getColumns() as $value) {
|
|
3513
|
-
if (is_array($value)) {
|
|
3514
|
-
foreach ($value as $subvalue) {
|
|
3515
|
-
if ($subvalue !== '-') {
|
|
3516
|
-
$retval[] = $subvalue;
|
|
3517
|
-
}
|
|
3518
|
-
}
|
|
3519
|
-
} else {
|
|
3520
|
-
if ($value !== '-') {
|
|
3521
|
-
$retval[] = $value;
|
|
3522
|
-
}
|
|
3523
|
-
}
|
|
3524
|
-
}
|
|
3525
|
-
}
|
|
3526
|
-
|
|
3527
|
-
return $retval;
|
|
3528
|
-
} // end getSupportedDatatypes()
|
|
3529
|
-
|
|
3530
|
-
/**
|
|
3531
|
-
* Returns a list of datatypes that are not (yet) handled by PMA.
|
|
3532
|
-
* Used by: tbl_change.php and libraries/db_routines.inc.php
|
|
3533
|
-
*
|
|
3534
|
-
* @return array list of datatypes
|
|
3535
|
-
*/
|
|
3536
|
-
public static function unsupportedDatatypes()
|
|
3537
|
-
{
|
|
3538
|
-
$no_support_types = array();
|
|
3539
|
-
return $no_support_types;
|
|
3540
|
-
}
|
|
3541
|
-
|
|
3542
|
-
/**
|
|
3543
|
-
* Return GIS data types
|
|
3544
|
-
*
|
|
3545
|
-
* @param bool $upper_case whether to return values in upper case
|
|
3546
|
-
*
|
|
3547
|
-
* @return string[] GIS data types
|
|
3548
|
-
*/
|
|
3549
|
-
public static function getGISDatatypes($upper_case = false)
|
|
3550
|
-
{
|
|
3551
|
-
$gis_data_types = array(
|
|
3552
|
-
'geometry',
|
|
3553
|
-
'point',
|
|
3554
|
-
'linestring',
|
|
3555
|
-
'polygon',
|
|
3556
|
-
'multipoint',
|
|
3557
|
-
'multilinestring',
|
|
3558
|
-
'multipolygon',
|
|
3559
|
-
'geometrycollection'
|
|
3560
|
-
);
|
|
3561
|
-
if ($upper_case) {
|
|
3562
|
-
for ($i = 0, $nb = count($gis_data_types); $i < $nb; $i++) {
|
|
3563
|
-
$gis_data_types[$i]
|
|
3564
|
-
= /*overload*/mb_strtoupper($gis_data_types[$i]);
|
|
3565
|
-
}
|
|
3566
|
-
}
|
|
3567
|
-
return $gis_data_types;
|
|
3568
|
-
}
|
|
3569
|
-
|
|
3570
|
-
/**
|
|
3571
|
-
* Generates GIS data based on the string passed.
|
|
3572
|
-
*
|
|
3573
|
-
* @param string $gis_string GIS string
|
|
3574
|
-
*
|
|
3575
|
-
* @return string GIS data enclosed in 'GeomFromText' function
|
|
3576
|
-
*/
|
|
3577
|
-
public static function createGISData($gis_string)
|
|
3578
|
-
{
|
|
3579
|
-
$gis_string = trim($gis_string);
|
|
3580
|
-
$geom_types = '(POINT|MULTIPOINT|LINESTRING|MULTILINESTRING|'
|
|
3581
|
-
. 'POLYGON|MULTIPOLYGON|GEOMETRYCOLLECTION)';
|
|
3582
|
-
if (preg_match("/^'" . $geom_types . "\(.*\)',[0-9]*$/i", $gis_string)) {
|
|
3583
|
-
return 'GeomFromText(' . $gis_string . ')';
|
|
3584
|
-
} elseif (preg_match("/^" . $geom_types . "\(.*\)$/i", $gis_string)) {
|
|
3585
|
-
return "GeomFromText('" . $gis_string . "')";
|
|
3586
|
-
} else {
|
|
3587
|
-
return $gis_string;
|
|
3588
|
-
}
|
|
3589
|
-
}
|
|
3590
|
-
|
|
3591
|
-
/**
|
|
3592
|
-
* Returns the names and details of the functions
|
|
3593
|
-
* that can be applied on geometry data types.
|
|
3594
|
-
*
|
|
3595
|
-
* @param string $geom_type if provided the output is limited to the functions
|
|
3596
|
-
* that are applicable to the provided geometry type.
|
|
3597
|
-
* @param bool $binary if set to false functions that take two geometries
|
|
3598
|
-
* as arguments will not be included.
|
|
3599
|
-
* @param bool $display if set to true separators will be added to the
|
|
3600
|
-
* output array.
|
|
3601
|
-
*
|
|
3602
|
-
* @return array names and details of the functions that can be applied on
|
|
3603
|
-
* geometry data types.
|
|
3604
|
-
*/
|
|
3605
|
-
public static function getGISFunctions(
|
|
3606
|
-
$geom_type = null, $binary = true, $display = false
|
|
3607
|
-
) {
|
|
3608
|
-
$funcs = array();
|
|
3609
|
-
if ($display) {
|
|
3610
|
-
$funcs[] = array('display' => ' ');
|
|
3611
|
-
}
|
|
3612
|
-
|
|
3613
|
-
// Unary functions common to all geometry types
|
|
3614
|
-
$funcs['Dimension'] = array('params' => 1, 'type' => 'int');
|
|
3615
|
-
$funcs['Envelope'] = array('params' => 1, 'type' => 'Polygon');
|
|
3616
|
-
$funcs['GeometryType'] = array('params' => 1, 'type' => 'text');
|
|
3617
|
-
$funcs['SRID'] = array('params' => 1, 'type' => 'int');
|
|
3618
|
-
$funcs['IsEmpty'] = array('params' => 1, 'type' => 'int');
|
|
3619
|
-
$funcs['IsSimple'] = array('params' => 1, 'type' => 'int');
|
|
3620
|
-
|
|
3621
|
-
$geom_type = trim(/*overload*/mb_strtolower($geom_type));
|
|
3622
|
-
if ($display && $geom_type != 'geometry' && $geom_type != 'multipoint') {
|
|
3623
|
-
$funcs[] = array('display' => '--------');
|
|
3624
|
-
}
|
|
3625
|
-
|
|
3626
|
-
// Unary functions that are specific to each geometry type
|
|
3627
|
-
if ($geom_type == 'point') {
|
|
3628
|
-
$funcs['X'] = array('params' => 1, 'type' => 'float');
|
|
3629
|
-
$funcs['Y'] = array('params' => 1, 'type' => 'float');
|
|
3630
|
-
|
|
3631
|
-
} elseif ($geom_type == 'multipoint') {
|
|
3632
|
-
// no functions here
|
|
3633
|
-
} elseif ($geom_type == 'linestring') {
|
|
3634
|
-
$funcs['EndPoint'] = array('params' => 1, 'type' => 'point');
|
|
3635
|
-
$funcs['GLength'] = array('params' => 1, 'type' => 'float');
|
|
3636
|
-
$funcs['NumPoints'] = array('params' => 1, 'type' => 'int');
|
|
3637
|
-
$funcs['StartPoint'] = array('params' => 1, 'type' => 'point');
|
|
3638
|
-
$funcs['IsRing'] = array('params' => 1, 'type' => 'int');
|
|
3639
|
-
|
|
3640
|
-
} elseif ($geom_type == 'multilinestring') {
|
|
3641
|
-
$funcs['GLength'] = array('params' => 1, 'type' => 'float');
|
|
3642
|
-
$funcs['IsClosed'] = array('params' => 1, 'type' => 'int');
|
|
3643
|
-
|
|
3644
|
-
} elseif ($geom_type == 'polygon') {
|
|
3645
|
-
$funcs['Area'] = array('params' => 1, 'type' => 'float');
|
|
3646
|
-
$funcs['ExteriorRing'] = array('params' => 1, 'type' => 'linestring');
|
|
3647
|
-
$funcs['NumInteriorRings'] = array('params' => 1, 'type' => 'int');
|
|
3648
|
-
|
|
3649
|
-
} elseif ($geom_type == 'multipolygon') {
|
|
3650
|
-
$funcs['Area'] = array('params' => 1, 'type' => 'float');
|
|
3651
|
-
$funcs['Centroid'] = array('params' => 1, 'type' => 'point');
|
|
3652
|
-
// Not yet implemented in MySQL
|
|
3653
|
-
//$funcs['PointOnSurface'] = array('params' => 1, 'type' => 'point');
|
|
3654
|
-
|
|
3655
|
-
} elseif ($geom_type == 'geometrycollection') {
|
|
3656
|
-
$funcs['NumGeometries'] = array('params' => 1, 'type' => 'int');
|
|
3657
|
-
}
|
|
3658
|
-
|
|
3659
|
-
// If we are asked for binary functions as well
|
|
3660
|
-
if ($binary) {
|
|
3661
|
-
// section separator
|
|
3662
|
-
if ($display) {
|
|
3663
|
-
$funcs[] = array('display' => '--------');
|
|
3664
|
-
}
|
|
3665
|
-
|
|
3666
|
-
if (PMA_MYSQL_INT_VERSION < 50601) {
|
|
3667
|
-
$funcs['Crosses'] = array('params' => 2, 'type' => 'int');
|
|
3668
|
-
$funcs['Contains'] = array('params' => 2, 'type' => 'int');
|
|
3669
|
-
$funcs['Disjoint'] = array('params' => 2, 'type' => 'int');
|
|
3670
|
-
$funcs['Equals'] = array('params' => 2, 'type' => 'int');
|
|
3671
|
-
$funcs['Intersects'] = array('params' => 2, 'type' => 'int');
|
|
3672
|
-
$funcs['Overlaps'] = array('params' => 2, 'type' => 'int');
|
|
3673
|
-
$funcs['Touches'] = array('params' => 2, 'type' => 'int');
|
|
3674
|
-
$funcs['Within'] = array('params' => 2, 'type' => 'int');
|
|
3675
|
-
} else {
|
|
3676
|
-
// If MySQl version is greater than or equal 5.6.1,
|
|
3677
|
-
// use the ST_ prefix.
|
|
3678
|
-
$funcs['ST_Crosses'] = array('params' => 2, 'type' => 'int');
|
|
3679
|
-
$funcs['ST_Contains'] = array('params' => 2, 'type' => 'int');
|
|
3680
|
-
$funcs['ST_Disjoint'] = array('params' => 2, 'type' => 'int');
|
|
3681
|
-
$funcs['ST_Equals'] = array('params' => 2, 'type' => 'int');
|
|
3682
|
-
$funcs['ST_Intersects'] = array('params' => 2, 'type' => 'int');
|
|
3683
|
-
$funcs['ST_Overlaps'] = array('params' => 2, 'type' => 'int');
|
|
3684
|
-
$funcs['ST_Touches'] = array('params' => 2, 'type' => 'int');
|
|
3685
|
-
$funcs['ST_Within'] = array('params' => 2, 'type' => 'int');
|
|
3686
|
-
}
|
|
3687
|
-
|
|
3688
|
-
if ($display) {
|
|
3689
|
-
$funcs[] = array('display' => '--------');
|
|
3690
|
-
}
|
|
3691
|
-
// Minimum bounding rectangle functions
|
|
3692
|
-
$funcs['MBRContains'] = array('params' => 2, 'type' => 'int');
|
|
3693
|
-
$funcs['MBRDisjoint'] = array('params' => 2, 'type' => 'int');
|
|
3694
|
-
$funcs['MBREquals'] = array('params' => 2, 'type' => 'int');
|
|
3695
|
-
$funcs['MBRIntersects'] = array('params' => 2, 'type' => 'int');
|
|
3696
|
-
$funcs['MBROverlaps'] = array('params' => 2, 'type' => 'int');
|
|
3697
|
-
$funcs['MBRTouches'] = array('params' => 2, 'type' => 'int');
|
|
3698
|
-
$funcs['MBRWithin'] = array('params' => 2, 'type' => 'int');
|
|
3699
|
-
}
|
|
3700
|
-
return $funcs;
|
|
3701
|
-
}
|
|
3702
|
-
|
|
3703
|
-
/**
|
|
3704
|
-
* Returns default function for a particular column.
|
|
3705
|
-
*
|
|
3706
|
-
* @param array $field Data about the column for which
|
|
3707
|
-
* to generate the dropdown
|
|
3708
|
-
* @param bool $insert_mode Whether the operation is 'insert'
|
|
3709
|
-
*
|
|
3710
|
-
* @global array $cfg PMA configuration
|
|
3711
|
-
* @global array $analyzed_sql Analyzed SQL query
|
|
3712
|
-
* @global mixed $data data of currently edited row
|
|
3713
|
-
* (used to detect whether to choose defaults)
|
|
3714
|
-
*
|
|
3715
|
-
* @return string An HTML snippet of a dropdown list with function
|
|
3716
|
-
* names appropriate for the requested column.
|
|
3717
|
-
*/
|
|
3718
|
-
public static function getDefaultFunctionForField($field, $insert_mode)
|
|
3719
|
-
{
|
|
3720
|
-
/*
|
|
3721
|
-
* @todo Except for $cfg, no longer use globals but pass as parameters
|
|
3722
|
-
* from higher levels
|
|
3723
|
-
*/
|
|
3724
|
-
global $cfg, $analyzed_sql, $data;
|
|
3725
|
-
|
|
3726
|
-
$default_function = '';
|
|
3727
|
-
|
|
3728
|
-
// Can we get field class based values?
|
|
3729
|
-
$current_class = $GLOBALS['PMA_Types']->getTypeClass($field['True_Type']);
|
|
3730
|
-
if (! empty($current_class)) {
|
|
3731
|
-
if (isset($cfg['DefaultFunctions']['FUNC_' . $current_class])) {
|
|
3732
|
-
$default_function
|
|
3733
|
-
= $cfg['DefaultFunctions']['FUNC_' . $current_class];
|
|
3734
|
-
}
|
|
3735
|
-
}
|
|
3736
|
-
|
|
3737
|
-
$analyzed_sql_field_array = $analyzed_sql[0]['create_table_fields']
|
|
3738
|
-
[$field['Field']];
|
|
3739
|
-
// what function defined as default?
|
|
3740
|
-
// for the first timestamp we don't set the default function
|
|
3741
|
-
// if there is a default value for the timestamp
|
|
3742
|
-
// (not including CURRENT_TIMESTAMP)
|
|
3743
|
-
// and the column does not have the
|
|
3744
|
-
// ON UPDATE DEFAULT TIMESTAMP attribute.
|
|
3745
|
-
if (($field['True_Type'] == 'timestamp')
|
|
3746
|
-
&& $field['first_timestamp']
|
|
3747
|
-
&& empty($field['Default'])
|
|
3748
|
-
&& empty($data)
|
|
3749
|
-
&& ! isset($analyzed_sql_field_array['on_update_current_timestamp'])
|
|
3750
|
-
&& ! (isset($analyzed_sql_field_array['default_value'])
|
|
3751
|
-
&& $analyzed_sql_field_array['default_value'] == 'NULL')
|
|
3752
|
-
) {
|
|
3753
|
-
$default_function = $cfg['DefaultFunctions']['first_timestamp'];
|
|
3754
|
-
}
|
|
3755
|
-
|
|
3756
|
-
// For primary keys of type char(36) or varchar(36) UUID if the default
|
|
3757
|
-
// function
|
|
3758
|
-
// Only applies to insert mode, as it would silently trash data on updates.
|
|
3759
|
-
if ($insert_mode
|
|
3760
|
-
&& $field['Key'] == 'PRI'
|
|
3761
|
-
&& ($field['Type'] == 'char(36)' || $field['Type'] == 'varchar(36)')
|
|
3762
|
-
) {
|
|
3763
|
-
$default_function = $cfg['DefaultFunctions']['FUNC_UUID'];
|
|
3764
|
-
}
|
|
3765
|
-
|
|
3766
|
-
return $default_function;
|
|
3767
|
-
}
|
|
3768
|
-
|
|
3769
|
-
/**
|
|
3770
|
-
* Creates a dropdown box with MySQL functions for a particular column.
|
|
3771
|
-
*
|
|
3772
|
-
* @param array $field Data about the column for which
|
|
3773
|
-
* to generate the dropdown
|
|
3774
|
-
* @param bool $insert_mode Whether the operation is 'insert'
|
|
3775
|
-
*
|
|
3776
|
-
* @return string An HTML snippet of a dropdown list with function
|
|
3777
|
-
* names appropriate for the requested column.
|
|
3778
|
-
*/
|
|
3779
|
-
public static function getFunctionsForField($field, $insert_mode)
|
|
3780
|
-
{
|
|
3781
|
-
$default_function = self::getDefaultFunctionForField($field, $insert_mode);
|
|
3782
|
-
$dropdown_built = array();
|
|
3783
|
-
|
|
3784
|
-
// Create the output
|
|
3785
|
-
$retval = '<option></option>' . "\n";
|
|
3786
|
-
// loop on the dropdown array and print all available options for that
|
|
3787
|
-
// field.
|
|
3788
|
-
$functions = $GLOBALS['PMA_Types']->getFunctions($field['True_Type']);
|
|
3789
|
-
foreach ($functions as $function) {
|
|
3790
|
-
$retval .= '<option';
|
|
3791
|
-
if ($default_function === $function) {
|
|
3792
|
-
$retval .= ' selected="selected"';
|
|
3793
|
-
}
|
|
3794
|
-
$retval .= '>' . $function . '</option>' . "\n";
|
|
3795
|
-
$dropdown_built[$function] = true;
|
|
3796
|
-
}
|
|
3797
|
-
|
|
3798
|
-
// Create separator before all functions list
|
|
3799
|
-
if (count($functions) > 0) {
|
|
3800
|
-
$retval .= '<option value="" disabled="disabled">--------</option>'
|
|
3801
|
-
. "\n";
|
|
3802
|
-
}
|
|
3803
|
-
|
|
3804
|
-
// For compatibility's sake, do not let out all other functions. Instead
|
|
3805
|
-
// print a separator (blank) and then show ALL functions which weren't
|
|
3806
|
-
// shown yet.
|
|
3807
|
-
$functions = $GLOBALS['PMA_Types']->getAllFunctions();
|
|
3808
|
-
foreach ($functions as $function) {
|
|
3809
|
-
// Skip already included functions
|
|
3810
|
-
if (isset($dropdown_built[$function])) {
|
|
3811
|
-
continue;
|
|
3812
|
-
}
|
|
3813
|
-
$retval .= '<option';
|
|
3814
|
-
if ($default_function === $function) {
|
|
3815
|
-
$retval .= ' selected="selected"';
|
|
3816
|
-
}
|
|
3817
|
-
$retval .= '>' . $function . '</option>' . "\n";
|
|
3818
|
-
} // end for
|
|
3819
|
-
|
|
3820
|
-
return $retval;
|
|
3821
|
-
} // end getFunctionsForField()
|
|
3822
|
-
|
|
3823
|
-
/**
|
|
3824
|
-
* Checks if the current user has a specific privilege and returns true if the
|
|
3825
|
-
* user indeed has that privilege or false if (s)he doesn't. This function must
|
|
3826
|
-
* only be used for features that are available since MySQL 5, because it
|
|
3827
|
-
* relies on the INFORMATION_SCHEMA database to be present.
|
|
3828
|
-
*
|
|
3829
|
-
* Example: currentUserHasPrivilege('CREATE ROUTINE', 'mydb');
|
|
3830
|
-
* // Checks if the currently logged in user has the global
|
|
3831
|
-
* // 'CREATE ROUTINE' privilege or, if not, checks if the
|
|
3832
|
-
* // user has this privilege on database 'mydb'.
|
|
3833
|
-
*
|
|
3834
|
-
* @param string $priv The privilege to check
|
|
3835
|
-
* @param mixed $db null, to only check global privileges
|
|
3836
|
-
* string, db name where to also check for privileges
|
|
3837
|
-
* @param mixed $tbl null, to only check global/db privileges
|
|
3838
|
-
* string, table name where to also check for privileges
|
|
3839
|
-
*
|
|
3840
|
-
* @return bool
|
|
3841
|
-
*/
|
|
3842
|
-
public static function currentUserHasPrivilege($priv, $db = null, $tbl = null)
|
|
3843
|
-
{
|
|
3844
|
-
// Get the username for the current user in the format
|
|
3845
|
-
// required to use in the information schema database.
|
|
3846
|
-
$user = $GLOBALS['dbi']->fetchValue("SELECT CURRENT_USER();");
|
|
3847
|
-
if ($user === false) {
|
|
3848
|
-
return false;
|
|
3849
|
-
}
|
|
3850
|
-
|
|
3851
|
-
$user = explode('@', $user);
|
|
3852
|
-
$username = "''";
|
|
3853
|
-
$username .= str_replace("'", "''", $user[0]);
|
|
3854
|
-
$username .= "''@''";
|
|
3855
|
-
$username .= str_replace("'", "''", $user[1]);
|
|
3856
|
-
$username .= "''";
|
|
3857
|
-
|
|
3858
|
-
// Prepare the query
|
|
3859
|
-
$query = "SELECT `PRIVILEGE_TYPE` FROM `INFORMATION_SCHEMA`.`%s` "
|
|
3860
|
-
. "WHERE GRANTEE='%s' AND PRIVILEGE_TYPE='%s'";
|
|
3861
|
-
|
|
3862
|
-
// Check global privileges first.
|
|
3863
|
-
$user_privileges = $GLOBALS['dbi']->fetchValue(
|
|
3864
|
-
sprintf(
|
|
3865
|
-
$query,
|
|
3866
|
-
'USER_PRIVILEGES',
|
|
3867
|
-
$username,
|
|
3868
|
-
$priv
|
|
3869
|
-
)
|
|
3870
|
-
);
|
|
3871
|
-
if ($user_privileges) {
|
|
3872
|
-
return true;
|
|
3873
|
-
}
|
|
3874
|
-
// If a database name was provided and user does not have the
|
|
3875
|
-
// required global privilege, try database-wise permissions.
|
|
3876
|
-
if ($db !== null) {
|
|
3877
|
-
$query .= " AND '%s' LIKE `TABLE_SCHEMA`";
|
|
3878
|
-
$schema_privileges = $GLOBALS['dbi']->fetchValue(
|
|
3879
|
-
sprintf(
|
|
3880
|
-
$query,
|
|
3881
|
-
'SCHEMA_PRIVILEGES',
|
|
3882
|
-
$username,
|
|
3883
|
-
$priv,
|
|
3884
|
-
self::sqlAddSlashes($db)
|
|
3885
|
-
)
|
|
3886
|
-
);
|
|
3887
|
-
if ($schema_privileges) {
|
|
3888
|
-
return true;
|
|
3889
|
-
}
|
|
3890
|
-
} else {
|
|
3891
|
-
// There was no database name provided and the user
|
|
3892
|
-
// does not have the correct global privilege.
|
|
3893
|
-
return false;
|
|
3894
|
-
}
|
|
3895
|
-
// If a table name was also provided and we still didn't
|
|
3896
|
-
// find any valid privileges, try table-wise privileges.
|
|
3897
|
-
if ($tbl !== null) {
|
|
3898
|
-
// need to escape wildcards in db and table names, see bug #3518484
|
|
3899
|
-
$tbl = str_replace(array('%', '_'), array('\%', '\_'), $tbl);
|
|
3900
|
-
$query .= " AND TABLE_NAME='%s'";
|
|
3901
|
-
$table_privileges = $GLOBALS['dbi']->fetchValue(
|
|
3902
|
-
sprintf(
|
|
3903
|
-
$query,
|
|
3904
|
-
'TABLE_PRIVILEGES',
|
|
3905
|
-
$username,
|
|
3906
|
-
$priv,
|
|
3907
|
-
self::sqlAddSlashes($db),
|
|
3908
|
-
self::sqlAddSlashes($tbl)
|
|
3909
|
-
)
|
|
3910
|
-
);
|
|
3911
|
-
if ($table_privileges) {
|
|
3912
|
-
return true;
|
|
3913
|
-
}
|
|
3914
|
-
}
|
|
3915
|
-
// If we reached this point, the user does not
|
|
3916
|
-
// have even valid table-wise privileges.
|
|
3917
|
-
return false;
|
|
3918
|
-
}
|
|
3919
|
-
|
|
3920
|
-
/**
|
|
3921
|
-
* Returns server type for current connection
|
|
3922
|
-
*
|
|
3923
|
-
* Known types are: Drizzle, MariaDB and MySQL (default)
|
|
3924
|
-
*
|
|
3925
|
-
* @return string
|
|
3926
|
-
*/
|
|
3927
|
-
public static function getServerType()
|
|
3928
|
-
{
|
|
3929
|
-
$server_type = 'MySQL';
|
|
3930
|
-
if (PMA_DRIZZLE) {
|
|
3931
|
-
$server_type = 'Drizzle';
|
|
3932
|
-
return $server_type;
|
|
3933
|
-
}
|
|
3934
|
-
|
|
3935
|
-
if (/*overload*/mb_stripos(PMA_MYSQL_STR_VERSION, 'mariadb') !== false) {
|
|
3936
|
-
$server_type = 'MariaDB';
|
|
3937
|
-
return $server_type;
|
|
3938
|
-
}
|
|
3939
|
-
|
|
3940
|
-
if (/*overload*/mb_stripos(PMA_MYSQL_VERSION_COMMENT, 'percona') !== false) {
|
|
3941
|
-
$server_type = 'Percona Server';
|
|
3942
|
-
return $server_type;
|
|
3943
|
-
}
|
|
3944
|
-
|
|
3945
|
-
return $server_type;
|
|
3946
|
-
}
|
|
3947
|
-
|
|
3948
|
-
/**
|
|
3949
|
-
* Analyzes the limit clause and return the start and length attributes of it.
|
|
3950
|
-
*
|
|
3951
|
-
* @param string $limit_clause limit clause
|
|
3952
|
-
*
|
|
3953
|
-
* @return array|bool Start and length attributes of the limit clause or false
|
|
3954
|
-
* on failure
|
|
3955
|
-
*/
|
|
3956
|
-
public static function analyzeLimitClause($limit_clause)
|
|
3957
|
-
{
|
|
3958
|
-
$limitParams = trim(str_ireplace('LIMIT', '', $limit_clause));
|
|
3959
|
-
if ('' == $limitParams) {
|
|
3960
|
-
return false;
|
|
3961
|
-
}
|
|
3962
|
-
|
|
3963
|
-
$start_and_length = explode(',', $limitParams);
|
|
3964
|
-
$size = count($start_and_length);
|
|
3965
|
-
if ($size == 1) {
|
|
3966
|
-
return array(
|
|
3967
|
-
'start' => '0',
|
|
3968
|
-
'length' => trim($start_and_length[0])
|
|
3969
|
-
);
|
|
3970
|
-
} elseif ($size == 2) {
|
|
3971
|
-
return array(
|
|
3972
|
-
'start' => trim($start_and_length[0]),
|
|
3973
|
-
'length' => trim($start_and_length[1])
|
|
3974
|
-
);
|
|
3975
|
-
}
|
|
3976
|
-
|
|
3977
|
-
return false;
|
|
3978
|
-
}
|
|
3979
|
-
|
|
3980
|
-
/**
|
|
3981
|
-
* Prepare HTML code for display button.
|
|
3982
|
-
*
|
|
3983
|
-
* @return String
|
|
3984
|
-
*/
|
|
3985
|
-
public static function getButton()
|
|
3986
|
-
{
|
|
3987
|
-
return '<p class="print_ignore">'
|
|
3988
|
-
. '<input type="button" class="button" id="print" value="'
|
|
3989
|
-
. __('Print') . '" />'
|
|
3990
|
-
. '</p>';
|
|
3991
|
-
}
|
|
3992
|
-
|
|
3993
|
-
/**
|
|
3994
|
-
* Parses ENUM/SET values
|
|
3995
|
-
*
|
|
3996
|
-
* @param string $definition The definition of the column
|
|
3997
|
-
* for which to parse the values
|
|
3998
|
-
* @param bool $escapeHtml Whether to escape html entities
|
|
3999
|
-
*
|
|
4000
|
-
* @return array
|
|
4001
|
-
*/
|
|
4002
|
-
public static function parseEnumSetValues($definition, $escapeHtml = true)
|
|
4003
|
-
{
|
|
4004
|
-
$values_string = htmlentities($definition, ENT_COMPAT, "UTF-8");
|
|
4005
|
-
// There is a JS port of the below parser in functions.js
|
|
4006
|
-
// If you are fixing something here,
|
|
4007
|
-
// you need to also update the JS port.
|
|
4008
|
-
$values = array();
|
|
4009
|
-
$in_string = false;
|
|
4010
|
-
$buffer = '';
|
|
4011
|
-
|
|
4012
|
-
for ($i=0, $length = /*overload*/mb_strlen($values_string);
|
|
4013
|
-
$i < $length;
|
|
4014
|
-
$i++
|
|
4015
|
-
) {
|
|
4016
|
-
$curr = /*overload*/mb_substr($values_string, $i, 1);
|
|
4017
|
-
$next = ($i == /*overload*/mb_strlen($values_string)-1)
|
|
4018
|
-
? ''
|
|
4019
|
-
: /*overload*/mb_substr($values_string, $i + 1, 1);
|
|
4020
|
-
|
|
4021
|
-
if (! $in_string && $curr == "'") {
|
|
4022
|
-
$in_string = true;
|
|
4023
|
-
} else if (($in_string && $curr == "\\") && $next == "\\") {
|
|
4024
|
-
$buffer .= "\";
|
|
4025
|
-
$i++;
|
|
4026
|
-
} else if (($in_string && $next == "'")
|
|
4027
|
-
&& ($curr == "'" || $curr == "\\")
|
|
4028
|
-
) {
|
|
4029
|
-
$buffer .= "'";
|
|
4030
|
-
$i++;
|
|
4031
|
-
} else if ($in_string && $curr == "'") {
|
|
4032
|
-
$in_string = false;
|
|
4033
|
-
$values[] = $buffer;
|
|
4034
|
-
$buffer = '';
|
|
4035
|
-
} else if ($in_string) {
|
|
4036
|
-
$buffer .= $curr;
|
|
4037
|
-
}
|
|
4038
|
-
|
|
4039
|
-
}
|
|
4040
|
-
|
|
4041
|
-
if (/*overload*/mb_strlen($buffer) > 0) {
|
|
4042
|
-
// The leftovers in the buffer are the last value (if any)
|
|
4043
|
-
$values[] = $buffer;
|
|
4044
|
-
}
|
|
4045
|
-
|
|
4046
|
-
if (! $escapeHtml) {
|
|
4047
|
-
foreach ($values as $key => $value) {
|
|
4048
|
-
$values[$key] = html_entity_decode($value, ENT_QUOTES, 'UTF-8');
|
|
4049
|
-
}
|
|
4050
|
-
}
|
|
4051
|
-
|
|
4052
|
-
return $values;
|
|
4053
|
-
}
|
|
4054
|
-
|
|
4055
|
-
/**
|
|
4056
|
-
* fills given tooltip arrays
|
|
4057
|
-
*
|
|
4058
|
-
* @param array &$tooltip_truename tooltip data
|
|
4059
|
-
* @param array &$tooltip_aliasname tooltip data
|
|
4060
|
-
* @param array $table tabledata
|
|
4061
|
-
*
|
|
4062
|
-
* @return void
|
|
4063
|
-
*/
|
|
4064
|
-
public static function fillTooltip(
|
|
4065
|
-
&$tooltip_truename, &$tooltip_aliasname, $table
|
|
4066
|
-
) {
|
|
4067
|
-
if (/*overload*/mb_strstr($table['Comment'], '; InnoDB free') === false) {
|
|
4068
|
-
if (!/*overload*/mb_strstr($table['Comment'], 'InnoDB free') === false) {
|
|
4069
|
-
// here we have just InnoDB generated part
|
|
4070
|
-
$table['Comment'] = '';
|
|
4071
|
-
}
|
|
4072
|
-
} else {
|
|
4073
|
-
// remove InnoDB comment from end, just the minimal part
|
|
4074
|
-
// (*? is non greedy)
|
|
4075
|
-
$table['Comment'] = preg_replace(
|
|
4076
|
-
'@; InnoDB free:.*?$@', '', $table['Comment']
|
|
4077
|
-
);
|
|
4078
|
-
}
|
|
4079
|
-
// views have VIEW as comment so it's not a real comment put by a user
|
|
4080
|
-
if ('VIEW' == $table['Comment']) {
|
|
4081
|
-
$table['Comment'] = '';
|
|
4082
|
-
}
|
|
4083
|
-
if (empty($table['Comment'])) {
|
|
4084
|
-
$table['Comment'] = $table['Name'];
|
|
4085
|
-
} else {
|
|
4086
|
-
// todo: why?
|
|
4087
|
-
$table['Comment'] .= ' ';
|
|
4088
|
-
}
|
|
4089
|
-
|
|
4090
|
-
$tooltip_truename[$table['Name']] = $table['Name'];
|
|
4091
|
-
$tooltip_aliasname[$table['Name']] = $table['Comment'];
|
|
4092
|
-
|
|
4093
|
-
if (isset($table['Create_time']) && !empty($table['Create_time'])) {
|
|
4094
|
-
$tooltip_aliasname[$table['Name']] .= ', ' . __('Creation')
|
|
4095
|
-
. ': '
|
|
4096
|
-
. PMA_Util::localisedDate(strtotime($table['Create_time']));
|
|
4097
|
-
}
|
|
4098
|
-
|
|
4099
|
-
if (! empty($table['Update_time'])) {
|
|
4100
|
-
$tooltip_aliasname[$table['Name']] .= ', ' . __('Last update')
|
|
4101
|
-
. ': '
|
|
4102
|
-
. PMA_Util::localisedDate(strtotime($table['Update_time']));
|
|
4103
|
-
}
|
|
4104
|
-
|
|
4105
|
-
if (! empty($table['Check_time'])) {
|
|
4106
|
-
$tooltip_aliasname[$table['Name']] .= ', ' . __('Last check')
|
|
4107
|
-
. ': '
|
|
4108
|
-
. PMA_Util::localisedDate(strtotime($table['Check_time']));
|
|
4109
|
-
}
|
|
4110
|
-
}
|
|
4111
|
-
|
|
4112
|
-
/**
|
|
4113
|
-
* Get regular expression which occur first inside the given sql query.
|
|
4114
|
-
*
|
|
4115
|
-
* @param Array $regex_array Comparing regular expressions.
|
|
4116
|
-
* @param String $query SQL query to be checked.
|
|
4117
|
-
*
|
|
4118
|
-
* @return String Matching regular expression.
|
|
4119
|
-
*/
|
|
4120
|
-
public static function getFirstOccurringRegularExpression($regex_array, $query)
|
|
4121
|
-
{
|
|
4122
|
-
$minimum_first_occurence_index = null;
|
|
4123
|
-
$regex = null;
|
|
4124
|
-
|
|
4125
|
-
foreach ($regex_array as $test_regex) {
|
|
4126
|
-
if (preg_match($test_regex, $query, $matches, PREG_OFFSET_CAPTURE)) {
|
|
4127
|
-
if (is_null($minimum_first_occurence_index)
|
|
4128
|
-
|| ($matches[0][1] < $minimum_first_occurence_index)
|
|
4129
|
-
) {
|
|
4130
|
-
$regex = $test_regex;
|
|
4131
|
-
$minimum_first_occurence_index = $matches[0][1];
|
|
4132
|
-
}
|
|
4133
|
-
}
|
|
4134
|
-
}
|
|
4135
|
-
return $regex;
|
|
4136
|
-
}
|
|
4137
|
-
|
|
4138
|
-
/**
|
|
4139
|
-
* Return the list of tabs for the menu with corresponding names
|
|
4140
|
-
*
|
|
4141
|
-
* @param string $level 'server', 'db' or 'table' level
|
|
4142
|
-
*
|
|
4143
|
-
* @return array list of tabs for the menu
|
|
4144
|
-
*/
|
|
4145
|
-
public static function getMenuTabList($level = null)
|
|
4146
|
-
{
|
|
4147
|
-
$tabList = array(
|
|
4148
|
-
'server' => array(
|
|
4149
|
-
'databases' => __('Databases'),
|
|
4150
|
-
'sql' => __('SQL'),
|
|
4151
|
-
'status' => __('Status'),
|
|
4152
|
-
'rights' => __('Users'),
|
|
4153
|
-
'export' => __('Export'),
|
|
4154
|
-
'import' => __('Import'),
|
|
4155
|
-
'settings' => __('Settings'),
|
|
4156
|
-
'binlog' => __('Binary log'),
|
|
4157
|
-
'replication' => __('Replication'),
|
|
4158
|
-
'vars' => __('Variables'),
|
|
4159
|
-
'charset' => __('Charsets'),
|
|
4160
|
-
'plugins' => __('Plugins'),
|
|
4161
|
-
'engine' => __('Engines')
|
|
4162
|
-
),
|
|
4163
|
-
'db' => array(
|
|
4164
|
-
'structure' => __('Structure'),
|
|
4165
|
-
'sql' => __('SQL'),
|
|
4166
|
-
'search' => __('Search'),
|
|
4167
|
-
'qbe' => __('Query'),
|
|
4168
|
-
'export' => __('Export'),
|
|
4169
|
-
'import' => __('Import'),
|
|
4170
|
-
'operation' => __('Operations'),
|
|
4171
|
-
'privileges' => __('Privileges'),
|
|
4172
|
-
'routines' => __('Routines'),
|
|
4173
|
-
'events' => __('Events'),
|
|
4174
|
-
'triggers' => __('Triggers'),
|
|
4175
|
-
'tracking' => __('Tracking'),
|
|
4176
|
-
'designer' => __('Designer'),
|
|
4177
|
-
'central_columns' => __('Central columns')
|
|
4178
|
-
),
|
|
4179
|
-
'table' => array(
|
|
4180
|
-
'browse' => __('Browse'),
|
|
4181
|
-
'structure' => __('Structure'),
|
|
4182
|
-
'sql' => __('SQL'),
|
|
4183
|
-
'search' => __('Search'),
|
|
4184
|
-
'insert' => __('Insert'),
|
|
4185
|
-
'export' => __('Export'),
|
|
4186
|
-
'import' => __('Import'),
|
|
4187
|
-
'privileges' => __('Privileges'),
|
|
4188
|
-
'operation' => __('Operations'),
|
|
4189
|
-
'tracking' => __('Tracking'),
|
|
4190
|
-
'triggers' => __('Triggers'),
|
|
4191
|
-
)
|
|
4192
|
-
);
|
|
4193
|
-
|
|
4194
|
-
if ($level == null) {
|
|
4195
|
-
return $tabList;
|
|
4196
|
-
} else if (array_key_exists($level, $tabList)) {
|
|
4197
|
-
return $tabList[$level];
|
|
4198
|
-
} else {
|
|
4199
|
-
return null;
|
|
4200
|
-
}
|
|
4201
|
-
}
|
|
4202
|
-
|
|
4203
|
-
/**
|
|
4204
|
-
* Returns information with regards to handling the http request
|
|
4205
|
-
*
|
|
4206
|
-
* @param array $context Data about the context for which
|
|
4207
|
-
* to http request is sent
|
|
4208
|
-
*
|
|
4209
|
-
* @return array of updated context information
|
|
4210
|
-
*/
|
|
4211
|
-
public static function handleContext(array $context)
|
|
4212
|
-
{
|
|
4213
|
-
if (/*overload*/mb_strlen($GLOBALS['cfg']['ProxyUrl'])) {
|
|
4214
|
-
$context['http'] = array(
|
|
4215
|
-
'proxy' => $GLOBALS['cfg']['ProxyUrl'],
|
|
4216
|
-
'request_fulluri' => true
|
|
4217
|
-
);
|
|
4218
|
-
if (/*overload*/mb_strlen($GLOBALS['cfg']['ProxyUser'])) {
|
|
4219
|
-
$auth = base64_encode(
|
|
4220
|
-
$GLOBALS['cfg']['ProxyUser'] . ':' . $GLOBALS['cfg']['ProxyPass']
|
|
4221
|
-
);
|
|
4222
|
-
$context['http']['header'] .= 'Proxy-Authorization: Basic '
|
|
4223
|
-
. $auth . "\r\n";
|
|
4224
|
-
}
|
|
4225
|
-
}
|
|
4226
|
-
return $context;
|
|
4227
|
-
}
|
|
4228
|
-
/**
|
|
4229
|
-
* Updates an existing curl as necessary
|
|
4230
|
-
*
|
|
4231
|
-
* @param resource $curl_handle A curl_handle resource
|
|
4232
|
-
* created by curl_init which should
|
|
4233
|
-
* have several options set
|
|
4234
|
-
*
|
|
4235
|
-
* @return resource curl_handle with updated options
|
|
4236
|
-
*/
|
|
4237
|
-
public static function configureCurl(resource $curl_handle)
|
|
4238
|
-
{
|
|
4239
|
-
if (/*overload*/mb_strlen($GLOBALS['cfg']['ProxyUrl'])) {
|
|
4240
|
-
curl_setopt($curl_handle, CURLOPT_PROXY, $GLOBALS['cfg']['ProxyUrl']);
|
|
4241
|
-
if (/*overload*/mb_strlen($GLOBALS['cfg']['ProxyUser'])) {
|
|
4242
|
-
curl_setopt(
|
|
4243
|
-
$curl_handle,
|
|
4244
|
-
CURLOPT_PROXYUSERPWD,
|
|
4245
|
-
$GLOBALS['cfg']['ProxyUser'] . ':' . $GLOBALS['cfg']['ProxyPass']
|
|
4246
|
-
);
|
|
4247
|
-
}
|
|
4248
|
-
}
|
|
4249
|
-
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'phpMyAdmin/' . PMA_VERSION);
|
|
4250
|
-
return $curl_handle;
|
|
4251
|
-
}
|
|
4252
|
-
/**
|
|
4253
|
-
* Returns information with latest version from phpmyadmin.net
|
|
4254
|
-
*
|
|
4255
|
-
* @return object JSON decoded object with the data
|
|
4256
|
-
*/
|
|
4257
|
-
public static function getLatestVersion()
|
|
4258
|
-
{
|
|
4259
|
-
// wait 3s at most for server response, it's enough to get information
|
|
4260
|
-
// from a working server
|
|
4261
|
-
$connection_timeout = 3;
|
|
4262
|
-
|
|
4263
|
-
$response = '{}';
|
|
4264
|
-
// Get response text from phpmyadmin.net or from the session
|
|
4265
|
-
// Update cache every 6 hours
|
|
4266
|
-
if (isset($_SESSION['cache']['version_check'])
|
|
4267
|
-
&& time() < $_SESSION['cache']['version_check']['timestamp'] + 3600 * 6
|
|
4268
|
-
) {
|
|
4269
|
-
$save = false;
|
|
4270
|
-
$response = $_SESSION['cache']['version_check']['response'];
|
|
4271
|
-
} else {
|
|
4272
|
-
$save = true;
|
|
4273
|
-
$file = 'http://www.phpmyadmin.net/home_page/version.json';
|
|
4274
|
-
if (ini_get('allow_url_fopen')) {
|
|
4275
|
-
$context = array(
|
|
4276
|
-
'http' => array(
|
|
4277
|
-
'request_fulluri' => true,
|
|
4278
|
-
'timeout' => $connection_timeout,
|
|
4279
|
-
)
|
|
4280
|
-
);
|
|
4281
|
-
$context = PMA_Util::handleContext($context);
|
|
4282
|
-
if (! defined('TESTSUITE')) {
|
|
4283
|
-
session_write_close();
|
|
4284
|
-
}
|
|
4285
|
-
$response = file_get_contents(
|
|
4286
|
-
$file,
|
|
4287
|
-
false,
|
|
4288
|
-
stream_context_create($context)
|
|
4289
|
-
);
|
|
4290
|
-
} else if (function_exists('curl_init')) {
|
|
4291
|
-
$curl_handle = curl_init($file);
|
|
4292
|
-
if ($curl_handle === false) {
|
|
4293
|
-
return null;
|
|
4294
|
-
}
|
|
4295
|
-
$curl_handle = PMA_Util::configureCurl($curl_handle);
|
|
4296
|
-
curl_setopt(
|
|
4297
|
-
$curl_handle,
|
|
4298
|
-
CURLOPT_HEADER,
|
|
4299
|
-
false
|
|
4300
|
-
);
|
|
4301
|
-
curl_setopt(
|
|
4302
|
-
$curl_handle,
|
|
4303
|
-
CURLOPT_RETURNTRANSFER,
|
|
4304
|
-
true
|
|
4305
|
-
);
|
|
4306
|
-
curl_setopt(
|
|
4307
|
-
$curl_handle,
|
|
4308
|
-
CURLOPT_TIMEOUT,
|
|
4309
|
-
$connection_timeout
|
|
4310
|
-
);
|
|
4311
|
-
if (! defined('TESTSUITE')) {
|
|
4312
|
-
session_write_close();
|
|
4313
|
-
}
|
|
4314
|
-
$response = curl_exec($curl_handle);
|
|
4315
|
-
}
|
|
4316
|
-
}
|
|
4317
|
-
|
|
4318
|
-
$data = json_decode($response);
|
|
4319
|
-
if (is_object($data)
|
|
4320
|
-
&& ! empty($data->version)
|
|
4321
|
-
&& ! empty($data->date)
|
|
4322
|
-
&& $save
|
|
4323
|
-
) {
|
|
4324
|
-
if (! isset($_SESSION) && ! defined('TESTSUITE')) {
|
|
4325
|
-
ini_set('session.use_only_cookies', 'false');
|
|
4326
|
-
ini_set('session.use_cookies', 'false');
|
|
4327
|
-
ini_set('session.use_trans_sid', 'false');
|
|
4328
|
-
ini_set('session.cache_limiter', 'nocache');
|
|
4329
|
-
session_start();
|
|
4330
|
-
}
|
|
4331
|
-
$_SESSION['cache']['version_check'] = array(
|
|
4332
|
-
'response' => $response,
|
|
4333
|
-
'timestamp' => time()
|
|
4334
|
-
);
|
|
4335
|
-
}
|
|
4336
|
-
return $data;
|
|
4337
|
-
}
|
|
4338
|
-
|
|
4339
|
-
/**
|
|
4340
|
-
* Calculates numerical equivalent of phpMyAdmin version string
|
|
4341
|
-
*
|
|
4342
|
-
* @param string $version version
|
|
4343
|
-
*
|
|
4344
|
-
* @return mixed false on failure, integer on success
|
|
4345
|
-
*/
|
|
4346
|
-
public static function versionToInt($version)
|
|
4347
|
-
{
|
|
4348
|
-
$parts = explode('-', $version);
|
|
4349
|
-
if (count($parts) > 1) {
|
|
4350
|
-
$suffix = $parts[1];
|
|
4351
|
-
} else {
|
|
4352
|
-
$suffix = '';
|
|
4353
|
-
}
|
|
4354
|
-
$parts = explode('.', $parts[0]);
|
|
4355
|
-
|
|
4356
|
-
$result = 0;
|
|
4357
|
-
|
|
4358
|
-
if (count($parts) >= 1 && is_numeric($parts[0])) {
|
|
4359
|
-
$result += 1000000 * $parts[0];
|
|
4360
|
-
}
|
|
4361
|
-
|
|
4362
|
-
if (count($parts) >= 2 && is_numeric($parts[1])) {
|
|
4363
|
-
$result += 10000 * $parts[1];
|
|
4364
|
-
}
|
|
4365
|
-
|
|
4366
|
-
if (count($parts) >= 3 && is_numeric($parts[2])) {
|
|
4367
|
-
$result += 100 * $parts[2];
|
|
4368
|
-
}
|
|
4369
|
-
|
|
4370
|
-
if (count($parts) >= 4 && is_numeric($parts[3])) {
|
|
4371
|
-
$result += 1 * $parts[3];
|
|
4372
|
-
}
|
|
4373
|
-
|
|
4374
|
-
if (!empty($suffix)) {
|
|
4375
|
-
$matches = array();
|
|
4376
|
-
if (preg_match('/^(\D+)(\d+)$/', $suffix, $matches)) {
|
|
4377
|
-
$suffix = $matches[1];
|
|
4378
|
-
$result += intval($matches[2]);
|
|
4379
|
-
}
|
|
4380
|
-
switch ($suffix) {
|
|
4381
|
-
case 'pl':
|
|
4382
|
-
$result += 60;
|
|
4383
|
-
break;
|
|
4384
|
-
case 'rc':
|
|
4385
|
-
$result += 30;
|
|
4386
|
-
break;
|
|
4387
|
-
case 'beta':
|
|
4388
|
-
$result += 20;
|
|
4389
|
-
break;
|
|
4390
|
-
case 'alpha':
|
|
4391
|
-
$result += 10;
|
|
4392
|
-
break;
|
|
4393
|
-
case 'dev':
|
|
4394
|
-
$result += 0;
|
|
4395
|
-
break;
|
|
4396
|
-
}
|
|
4397
|
-
} else {
|
|
4398
|
-
$result += 50; // for final
|
|
4399
|
-
}
|
|
4400
|
-
|
|
4401
|
-
return $result;
|
|
4402
|
-
}
|
|
4403
|
-
|
|
4404
|
-
/**
|
|
4405
|
-
* Add fractional seconds to time, datetime and timestamp strings.
|
|
4406
|
-
* If the string contains fractional seconds,
|
|
4407
|
-
* pads it with 0s up to 6 decimal places.
|
|
4408
|
-
*
|
|
4409
|
-
* @param string $value time, datetime or timestamp strings
|
|
4410
|
-
*
|
|
4411
|
-
* @return string time, datetime or timestamp strings with fractional seconds
|
|
4412
|
-
*/
|
|
4413
|
-
public static function addMicroseconds($value)
|
|
4414
|
-
{
|
|
4415
|
-
if (empty($value) || $value == 'CURRENT_TIMESTAMP') {
|
|
4416
|
-
return $value;
|
|
4417
|
-
}
|
|
4418
|
-
|
|
4419
|
-
if (/*overload*/mb_strpos($value, '.') === false) {
|
|
4420
|
-
return $value . '.000000';
|
|
4421
|
-
}
|
|
4422
|
-
|
|
4423
|
-
$value .= '000000';
|
|
4424
|
-
return /*overload*/mb_substr(
|
|
4425
|
-
$value,
|
|
4426
|
-
0,
|
|
4427
|
-
/*overload*/mb_strpos($value, '.') + 7
|
|
4428
|
-
);
|
|
4429
|
-
}
|
|
4430
|
-
|
|
4431
|
-
/**
|
|
4432
|
-
* Reads the file, detects the compression MIME type, closes the file
|
|
4433
|
-
* and returns the MIME type
|
|
4434
|
-
*
|
|
4435
|
-
* @param resource $file the file handle
|
|
4436
|
-
*
|
|
4437
|
-
* @return string the MIME type for compression, or 'none'
|
|
4438
|
-
*/
|
|
4439
|
-
public static function getCompressionMimeType($file)
|
|
4440
|
-
{
|
|
4441
|
-
$test = fread($file, 4);
|
|
4442
|
-
$len = strlen($test);
|
|
4443
|
-
fclose($file);
|
|
4444
|
-
if ($len >= 2 && $test[0] == chr(31) && $test[1] == chr(139)) {
|
|
4445
|
-
return 'application/gzip';
|
|
4446
|
-
}
|
|
4447
|
-
if ($len >= 3 && substr($test, 0, 3) == 'BZh') {
|
|
4448
|
-
return 'application/bzip2';
|
|
4449
|
-
}
|
|
4450
|
-
if ($len >= 4 && $test == "PK\003\004") {
|
|
4451
|
-
return 'application/zip';
|
|
4452
|
-
}
|
|
4453
|
-
return 'none';
|
|
4454
|
-
}
|
|
4455
|
-
|
|
4456
|
-
/**
|
|
4457
|
-
* Renders a single link for the top of the navigation panel
|
|
4458
|
-
*
|
|
4459
|
-
* @param string $link The url for the link
|
|
4460
|
-
* @param bool $showText Whether to show the text or to
|
|
4461
|
-
* only use it for title attributes
|
|
4462
|
-
* @param string $text The text to display and use for title attributes
|
|
4463
|
-
* @param bool $showIcon Whether to show the icon
|
|
4464
|
-
* @param string $icon The filename of the icon to show
|
|
4465
|
-
* @param string $linkId Value to use for the ID attribute
|
|
4466
|
-
* @param boolean $disableAjax Whether to disable ajax page loading for this link
|
|
4467
|
-
* @param string $linkTarget The name of the target frame for the link
|
|
4468
|
-
*
|
|
4469
|
-
* @return string HTML code for one link
|
|
4470
|
-
*/
|
|
4471
|
-
public static function getNavigationLink(
|
|
4472
|
-
$link,
|
|
4473
|
-
$showText,
|
|
4474
|
-
$text,
|
|
4475
|
-
$showIcon,
|
|
4476
|
-
$icon,
|
|
4477
|
-
$linkId = '',
|
|
4478
|
-
$disableAjax = false,
|
|
4479
|
-
$linkTarget = ''
|
|
4480
|
-
) {
|
|
4481
|
-
$retval = '<a href="' . $link . '"';
|
|
4482
|
-
if (! empty($linkId)) {
|
|
4483
|
-
$retval .= ' id="' . $linkId . '"';
|
|
4484
|
-
}
|
|
4485
|
-
if (! empty($linkTarget)) {
|
|
4486
|
-
$retval .= ' target="' . $linkTarget . '"';
|
|
4487
|
-
}
|
|
4488
|
-
if ($disableAjax) {
|
|
4489
|
-
$retval .= ' class="disableAjax"';
|
|
4490
|
-
}
|
|
4491
|
-
$retval .= ' title="' . $text . '">';
|
|
4492
|
-
if ($showIcon) {
|
|
4493
|
-
$retval .= PMA_Util::getImage(
|
|
4494
|
-
$icon,
|
|
4495
|
-
$text
|
|
4496
|
-
);
|
|
4497
|
-
}
|
|
4498
|
-
if ($showText) {
|
|
4499
|
-
$retval .= $text;
|
|
4500
|
-
}
|
|
4501
|
-
$retval .= '</a>';
|
|
4502
|
-
if ($showText) {
|
|
4503
|
-
$retval .= '<br />';
|
|
4504
|
-
}
|
|
4505
|
-
return $retval;
|
|
4506
|
-
}
|
|
4507
|
-
|
|
4508
|
-
/**
|
|
4509
|
-
* Provide COLLATE clause, if required, to perform case sensitive comparisons
|
|
4510
|
-
* for queries on information_schema.
|
|
4511
|
-
*
|
|
4512
|
-
* @return string COLLATE clause if needed or empty string.
|
|
4513
|
-
*/
|
|
4514
|
-
public static function getCollateForIS()
|
|
4515
|
-
{
|
|
4516
|
-
$lowerCaseTableNames = $GLOBALS['dbi']->fetchValue(
|
|
4517
|
-
"SHOW VARIABLES LIKE 'lower_case_table_names'", 0, 1
|
|
4518
|
-
);
|
|
4519
|
-
|
|
4520
|
-
if ($lowerCaseTableNames === '0') {
|
|
4521
|
-
return "COLLATE utf8_bin";
|
|
4522
|
-
}
|
|
4523
|
-
return "";
|
|
4524
|
-
}
|
|
4525
|
-
|
|
4526
|
-
/**
|
|
4527
|
-
* Process the index data.
|
|
4528
|
-
*
|
|
4529
|
-
* @param array $indexes index data
|
|
4530
|
-
*
|
|
4531
|
-
* @return array processes index data
|
|
4532
|
-
*/
|
|
4533
|
-
public static function processIndexData($indexes)
|
|
4534
|
-
{
|
|
4535
|
-
$lastIndex = '';
|
|
4536
|
-
|
|
4537
|
-
$primary = '';
|
|
4538
|
-
$pk_array = array(); // will be use to emphasis prim. keys in the table
|
|
4539
|
-
$indexes_info = array();
|
|
4540
|
-
$indexes_data = array();
|
|
4541
|
-
|
|
4542
|
-
// view
|
|
4543
|
-
foreach ($indexes as $row) {
|
|
4544
|
-
// Backups the list of primary keys
|
|
4545
|
-
if ($row['Key_name'] == 'PRIMARY') {
|
|
4546
|
-
$primary .= $row['Column_name'] . ', ';
|
|
4547
|
-
$pk_array[$row['Column_name']] = 1;
|
|
4548
|
-
}
|
|
4549
|
-
// Retains keys informations
|
|
4550
|
-
if ($row['Key_name'] != $lastIndex) {
|
|
4551
|
-
$indexes[] = $row['Key_name'];
|
|
4552
|
-
$lastIndex = $row['Key_name'];
|
|
4553
|
-
}
|
|
4554
|
-
$indexes_info[$row['Key_name']]['Sequences'][] = $row['Seq_in_index'];
|
|
4555
|
-
$indexes_info[$row['Key_name']]['Non_unique'] = $row['Non_unique'];
|
|
4556
|
-
if (isset($row['Cardinality'])) {
|
|
4557
|
-
$indexes_info[$row['Key_name']]['Cardinality'] = $row['Cardinality'];
|
|
4558
|
-
}
|
|
4559
|
-
// I don't know what does following column mean....
|
|
4560
|
-
// $indexes_info[$row['Key_name']]['Packed'] = $row['Packed'];
|
|
4561
|
-
|
|
4562
|
-
$indexes_info[$row['Key_name']]['Comment'] = $row['Comment'];
|
|
4563
|
-
|
|
4564
|
-
$indexes_data[$row['Key_name']][$row['Seq_in_index']]['Column_name']
|
|
4565
|
-
= $row['Column_name'];
|
|
4566
|
-
if (isset($row['Sub_part'])) {
|
|
4567
|
-
$indexes_data[$row['Key_name']][$row['Seq_in_index']]['Sub_part']
|
|
4568
|
-
= $row['Sub_part'];
|
|
4569
|
-
}
|
|
4570
|
-
|
|
4571
|
-
} // end while
|
|
4572
|
-
|
|
4573
|
-
return array($primary, $pk_array, $indexes_info, $indexes_data);
|
|
4574
|
-
}
|
|
4575
|
-
|
|
4576
|
-
/**
|
|
4577
|
-
* Returns the HTML for check all check box and with selected text
|
|
4578
|
-
* for multi submits
|
|
4579
|
-
*
|
|
4580
|
-
* @param string $pmaThemeImage path to theme's image folder
|
|
4581
|
-
* @param string $text_dir text direction
|
|
4582
|
-
* @param string $formName name of the enclosing form
|
|
4583
|
-
*
|
|
4584
|
-
* @return string HTML
|
|
4585
|
-
*/
|
|
4586
|
-
public static function getWithSelected($pmaThemeImage, $text_dir, $formName)
|
|
4587
|
-
{
|
|
4588
|
-
$html = '<img class="selectallarrow" '
|
|
4589
|
-
. 'src="' . $pmaThemeImage . 'arrow_' . $text_dir . '.png" '
|
|
4590
|
-
. 'width="38" height="22" alt="' . __('With selected:') . '" />';
|
|
4591
|
-
$html .= '<input type="checkbox" id="' . $formName . '_checkall" '
|
|
4592
|
-
. 'class="checkall_box" title="' . __('Check All') . '" />'
|
|
4593
|
-
. '<label for="' . $formName . '_checkall">' . __('Check All')
|
|
4594
|
-
. '</label>';
|
|
4595
|
-
$html .= '<i style="margin-left: 2em">'
|
|
4596
|
-
. __('With selected:') . '</i>';
|
|
4597
|
-
|
|
4598
|
-
return $html;
|
|
4599
|
-
}
|
|
4600
|
-
}
|
|
4601
|
-
|
|
4602
|
-
?>
|