simpletool 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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,4692 +0,0 @@
|
|
1
|
-
<?php
|
2
|
-
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
3
|
-
/**
|
4
|
-
* set of functions with the Privileges section in pma
|
5
|
-
*
|
6
|
-
* @package PhpMyAdmin
|
7
|
-
*/
|
8
|
-
|
9
|
-
if (! defined('PHPMYADMIN')) {
|
10
|
-
exit;
|
11
|
-
}
|
12
|
-
|
13
|
-
/**
|
14
|
-
* Get Html for User Group Dialog
|
15
|
-
*
|
16
|
-
* @param string $username username
|
17
|
-
* @param bool $is_menuswork Is menuswork set in configuration
|
18
|
-
*
|
19
|
-
* @return string html
|
20
|
-
*/
|
21
|
-
function PMA_getHtmlForUserGroupDialog($username, $is_menuswork)
|
22
|
-
{
|
23
|
-
$html = '';
|
24
|
-
if (! empty($_REQUEST['edit_user_group_dialog']) && $is_menuswork) {
|
25
|
-
$dialog = PMA_getHtmlToChooseUserGroup($username);
|
26
|
-
$response = PMA_Response::getInstance();
|
27
|
-
if ($GLOBALS['is_ajax_request']) {
|
28
|
-
$response->addJSON('message', $dialog);
|
29
|
-
exit;
|
30
|
-
} else {
|
31
|
-
$html .= $dialog;
|
32
|
-
}
|
33
|
-
}
|
34
|
-
|
35
|
-
return $html;
|
36
|
-
}
|
37
|
-
|
38
|
-
/**
|
39
|
-
* Escapes wildcard in a database+table specification
|
40
|
-
* before using it in a GRANT statement.
|
41
|
-
*
|
42
|
-
* Escaping a wildcard character in a GRANT is only accepted at the global
|
43
|
-
* or database level, not at table level; this is why I remove
|
44
|
-
* the escaping character. Internally, in mysql.tables_priv.Db there are
|
45
|
-
* no escaping (for example test_db) but in mysql.db you'll see test\_db
|
46
|
-
* for a db-specific privilege.
|
47
|
-
*
|
48
|
-
* @param string $dbname Database name
|
49
|
-
* @param string $tablename Table name
|
50
|
-
*
|
51
|
-
* @return string the escaped (if necessary) database.table
|
52
|
-
*/
|
53
|
-
function PMA_wildcardEscapeForGrant($dbname, $tablename)
|
54
|
-
{
|
55
|
-
if (!/*overload*/mb_strlen($dbname)) {
|
56
|
-
$db_and_table = '*.*';
|
57
|
-
} else {
|
58
|
-
if (/*overload*/mb_strlen($tablename)) {
|
59
|
-
$db_and_table = PMA_Util::backquote(
|
60
|
-
PMA_Util::unescapeMysqlWildcards($dbname)
|
61
|
-
)
|
62
|
-
. '.' . PMA_Util::backquote($tablename);
|
63
|
-
} else {
|
64
|
-
$db_and_table = PMA_Util::backquote($dbname) . '.*';
|
65
|
-
}
|
66
|
-
}
|
67
|
-
return $db_and_table;
|
68
|
-
}
|
69
|
-
|
70
|
-
/**
|
71
|
-
* Generates a condition on the user name
|
72
|
-
*
|
73
|
-
* @param string $initial the user's initial
|
74
|
-
*
|
75
|
-
* @return string the generated condition
|
76
|
-
*/
|
77
|
-
function PMA_rangeOfUsers($initial = '')
|
78
|
-
{
|
79
|
-
// strtolower() is used because the User field
|
80
|
-
// might be BINARY, so LIKE would be case sensitive
|
81
|
-
if ($initial === null || $initial === '') {
|
82
|
-
return '';
|
83
|
-
}
|
84
|
-
|
85
|
-
$ret = " WHERE `User` LIKE '"
|
86
|
-
. PMA_Util::sqlAddSlashes($initial, true) . "%'"
|
87
|
-
. " OR `User` LIKE '"
|
88
|
-
. PMA_Util::sqlAddSlashes(/*overload*/mb_strtolower($initial), true)
|
89
|
-
. "%'";
|
90
|
-
return $ret;
|
91
|
-
} // end function
|
92
|
-
|
93
|
-
/**
|
94
|
-
* Formats privilege name for a display
|
95
|
-
*
|
96
|
-
* @param array $privilege Privilege information
|
97
|
-
* @param boolean $html Whether to use HTML
|
98
|
-
*
|
99
|
-
* @return string
|
100
|
-
*/
|
101
|
-
function PMA_formatPrivilege($privilege, $html)
|
102
|
-
{
|
103
|
-
if ($html) {
|
104
|
-
return '<dfn title="' . $privilege[2] . '">'
|
105
|
-
. $privilege[1] . '</dfn>';
|
106
|
-
} else {
|
107
|
-
return $privilege[1];
|
108
|
-
}
|
109
|
-
}
|
110
|
-
|
111
|
-
/**
|
112
|
-
* Parses privileges into an array, it modifies the array
|
113
|
-
*
|
114
|
-
* @param array &$row Results row from
|
115
|
-
*
|
116
|
-
* @return void
|
117
|
-
*/
|
118
|
-
function PMA_fillInTablePrivileges(&$row)
|
119
|
-
{
|
120
|
-
$row1 = $GLOBALS['dbi']->fetchSingleRow(
|
121
|
-
'SHOW COLUMNS FROM `mysql`.`tables_priv` LIKE \'Table_priv\';',
|
122
|
-
'ASSOC', $GLOBALS['userlink']
|
123
|
-
);
|
124
|
-
// note: in MySQL 5.0.3 we get "Create View', 'Show view';
|
125
|
-
// the View for Create is spelled with uppercase V
|
126
|
-
// the view for Show is spelled with lowercase v
|
127
|
-
// and there is a space between the words
|
128
|
-
|
129
|
-
$av_grants = explode(
|
130
|
-
'\',\'',
|
131
|
-
/*overload*/mb_substr(
|
132
|
-
$row1['Type'],
|
133
|
-
/*overload*/mb_strpos($row1['Type'], '(') + 2,
|
134
|
-
/*overload*/mb_strpos($row1['Type'], ')')
|
135
|
-
- /*overload*/mb_strpos($row1['Type'], '(') - 3
|
136
|
-
)
|
137
|
-
);
|
138
|
-
|
139
|
-
$users_grants = explode(',', $row['Table_priv']);
|
140
|
-
|
141
|
-
foreach ($av_grants as $current_grant) {
|
142
|
-
$row[$current_grant . '_priv']
|
143
|
-
= in_array($current_grant, $users_grants) ? 'Y' : 'N';
|
144
|
-
}
|
145
|
-
unset($row['Table_priv']);
|
146
|
-
}
|
147
|
-
|
148
|
-
|
149
|
-
/**
|
150
|
-
* Extracts the privilege information of a priv table row
|
151
|
-
*
|
152
|
-
* @param array|null $row the row
|
153
|
-
* @param boolean $enableHTML add <dfn> tag with tooltips
|
154
|
-
* @param boolean $tablePrivs whether row contains table privileges
|
155
|
-
*
|
156
|
-
* @global resource $user_link the database connection
|
157
|
-
*
|
158
|
-
* @return array
|
159
|
-
*/
|
160
|
-
function PMA_extractPrivInfo($row = null, $enableHTML = false, $tablePrivs = false)
|
161
|
-
{
|
162
|
-
if ($tablePrivs) {
|
163
|
-
$grants = PMA_getTableGrantsArray();
|
164
|
-
} else {
|
165
|
-
$grants = PMA_getGrantsArray();
|
166
|
-
}
|
167
|
-
|
168
|
-
if (! is_null($row) && isset($row['Table_priv'])) {
|
169
|
-
PMA_fillInTablePrivileges($row);
|
170
|
-
}
|
171
|
-
|
172
|
-
$privs = array();
|
173
|
-
$allPrivileges = true;
|
174
|
-
foreach ($grants as $current_grant) {
|
175
|
-
if ((! is_null($row) && isset($row[$current_grant[0]]))
|
176
|
-
|| (is_null($row) && isset($GLOBALS[$current_grant[0]]))
|
177
|
-
) {
|
178
|
-
if ((! is_null($row) && $row[$current_grant[0]] == 'Y')
|
179
|
-
|| (is_null($row)
|
180
|
-
&& ($GLOBALS[$current_grant[0]] == 'Y'
|
181
|
-
|| (is_array($GLOBALS[$current_grant[0]])
|
182
|
-
&& count($GLOBALS[$current_grant[0]]) == $_REQUEST['column_count']
|
183
|
-
&& empty($GLOBALS[$current_grant[0] . '_none']))))
|
184
|
-
) {
|
185
|
-
$privs[] = PMA_formatPrivilege($current_grant, $enableHTML);
|
186
|
-
} elseif (! empty($GLOBALS[$current_grant[0]])
|
187
|
-
&& is_array($GLOBALS[$current_grant[0]])
|
188
|
-
&& empty($GLOBALS[$current_grant[0] . '_none'])
|
189
|
-
) {
|
190
|
-
$privs[] = PMA_formatPrivilege($current_grant, $enableHTML)
|
191
|
-
. ' (`' . join('`, `', $GLOBALS[$current_grant[0]]) . '`)';
|
192
|
-
} else {
|
193
|
-
$allPrivileges = false;
|
194
|
-
}
|
195
|
-
}
|
196
|
-
}
|
197
|
-
if (empty($privs)) {
|
198
|
-
if ($enableHTML) {
|
199
|
-
$privs[] = '<dfn title="' . __('No privileges.') . '">USAGE</dfn>';
|
200
|
-
} else {
|
201
|
-
$privs[] = 'USAGE';
|
202
|
-
}
|
203
|
-
} elseif ($allPrivileges
|
204
|
-
&& (! isset($_POST['grant_count']) || count($privs) == $_POST['grant_count'])
|
205
|
-
) {
|
206
|
-
if ($enableHTML) {
|
207
|
-
$privs = array('<dfn title="'
|
208
|
-
. __('Includes all privileges except GRANT.')
|
209
|
-
. '">ALL PRIVILEGES</dfn>'
|
210
|
-
);
|
211
|
-
} else {
|
212
|
-
$privs = array('ALL PRIVILEGES');
|
213
|
-
}
|
214
|
-
}
|
215
|
-
return $privs;
|
216
|
-
} // end of the 'PMA_extractPrivInfo()' function
|
217
|
-
|
218
|
-
/**
|
219
|
-
* Returns an array of table grants and their descriptions
|
220
|
-
*
|
221
|
-
* @return array array of table grants
|
222
|
-
*/
|
223
|
-
function PMA_getTableGrantsArray()
|
224
|
-
{
|
225
|
-
return array(
|
226
|
-
array(
|
227
|
-
'Delete',
|
228
|
-
'DELETE',
|
229
|
-
$GLOBALS['strPrivDescDelete']
|
230
|
-
),
|
231
|
-
array(
|
232
|
-
'Create',
|
233
|
-
'CREATE',
|
234
|
-
$GLOBALS['strPrivDescCreateTbl']
|
235
|
-
),
|
236
|
-
array(
|
237
|
-
'Drop',
|
238
|
-
'DROP',
|
239
|
-
$GLOBALS['strPrivDescDropTbl']
|
240
|
-
),
|
241
|
-
array(
|
242
|
-
'Index',
|
243
|
-
'INDEX',
|
244
|
-
$GLOBALS['strPrivDescIndex']
|
245
|
-
),
|
246
|
-
array(
|
247
|
-
'Alter',
|
248
|
-
'ALTER',
|
249
|
-
$GLOBALS['strPrivDescAlter']
|
250
|
-
),
|
251
|
-
array(
|
252
|
-
'Create View',
|
253
|
-
'CREATE_VIEW',
|
254
|
-
$GLOBALS['strPrivDescCreateView']
|
255
|
-
),
|
256
|
-
array(
|
257
|
-
'Show view',
|
258
|
-
'SHOW_VIEW',
|
259
|
-
$GLOBALS['strPrivDescShowView']
|
260
|
-
),
|
261
|
-
array(
|
262
|
-
'Trigger',
|
263
|
-
'TRIGGER',
|
264
|
-
$GLOBALS['strPrivDescTrigger']
|
265
|
-
),
|
266
|
-
);
|
267
|
-
}
|
268
|
-
|
269
|
-
/**
|
270
|
-
* Get the grants array which contains all the privilege types
|
271
|
-
* and relevant grant messages
|
272
|
-
*
|
273
|
-
* @return array
|
274
|
-
*/
|
275
|
-
function PMA_getGrantsArray()
|
276
|
-
{
|
277
|
-
return array(
|
278
|
-
array(
|
279
|
-
'Select_priv',
|
280
|
-
'SELECT',
|
281
|
-
__('Allows reading data.')
|
282
|
-
),
|
283
|
-
array(
|
284
|
-
'Insert_priv',
|
285
|
-
'INSERT',
|
286
|
-
__('Allows inserting and replacing data.')
|
287
|
-
),
|
288
|
-
array(
|
289
|
-
'Update_priv',
|
290
|
-
'UPDATE',
|
291
|
-
__('Allows changing data.')
|
292
|
-
),
|
293
|
-
array(
|
294
|
-
'Delete_priv',
|
295
|
-
'DELETE',
|
296
|
-
__('Allows deleting data.')
|
297
|
-
),
|
298
|
-
array(
|
299
|
-
'Create_priv',
|
300
|
-
'CREATE',
|
301
|
-
__('Allows creating new databases and tables.')
|
302
|
-
),
|
303
|
-
array(
|
304
|
-
'Drop_priv',
|
305
|
-
'DROP',
|
306
|
-
__('Allows dropping databases and tables.')
|
307
|
-
),
|
308
|
-
array(
|
309
|
-
'Reload_priv',
|
310
|
-
'RELOAD',
|
311
|
-
__('Allows reloading server settings and flushing the server\'s caches.')
|
312
|
-
),
|
313
|
-
array(
|
314
|
-
'Shutdown_priv',
|
315
|
-
'SHUTDOWN',
|
316
|
-
__('Allows shutting down the server.')
|
317
|
-
),
|
318
|
-
array(
|
319
|
-
'Process_priv',
|
320
|
-
'PROCESS',
|
321
|
-
__('Allows viewing processes of all users.')
|
322
|
-
),
|
323
|
-
array(
|
324
|
-
'File_priv',
|
325
|
-
'FILE',
|
326
|
-
__('Allows importing data from and exporting data into files.')
|
327
|
-
),
|
328
|
-
array(
|
329
|
-
'References_priv',
|
330
|
-
'REFERENCES',
|
331
|
-
__('Has no effect in this MySQL version.')
|
332
|
-
),
|
333
|
-
array(
|
334
|
-
'Index_priv',
|
335
|
-
'INDEX',
|
336
|
-
__('Allows creating and dropping indexes.')
|
337
|
-
),
|
338
|
-
array(
|
339
|
-
'Alter_priv',
|
340
|
-
'ALTER',
|
341
|
-
__('Allows altering the structure of existing tables.')
|
342
|
-
),
|
343
|
-
array(
|
344
|
-
'Show_db_priv',
|
345
|
-
'SHOW DATABASES',
|
346
|
-
__('Gives access to the complete list of databases.')
|
347
|
-
),
|
348
|
-
array(
|
349
|
-
'Super_priv',
|
350
|
-
'SUPER',
|
351
|
-
__(
|
352
|
-
'Allows connecting, even if maximum number of connections '
|
353
|
-
. 'is reached; required for most administrative operations '
|
354
|
-
. 'like setting global variables or killing threads of other users.'
|
355
|
-
)
|
356
|
-
),
|
357
|
-
array(
|
358
|
-
'Create_tmp_table_priv',
|
359
|
-
'CREATE TEMPORARY TABLES',
|
360
|
-
__('Allows creating temporary tables.')
|
361
|
-
),
|
362
|
-
array(
|
363
|
-
'Lock_tables_priv',
|
364
|
-
'LOCK TABLES',
|
365
|
-
__('Allows locking tables for the current thread.')
|
366
|
-
),
|
367
|
-
array(
|
368
|
-
'Repl_slave_priv',
|
369
|
-
'REPLICATION SLAVE',
|
370
|
-
__('Needed for the replication slaves.')
|
371
|
-
),
|
372
|
-
array(
|
373
|
-
'Repl_client_priv',
|
374
|
-
'REPLICATION CLIENT',
|
375
|
-
__('Allows the user to ask where the slaves / masters are.')
|
376
|
-
),
|
377
|
-
array(
|
378
|
-
'Create_view_priv',
|
379
|
-
'CREATE VIEW',
|
380
|
-
__('Allows creating new views.')
|
381
|
-
),
|
382
|
-
array(
|
383
|
-
'Event_priv',
|
384
|
-
'EVENT',
|
385
|
-
__('Allows to set up events for the event scheduler.')
|
386
|
-
),
|
387
|
-
array(
|
388
|
-
'Trigger_priv',
|
389
|
-
'TRIGGER',
|
390
|
-
__('Allows creating and dropping triggers.')
|
391
|
-
),
|
392
|
-
// for table privs:
|
393
|
-
array(
|
394
|
-
'Create View_priv',
|
395
|
-
'CREATE VIEW',
|
396
|
-
__('Allows creating new views.')
|
397
|
-
),
|
398
|
-
array(
|
399
|
-
'Show_view_priv',
|
400
|
-
'SHOW VIEW',
|
401
|
-
__('Allows performing SHOW CREATE VIEW queries.')
|
402
|
-
),
|
403
|
-
// for table privs:
|
404
|
-
array(
|
405
|
-
'Show view_priv',
|
406
|
-
'SHOW VIEW',
|
407
|
-
__('Allows performing SHOW CREATE VIEW queries.')
|
408
|
-
),
|
409
|
-
array(
|
410
|
-
'Create_routine_priv',
|
411
|
-
'CREATE ROUTINE',
|
412
|
-
__('Allows creating stored routines.')
|
413
|
-
),
|
414
|
-
array(
|
415
|
-
'Alter_routine_priv',
|
416
|
-
'ALTER ROUTINE',
|
417
|
-
__('Allows altering and dropping stored routines.')
|
418
|
-
),
|
419
|
-
array(
|
420
|
-
'Create_user_priv',
|
421
|
-
'CREATE USER',
|
422
|
-
__('Allows creating, dropping and renaming user accounts.')
|
423
|
-
),
|
424
|
-
array(
|
425
|
-
'Execute_priv',
|
426
|
-
'EXECUTE',
|
427
|
-
__('Allows executing stored routines.')
|
428
|
-
),
|
429
|
-
);
|
430
|
-
}
|
431
|
-
|
432
|
-
/**
|
433
|
-
* Displays on which column(s) a table-specific privilege is granted
|
434
|
-
*
|
435
|
-
* @param array $columns columns array
|
436
|
-
* @param array $row first row from result or boolean false
|
437
|
-
* @param string $name_for_select privilege types - Select_priv, Insert_priv
|
438
|
-
* Update_priv, References_priv
|
439
|
-
* @param string $priv_for_header privilege for header
|
440
|
-
* @param string $name privilege name: insert, select, update, references
|
441
|
-
* @param string $name_for_dfn name for dfn
|
442
|
-
* @param string $name_for_current name for current
|
443
|
-
*
|
444
|
-
* @return string $html_output html snippet
|
445
|
-
*/
|
446
|
-
function PMA_getHtmlForColumnPrivileges($columns, $row, $name_for_select,
|
447
|
-
$priv_for_header, $name, $name_for_dfn, $name_for_current
|
448
|
-
) {
|
449
|
-
$html_output = '<div class="item" id="div_item_' . $name . '">' . "\n"
|
450
|
-
. '<label for="select_' . $name . '_priv">' . "\n"
|
451
|
-
. '<code><dfn title="' . $name_for_dfn . '">'
|
452
|
-
. $priv_for_header . '</dfn></code>' . "\n"
|
453
|
-
. '</label><br />' . "\n"
|
454
|
-
. '<select id="select_' . $name . '_priv" name="'
|
455
|
-
. $name_for_select . '[]" multiple="multiple" size="8">' . "\n";
|
456
|
-
|
457
|
-
foreach ($columns as $currCol => $currColPrivs) {
|
458
|
-
$html_output .= '<option '
|
459
|
-
. 'value="' . htmlspecialchars($currCol) . '"';
|
460
|
-
if ($row[$name_for_select] == 'Y'
|
461
|
-
|| $currColPrivs[$name_for_current]
|
462
|
-
) {
|
463
|
-
$html_output .= ' selected="selected"';
|
464
|
-
}
|
465
|
-
$html_output .= '>'
|
466
|
-
. htmlspecialchars($currCol) . '</option>' . "\n";
|
467
|
-
}
|
468
|
-
|
469
|
-
$html_output .= '</select>' . "\n"
|
470
|
-
. '<i>' . __('Or') . '</i>' . "\n"
|
471
|
-
. '<label for="checkbox_' . $name_for_select
|
472
|
-
. '_none"><input type="checkbox"'
|
473
|
-
. ' name="' . $name_for_select . '_none" id="checkbox_'
|
474
|
-
. $name_for_select . '_none" title="'
|
475
|
-
. _pgettext('None privileges', 'None') . '" />'
|
476
|
-
. _pgettext('None privileges', 'None') . '</label>' . "\n"
|
477
|
-
. '</div>' . "\n";
|
478
|
-
return $html_output;
|
479
|
-
} // end function
|
480
|
-
|
481
|
-
/**
|
482
|
-
* Get sql query for display privileges table
|
483
|
-
*
|
484
|
-
* @param string $db the database
|
485
|
-
* @param string $table the table
|
486
|
-
* @param string $username username for database connection
|
487
|
-
* @param string $hostname hostname for database connection
|
488
|
-
*
|
489
|
-
* @return string sql query
|
490
|
-
*/
|
491
|
-
function PMA_getSqlQueryForDisplayPrivTable($db, $table, $username, $hostname)
|
492
|
-
{
|
493
|
-
if ($db == '*') {
|
494
|
-
return "SELECT * FROM `mysql`.`user`"
|
495
|
-
. " WHERE `User` = '" . PMA_Util::sqlAddSlashes($username) . "'"
|
496
|
-
. " AND `Host` = '" . PMA_Util::sqlAddSlashes($hostname) . "';";
|
497
|
-
} elseif ($table == '*') {
|
498
|
-
return "SELECT * FROM `mysql`.`db`"
|
499
|
-
. " WHERE `User` = '" . PMA_Util::sqlAddSlashes($username) . "'"
|
500
|
-
. " AND `Host` = '" . PMA_Util::sqlAddSlashes($hostname) . "'"
|
501
|
-
. " AND '" . PMA_Util::unescapeMysqlWildcards($db) . "'"
|
502
|
-
. " LIKE `Db`;";
|
503
|
-
}
|
504
|
-
return "SELECT `Table_priv`"
|
505
|
-
. " FROM `mysql`.`tables_priv`"
|
506
|
-
. " WHERE `User` = '" . PMA_Util::sqlAddSlashes($username) . "'"
|
507
|
-
. " AND `Host` = '" . PMA_Util::sqlAddSlashes($hostname) . "'"
|
508
|
-
. " AND `Db` = '" . PMA_Util::unescapeMysqlWildcards($db) . "'"
|
509
|
-
. " AND `Table_name` = '" . PMA_Util::sqlAddSlashes($table) . "';";
|
510
|
-
}
|
511
|
-
|
512
|
-
/**
|
513
|
-
* Displays a dropdown to select the user group
|
514
|
-
* with menu items configured to each of them.
|
515
|
-
*
|
516
|
-
* @param string $username username
|
517
|
-
*
|
518
|
-
* @return string html to select the user group
|
519
|
-
*/
|
520
|
-
function PMA_getHtmlToChooseUserGroup($username)
|
521
|
-
{
|
522
|
-
$html_output = '<form class="ajax" id="changeUserGroupForm"'
|
523
|
-
. ' action="server_privileges.php" method="post">';
|
524
|
-
$params = array('username' => $username);
|
525
|
-
$html_output .= PMA_URL_getHiddenInputs($params);
|
526
|
-
$html_output .= '<fieldset id="fieldset_user_group_selection">';
|
527
|
-
$html_output .= '<legend>' . __('User group') . '</legend>';
|
528
|
-
|
529
|
-
$cfgRelation = PMA_getRelationsParam();
|
530
|
-
$groupTable = PMA_Util::backquote($cfgRelation['db'])
|
531
|
-
. "." . PMA_Util::backquote($cfgRelation['usergroups']);
|
532
|
-
$userTable = PMA_Util::backquote($cfgRelation['db'])
|
533
|
-
. "." . PMA_Util::backquote($cfgRelation['users']);
|
534
|
-
|
535
|
-
$userGroups = array();
|
536
|
-
$sql_query = "SELECT DISTINCT `usergroup` FROM " . $groupTable;
|
537
|
-
$result = PMA_queryAsControlUser($sql_query, false);
|
538
|
-
if ($result) {
|
539
|
-
while ($row = $GLOBALS['dbi']->fetchRow($result)) {
|
540
|
-
$userGroups[] = $row[0];
|
541
|
-
}
|
542
|
-
}
|
543
|
-
$GLOBALS['dbi']->freeResult($result);
|
544
|
-
|
545
|
-
$userGroup = '';
|
546
|
-
if (isset($GLOBALS['username'])) {
|
547
|
-
$sql_query = "SELECT `usergroup` FROM " . $userTable
|
548
|
-
. " WHERE `username` = '" . PMA_Util::sqlAddSlashes($username) . "'";
|
549
|
-
$userGroup = $GLOBALS['dbi']->fetchValue(
|
550
|
-
$sql_query, 0, 0, $GLOBALS['controllink']
|
551
|
-
);
|
552
|
-
}
|
553
|
-
|
554
|
-
$html_output .= __('User group') . ': ';
|
555
|
-
$html_output .= '<select name="userGroup">';
|
556
|
-
$html_output .= '<option value=""></option>';
|
557
|
-
foreach ($userGroups as $oneUserGroup) {
|
558
|
-
$html_output .= '<option value="' . htmlspecialchars($oneUserGroup) . '"'
|
559
|
-
. ($oneUserGroup == $userGroup ? ' selected="selected"' : '')
|
560
|
-
. '>'
|
561
|
-
. htmlspecialchars($oneUserGroup)
|
562
|
-
. '</option>';
|
563
|
-
}
|
564
|
-
$html_output .= '</select>';
|
565
|
-
$html_output .= '<input type="hidden" name="changeUserGroup" value="1">';
|
566
|
-
$html_output .= '</fieldset>';
|
567
|
-
$html_output .= '</form>';
|
568
|
-
return $html_output;
|
569
|
-
}
|
570
|
-
|
571
|
-
/**
|
572
|
-
* Sets the user group from request values
|
573
|
-
*
|
574
|
-
* @param string $username username
|
575
|
-
* @param string $userGroup user group to set
|
576
|
-
*
|
577
|
-
* @return void
|
578
|
-
*/
|
579
|
-
function PMA_setUserGroup($username, $userGroup)
|
580
|
-
{
|
581
|
-
$cfgRelation = PMA_getRelationsParam();
|
582
|
-
$userTable = PMA_Util::backquote($cfgRelation['db'])
|
583
|
-
. "." . PMA_Util::backquote($cfgRelation['users']);
|
584
|
-
|
585
|
-
$sql_query = "SELECT `usergroup` FROM " . $userTable
|
586
|
-
. " WHERE `username` = '" . PMA_Util::sqlAddSlashes($username) . "'";
|
587
|
-
$oldUserGroup = $GLOBALS['dbi']->fetchValue(
|
588
|
-
$sql_query, 0, 0, $GLOBALS['controllink']
|
589
|
-
);
|
590
|
-
|
591
|
-
if ($oldUserGroup === false) {
|
592
|
-
$upd_query = "INSERT INTO " . $userTable . "(`username`, `usergroup`)"
|
593
|
-
. " VALUES ('" . PMA_Util::sqlAddSlashes($username) . "', "
|
594
|
-
. "'" . PMA_Util::sqlAddSlashes($userGroup) . "')";
|
595
|
-
} else {
|
596
|
-
if (empty($userGroup)) {
|
597
|
-
$upd_query = "DELETE FROM " . $userTable
|
598
|
-
. " WHERE `username`='" . PMA_Util::sqlAddSlashes($username) . "'";
|
599
|
-
} elseif ($oldUserGroup != $userGroup) {
|
600
|
-
$upd_query = "UPDATE " . $userTable
|
601
|
-
. " SET `usergroup`='" . PMA_Util::sqlAddSlashes($userGroup) . "'"
|
602
|
-
. " WHERE `username`='" . PMA_Util::sqlAddSlashes($username) . "'";
|
603
|
-
}
|
604
|
-
}
|
605
|
-
if (isset($upd_query)) {
|
606
|
-
PMA_queryAsControlUser($upd_query);
|
607
|
-
}
|
608
|
-
}
|
609
|
-
|
610
|
-
/**
|
611
|
-
* Displays the privileges form table
|
612
|
-
*
|
613
|
-
* @param string $db the database
|
614
|
-
* @param string $table the table
|
615
|
-
* @param boolean $submit whether to display the submit button or not
|
616
|
-
*
|
617
|
-
* @global array $cfg the phpMyAdmin configuration
|
618
|
-
* @global resource $user_link the database connection
|
619
|
-
*
|
620
|
-
* @return string html snippet
|
621
|
-
*/
|
622
|
-
function PMA_getHtmlToDisplayPrivilegesTable($db = '*',
|
623
|
-
$table = '*', $submit = true
|
624
|
-
) {
|
625
|
-
$html_output = '';
|
626
|
-
$sql_query = '';
|
627
|
-
|
628
|
-
if ($db == '*') {
|
629
|
-
$table = '*';
|
630
|
-
}
|
631
|
-
|
632
|
-
if (isset($GLOBALS['username'])) {
|
633
|
-
$username = $GLOBALS['username'];
|
634
|
-
$hostname = $GLOBALS['hostname'];
|
635
|
-
$sql_query = PMA_getSqlQueryForDisplayPrivTable(
|
636
|
-
$db, $table, $username, $hostname
|
637
|
-
);
|
638
|
-
$row = $GLOBALS['dbi']->fetchSingleRow($sql_query);
|
639
|
-
}
|
640
|
-
if (empty($row)) {
|
641
|
-
if ($table == '*' && $GLOBALS['is_superuser']) {
|
642
|
-
if ($db == '*') {
|
643
|
-
$sql_query = 'SHOW COLUMNS FROM `mysql`.`user`;';
|
644
|
-
} elseif ($table == '*') {
|
645
|
-
$sql_query = 'SHOW COLUMNS FROM `mysql`.`db`;';
|
646
|
-
}
|
647
|
-
$res = $GLOBALS['dbi']->query($sql_query);
|
648
|
-
while ($row1 = $GLOBALS['dbi']->fetchRow($res)) {
|
649
|
-
if (mb_substr($row1[0], 0, 4) == 'max_') {
|
650
|
-
$row[$row1[0]] = 0;
|
651
|
-
} elseif (mb_substr($row1[0], 0, 5) == 'x509_'
|
652
|
-
|| mb_substr($row1[0], 0, 4) == 'ssl_'
|
653
|
-
) {
|
654
|
-
$row[$row1[0]] = '';
|
655
|
-
} else {
|
656
|
-
$row[$row1[0]] = 'N';
|
657
|
-
}
|
658
|
-
}
|
659
|
-
$GLOBALS['dbi']->freeResult($res);
|
660
|
-
} elseif ($table == '*') {
|
661
|
-
$row = array();
|
662
|
-
} else {
|
663
|
-
$row = array('Table_priv' => '');
|
664
|
-
}
|
665
|
-
}
|
666
|
-
if (isset($row['Table_priv'])) {
|
667
|
-
PMA_fillInTablePrivileges($row);
|
668
|
-
|
669
|
-
// get columns
|
670
|
-
$res = $GLOBALS['dbi']->tryQuery(
|
671
|
-
'SHOW COLUMNS FROM '
|
672
|
-
. PMA_Util::backquote(
|
673
|
-
PMA_Util::unescapeMysqlWildcards($db)
|
674
|
-
)
|
675
|
-
. '.' . PMA_Util::backquote($table) . ';'
|
676
|
-
);
|
677
|
-
$columns = array();
|
678
|
-
if ($res) {
|
679
|
-
while ($row1 = $GLOBALS['dbi']->fetchRow($res)) {
|
680
|
-
$columns[$row1[0]] = array(
|
681
|
-
'Select' => false,
|
682
|
-
'Insert' => false,
|
683
|
-
'Update' => false,
|
684
|
-
'References' => false
|
685
|
-
);
|
686
|
-
}
|
687
|
-
$GLOBALS['dbi']->freeResult($res);
|
688
|
-
}
|
689
|
-
unset($res, $row1);
|
690
|
-
}
|
691
|
-
// table-specific privileges
|
692
|
-
if (! empty($columns)) {
|
693
|
-
$html_output .= PMA_getHtmlForTableSpecificPrivileges(
|
694
|
-
$username, $hostname, $db, $table, $columns, $row
|
695
|
-
);
|
696
|
-
} else {
|
697
|
-
// global or db-specific
|
698
|
-
$html_output .= PMA_getHtmlForGlobalOrDbSpecificPrivs($db, $table, $row);
|
699
|
-
}
|
700
|
-
$html_output .= '</fieldset>' . "\n";
|
701
|
-
if ($submit) {
|
702
|
-
$html_output .= '<fieldset id="fieldset_user_privtable_footer" '
|
703
|
-
. 'class="tblFooters">' . "\n"
|
704
|
-
. '<input type="hidden" name="update_privs" value="1" />' . "\n"
|
705
|
-
. '<input type="submit" value="' . __('Go') . '" />' . "\n"
|
706
|
-
. '</fieldset>' . "\n";
|
707
|
-
}
|
708
|
-
return $html_output;
|
709
|
-
} // end of the 'PMA_displayPrivTable()' function
|
710
|
-
|
711
|
-
/**
|
712
|
-
* Get HTML for "Require"
|
713
|
-
*
|
714
|
-
* @param array $row privilege array
|
715
|
-
*
|
716
|
-
* @return string html snippet
|
717
|
-
*/
|
718
|
-
function PMA_getHtmlForRequires($row)
|
719
|
-
{
|
720
|
-
$html_output = '<fieldset>';
|
721
|
-
|
722
|
-
$html_output .= '<legend>';
|
723
|
-
$html_output .= '<input type="checkbox" name="SSL_priv" id="checkbox_SSL_priv"'
|
724
|
-
. ' value="Y" title="'
|
725
|
-
. __(
|
726
|
-
'Requires SSL-encrypted connections.'
|
727
|
-
)
|
728
|
-
. '"'
|
729
|
-
. ((isset($row['ssl_type']) && $row['ssl_type'] != '')
|
730
|
-
? ' checked="checked"'
|
731
|
-
: ''
|
732
|
-
)
|
733
|
-
. '/>';
|
734
|
-
$html_output .= __('Require SSL') . '</legend>';
|
735
|
-
$html_output .= '<div id="require_ssl_div">';
|
736
|
-
|
737
|
-
// Specified
|
738
|
-
$html_output .= '<div class="item">';
|
739
|
-
$html_output .= '<input type="radio" name="ssl_type" id="ssl_type_specified"'
|
740
|
-
. ' value="specified"'
|
741
|
-
. ((isset($row['ssl_type']) && $row['ssl_type'] == 'SPECIFIED')
|
742
|
-
? ' checked="checked"'
|
743
|
-
: ''
|
744
|
-
)
|
745
|
-
. '/>';
|
746
|
-
|
747
|
-
$html_output .= '<label for="ssl_type_speified"><code>'
|
748
|
-
. 'SPECIFIED'
|
749
|
-
. '</code></label>';
|
750
|
-
$html_output .= '</div>';
|
751
|
-
|
752
|
-
$html_output .= '<div id="specified_div" style="padding-left:20px;">';
|
753
|
-
|
754
|
-
// REQUIRE CIPHER
|
755
|
-
$html_output .= '<div class="item">';
|
756
|
-
$html_output .= '<label for="text_ssl_cipher">'
|
757
|
-
. '<code><dfn title="'
|
758
|
-
. __(
|
759
|
-
'Requires that a specific cipher method be used for a connection.'
|
760
|
-
)
|
761
|
-
. '">'
|
762
|
-
. 'REQUIRE CIPHER'
|
763
|
-
. '</dfn></code></label>';
|
764
|
-
$html_output .= '<input type="text" name="ssl_cipher" id="text_ssl_cipher" '
|
765
|
-
. 'value="' . (isset($row['ssl_cipher']) ? $row['ssl_cipher'] : '') . '" '
|
766
|
-
. 'size=80" title="'
|
767
|
-
. __(
|
768
|
-
'Requires that a specific cipher method be used for a connection.'
|
769
|
-
)
|
770
|
-
. '" />';
|
771
|
-
$html_output .= '</div>';
|
772
|
-
|
773
|
-
// REQUIRE ISSUER
|
774
|
-
$html_output .= '<div class="item">';
|
775
|
-
$html_output .= '<label for="text_x509_issuer">'
|
776
|
-
. '<code><dfn title="'
|
777
|
-
. __(
|
778
|
-
'Requires that a valid X509 certificate issued by this CA be presented.'
|
779
|
-
)
|
780
|
-
. '">'
|
781
|
-
. 'REQUIRE ISSUER'
|
782
|
-
. '</dfn></code></label>';
|
783
|
-
$html_output .= '<input type="text" name="x509_issuer" id="text_x509_issuer" '
|
784
|
-
. 'value="' . (isset($row['x509_issuer']) ? $row['x509_issuer'] : '') . '" '
|
785
|
-
. 'size=80" title="'
|
786
|
-
. __(
|
787
|
-
'Requires that a valid X509 certificate issued by this CA be presented.'
|
788
|
-
)
|
789
|
-
. '" />';
|
790
|
-
$html_output .= '</div>';
|
791
|
-
|
792
|
-
// REQUIRE SUBJECT
|
793
|
-
$html_output .= '<div class="item">';
|
794
|
-
$html_output .= '<label for="text_x509_subject">'
|
795
|
-
. '<code><dfn title="'
|
796
|
-
. __(
|
797
|
-
'Requires that a valid X509 certificate with this subject be presented.'
|
798
|
-
)
|
799
|
-
. '">'
|
800
|
-
. 'REQUIRE SUBJECT'
|
801
|
-
. '</dfn></code></label>';
|
802
|
-
$html_output .= '<input type="text" name="x509_subject" id="text_x509_subject" '
|
803
|
-
. 'value="' . (isset($row['x509_subject']) ? $row['x509_subject'] : '') . '" '
|
804
|
-
. 'size=80" title="'
|
805
|
-
. __(
|
806
|
-
'Requires that a valid X509 certificate with this subject be presented.'
|
807
|
-
)
|
808
|
-
. '" />';
|
809
|
-
$html_output .= '</div>';
|
810
|
-
|
811
|
-
$html_output .= '</div>';
|
812
|
-
|
813
|
-
// REQUIRE X509
|
814
|
-
$html_output .= '<div class="item">';
|
815
|
-
$html_output .= '<input type="radio" name="ssl_type" id="ssl_type_X509"'
|
816
|
-
. ' value="X509" title="'
|
817
|
-
. __(
|
818
|
-
'Requires a valid X509 cetrificate.'
|
819
|
-
)
|
820
|
-
. '"'
|
821
|
-
. ((isset($row['ssl_type']) && $row['ssl_type'] == 'X509')
|
822
|
-
? ' checked="checked"'
|
823
|
-
: ''
|
824
|
-
)
|
825
|
-
. '/>';
|
826
|
-
|
827
|
-
$html_output .= '<label for="radio_X509_priv"><code>'
|
828
|
-
. 'REQUIRE X509'
|
829
|
-
. '</code></label>';
|
830
|
-
$html_output .= '</div>';
|
831
|
-
|
832
|
-
// REQUIRE SSL
|
833
|
-
$html_output .= '<div class="item">';
|
834
|
-
$html_output .= '<input type="radio" name="ssl_type" id="ssl_type_ANY"'
|
835
|
-
. ' value="ANY" title="'
|
836
|
-
. __(
|
837
|
-
'Requires SSL-encrypted connections.'
|
838
|
-
)
|
839
|
-
. '"'
|
840
|
-
. ((isset($row['ssl_type']) && ($row['ssl_type'] == 'ANY' || $row['ssl_type'] == ''))
|
841
|
-
? ' checked="checked"'
|
842
|
-
: ''
|
843
|
-
)
|
844
|
-
. '/>';
|
845
|
-
|
846
|
-
$html_output .= '<label for="ssl_type_ANY"><code>'
|
847
|
-
. 'REQUIRE SSL'
|
848
|
-
. '</code></label>';
|
849
|
-
$html_output .= '</div>';
|
850
|
-
|
851
|
-
$html_output .= '</div>';
|
852
|
-
$html_output .= '</fieldset>';
|
853
|
-
|
854
|
-
return $html_output;
|
855
|
-
}
|
856
|
-
|
857
|
-
/**
|
858
|
-
* Get HTML for "Resource limits"
|
859
|
-
*
|
860
|
-
* @param array $row first row from result or boolean false
|
861
|
-
*
|
862
|
-
* @return string html snippet
|
863
|
-
*/
|
864
|
-
function PMA_getHtmlForResourceLimits($row)
|
865
|
-
{
|
866
|
-
$html_output = '<fieldset>' . "\n"
|
867
|
-
. '<legend>' . __('Resource limits') . '</legend>' . "\n"
|
868
|
-
. '<p><small>'
|
869
|
-
. '<i>' . __('Note: Setting these options to 0 (zero) removes the limit.')
|
870
|
-
. '</i></small></p>' . "\n";
|
871
|
-
|
872
|
-
$html_output .= '<div class="item">' . "\n"
|
873
|
-
. '<label for="text_max_questions">'
|
874
|
-
. '<code><dfn title="'
|
875
|
-
. __(
|
876
|
-
'Limits the number of queries the user may send to the server per hour.'
|
877
|
-
)
|
878
|
-
. '">'
|
879
|
-
. 'MAX QUERIES PER HOUR'
|
880
|
-
. '</dfn></code></label>' . "\n"
|
881
|
-
. '<input type="number" name="max_questions" id="text_max_questions" '
|
882
|
-
. 'value="'
|
883
|
-
. (isset($row['max_questions']) ? $row['max_questions'] : '0')
|
884
|
-
. '" min="0" '
|
885
|
-
. 'title="'
|
886
|
-
. __(
|
887
|
-
'Limits the number of queries the user may send to the server per hour.'
|
888
|
-
)
|
889
|
-
. '" />' . "\n"
|
890
|
-
. '</div>' . "\n";
|
891
|
-
|
892
|
-
$html_output .= '<div class="item">' . "\n"
|
893
|
-
. '<label for="text_max_updates">'
|
894
|
-
. '<code><dfn title="'
|
895
|
-
. __(
|
896
|
-
'Limits the number of commands that change any table '
|
897
|
-
. 'or database the user may execute per hour.'
|
898
|
-
) . '">'
|
899
|
-
. 'MAX UPDATES PER HOUR'
|
900
|
-
. '</dfn></code></label>' . "\n"
|
901
|
-
. '<input type="number" name="max_updates" id="text_max_updates" '
|
902
|
-
. 'value="'
|
903
|
-
. (isset($row['max_updates']) ? $row['max_updates'] : '0')
|
904
|
-
. '" min="0" '
|
905
|
-
. 'title="'
|
906
|
-
. __(
|
907
|
-
'Limits the number of commands that change any table '
|
908
|
-
. 'or database the user may execute per hour.'
|
909
|
-
)
|
910
|
-
. '" />' . "\n"
|
911
|
-
. '</div>' . "\n";
|
912
|
-
|
913
|
-
$html_output .= '<div class="item">' . "\n"
|
914
|
-
. '<label for="text_max_connections">'
|
915
|
-
. '<code><dfn title="'
|
916
|
-
. __(
|
917
|
-
'Limits the number of new connections the user may open per hour.'
|
918
|
-
) . '">'
|
919
|
-
. 'MAX CONNECTIONS PER HOUR'
|
920
|
-
. '</dfn></code></label>' . "\n"
|
921
|
-
. '<input type="number" name="max_connections" id="text_max_connections" '
|
922
|
-
. 'value="'
|
923
|
-
. (isset($row['max_connections']) ? $row['max_connections'] : '0')
|
924
|
-
. '" min="0" '
|
925
|
-
. 'title="' . __(
|
926
|
-
'Limits the number of new connections the user may open per hour.'
|
927
|
-
)
|
928
|
-
. '" />' . "\n"
|
929
|
-
. '</div>' . "\n";
|
930
|
-
|
931
|
-
$html_output .= '<div class="item">' . "\n"
|
932
|
-
. '<label for="text_max_user_connections">'
|
933
|
-
. '<code><dfn title="'
|
934
|
-
. __('Limits the number of simultaneous connections the user may have.')
|
935
|
-
. '">'
|
936
|
-
. 'MAX USER_CONNECTIONS'
|
937
|
-
. '</dfn></code></label>' . "\n"
|
938
|
-
. '<input type="number" name="max_user_connections" '
|
939
|
-
. 'id="text_max_user_connections" '
|
940
|
-
. 'value="'
|
941
|
-
. (isset($row['max_user_connections']) ? $row['max_user_connections'] : '0')
|
942
|
-
. '" '
|
943
|
-
. 'title="'
|
944
|
-
. __('Limits the number of simultaneous connections the user may have.')
|
945
|
-
. '" />' . "\n"
|
946
|
-
. '</div>' . "\n";
|
947
|
-
|
948
|
-
$html_output .= '</fieldset>' . "\n";
|
949
|
-
|
950
|
-
return $html_output;
|
951
|
-
}
|
952
|
-
|
953
|
-
/**
|
954
|
-
* Get the HTML snippet for table specific privileges
|
955
|
-
*
|
956
|
-
* @param string $username username for database connection
|
957
|
-
* @param string $hostname hostname for database connection
|
958
|
-
* @param string $db the database
|
959
|
-
* @param string $table the table
|
960
|
-
* @param array $columns columns array
|
961
|
-
* @param array $row current privileges row
|
962
|
-
*
|
963
|
-
* @return string $html_output
|
964
|
-
*/
|
965
|
-
function PMA_getHtmlForTableSpecificPrivileges(
|
966
|
-
$username, $hostname, $db, $table, $columns, $row
|
967
|
-
) {
|
968
|
-
$res = $GLOBALS['dbi']->query(
|
969
|
-
'SELECT `Column_name`, `Column_priv`'
|
970
|
-
. ' FROM `mysql`.`columns_priv`'
|
971
|
-
. ' WHERE `User`'
|
972
|
-
. ' = \'' . PMA_Util::sqlAddSlashes($username) . "'"
|
973
|
-
. ' AND `Host`'
|
974
|
-
. ' = \'' . PMA_Util::sqlAddSlashes($hostname) . "'"
|
975
|
-
. ' AND `Db`'
|
976
|
-
. ' = \'' . PMA_Util::sqlAddSlashes(
|
977
|
-
PMA_Util::unescapeMysqlWildcards($db)
|
978
|
-
) . "'"
|
979
|
-
. ' AND `Table_name`'
|
980
|
-
. ' = \'' . PMA_Util::sqlAddSlashes($table) . '\';'
|
981
|
-
);
|
982
|
-
|
983
|
-
while ($row1 = $GLOBALS['dbi']->fetchRow($res)) {
|
984
|
-
$row1[1] = explode(',', $row1[1]);
|
985
|
-
foreach ($row1[1] as $current) {
|
986
|
-
$columns[$row1[0]][$current] = true;
|
987
|
-
}
|
988
|
-
}
|
989
|
-
$GLOBALS['dbi']->freeResult($res);
|
990
|
-
unset($res, $row1, $current);
|
991
|
-
|
992
|
-
$html_output = '<input type="hidden" name="grant_count" '
|
993
|
-
. 'value="' . count($row) . '" />' . "\n"
|
994
|
-
. '<input type="hidden" name="column_count" '
|
995
|
-
. 'value="' . count($columns) . '" />' . "\n"
|
996
|
-
. '<fieldset id="fieldset_user_priv">' . "\n"
|
997
|
-
. '<legend data-submenu-label="Table">' . __('Table-specific privileges')
|
998
|
-
. PMA_Util::showHint(
|
999
|
-
__('Note: MySQL privilege names are expressed in English.')
|
1000
|
-
)
|
1001
|
-
. '</legend>' . "\n";
|
1002
|
-
|
1003
|
-
// privs that are attached to a specific column
|
1004
|
-
$html_output .= PMA_getHtmlForAttachedPrivilegesToTableSpecificColumn(
|
1005
|
-
$columns, $row
|
1006
|
-
);
|
1007
|
-
|
1008
|
-
// privs that are not attached to a specific column
|
1009
|
-
$html_output .= '<div class="item">' . "\n"
|
1010
|
-
. PMA_getHtmlForNotAttachedPrivilegesToTableSpecificColumn($row)
|
1011
|
-
. '</div>' . "\n";
|
1012
|
-
|
1013
|
-
// for Safari 2.0.2
|
1014
|
-
$html_output .= '<div class="clearfloat"></div>' . "\n";
|
1015
|
-
|
1016
|
-
return $html_output;
|
1017
|
-
}
|
1018
|
-
|
1019
|
-
/**
|
1020
|
-
* Get HTML snippet for privileges that are attached to a specific column
|
1021
|
-
*
|
1022
|
-
* @param array $columns columns array
|
1023
|
-
* @param array $row first row from result or boolean false
|
1024
|
-
*
|
1025
|
-
* @return string $html_output
|
1026
|
-
*/
|
1027
|
-
function PMA_getHtmlForAttachedPrivilegesToTableSpecificColumn($columns, $row)
|
1028
|
-
{
|
1029
|
-
$html_output = PMA_getHtmlForColumnPrivileges(
|
1030
|
-
$columns, $row, 'Select_priv', 'SELECT',
|
1031
|
-
'select', __('Allows reading data.'), 'Select'
|
1032
|
-
);
|
1033
|
-
|
1034
|
-
$html_output .= PMA_getHtmlForColumnPrivileges(
|
1035
|
-
$columns, $row, 'Insert_priv', 'INSERT',
|
1036
|
-
'insert', __('Allows inserting and replacing data.'), 'Insert'
|
1037
|
-
);
|
1038
|
-
|
1039
|
-
$html_output .= PMA_getHtmlForColumnPrivileges(
|
1040
|
-
$columns, $row, 'Update_priv', 'UPDATE',
|
1041
|
-
'update', __('Allows changing data.'), 'Update'
|
1042
|
-
);
|
1043
|
-
|
1044
|
-
$html_output .= PMA_getHtmlForColumnPrivileges(
|
1045
|
-
$columns, $row, 'References_priv', 'REFERENCES', 'references',
|
1046
|
-
__('Has no effect in this MySQL version.'), 'References'
|
1047
|
-
);
|
1048
|
-
return $html_output;
|
1049
|
-
}
|
1050
|
-
|
1051
|
-
/**
|
1052
|
-
* Get HTML for privileges that are not attached to a specific column
|
1053
|
-
*
|
1054
|
-
* @param array $row first row from result or boolean false
|
1055
|
-
*
|
1056
|
-
* @return string $html_output
|
1057
|
-
*/
|
1058
|
-
function PMA_getHtmlForNotAttachedPrivilegesToTableSpecificColumn($row)
|
1059
|
-
{
|
1060
|
-
$html_output = '';
|
1061
|
-
|
1062
|
-
foreach ($row as $current_grant => $current_grant_value) {
|
1063
|
-
$grant_type = substr($current_grant, 0, -5);
|
1064
|
-
if (in_array($grant_type, array('Select', 'Insert', 'Update', 'References'))
|
1065
|
-
) {
|
1066
|
-
continue;
|
1067
|
-
}
|
1068
|
-
// make a substitution to match the messages variables;
|
1069
|
-
// also we must substitute the grant we get, because we can't generate
|
1070
|
-
// a form variable containing blanks (those would get changed to
|
1071
|
-
// an underscore when receiving the POST)
|
1072
|
-
if ($current_grant == 'Create View_priv') {
|
1073
|
-
$tmp_current_grant = 'CreateView_priv';
|
1074
|
-
$current_grant = 'Create_view_priv';
|
1075
|
-
} elseif ($current_grant == 'Show view_priv') {
|
1076
|
-
$tmp_current_grant = 'ShowView_priv';
|
1077
|
-
$current_grant = 'Show_view_priv';
|
1078
|
-
} else {
|
1079
|
-
$tmp_current_grant = $current_grant;
|
1080
|
-
}
|
1081
|
-
|
1082
|
-
$html_output .= '<div class="item">' . "\n"
|
1083
|
-
. '<input type="checkbox"'
|
1084
|
-
. ' name="' . $current_grant . '" id="checkbox_' . $current_grant
|
1085
|
-
. '" value="Y" '
|
1086
|
-
. ($current_grant_value == 'Y' ? 'checked="checked" ' : '')
|
1087
|
-
. 'title="';
|
1088
|
-
|
1089
|
-
$html_output .= (isset($GLOBALS[
|
1090
|
-
'strPrivDesc' . /*overload*/mb_substr(
|
1091
|
-
$tmp_current_grant,
|
1092
|
-
0,
|
1093
|
-
(/*overload*/mb_strlen($tmp_current_grant) - 5)
|
1094
|
-
)
|
1095
|
-
] )
|
1096
|
-
? $GLOBALS[
|
1097
|
-
'strPrivDesc' . /*overload*/mb_substr(
|
1098
|
-
$tmp_current_grant,
|
1099
|
-
0,
|
1100
|
-
(/*overload*/mb_strlen($tmp_current_grant) - 5)
|
1101
|
-
)
|
1102
|
-
]
|
1103
|
-
: $GLOBALS[
|
1104
|
-
'strPrivDesc' . /*overload*/mb_substr(
|
1105
|
-
$tmp_current_grant,
|
1106
|
-
0,
|
1107
|
-
(/*overload*/mb_strlen($tmp_current_grant) - 5)
|
1108
|
-
) . 'Tbl'
|
1109
|
-
]
|
1110
|
-
)
|
1111
|
-
. '"/>' . "\n";
|
1112
|
-
|
1113
|
-
$html_output .= '<label for="checkbox_' . $current_grant
|
1114
|
-
. '"><code><dfn title="'
|
1115
|
-
. (isset($GLOBALS[
|
1116
|
-
'strPrivDesc' . /*overload*/mb_substr(
|
1117
|
-
$tmp_current_grant,
|
1118
|
-
0,
|
1119
|
-
-5
|
1120
|
-
)
|
1121
|
-
])
|
1122
|
-
? $GLOBALS[
|
1123
|
-
'strPrivDesc' . /*overload*/mb_substr(
|
1124
|
-
$tmp_current_grant,
|
1125
|
-
0,
|
1126
|
-
-5
|
1127
|
-
)
|
1128
|
-
]
|
1129
|
-
: $GLOBALS[
|
1130
|
-
'strPrivDesc' . /*overload*/mb_substr(
|
1131
|
-
$tmp_current_grant,
|
1132
|
-
0,
|
1133
|
-
-5
|
1134
|
-
) . 'Tbl'
|
1135
|
-
]
|
1136
|
-
)
|
1137
|
-
. '">'
|
1138
|
-
. /*overload*/mb_strtoupper(
|
1139
|
-
/*overload*/mb_substr(
|
1140
|
-
$current_grant,
|
1141
|
-
0,
|
1142
|
-
-5
|
1143
|
-
)
|
1144
|
-
)
|
1145
|
-
. '</dfn></code></label>' . "\n"
|
1146
|
-
. '</div>' . "\n";
|
1147
|
-
} // end foreach ()
|
1148
|
-
return $html_output;
|
1149
|
-
}
|
1150
|
-
|
1151
|
-
/**
|
1152
|
-
* Get HTML for global or database specific privileges
|
1153
|
-
*
|
1154
|
-
* @param string $db the database
|
1155
|
-
* @param string $table the table
|
1156
|
-
* @param string $row first row from result or boolean false
|
1157
|
-
*
|
1158
|
-
* @return string $html_output
|
1159
|
-
*/
|
1160
|
-
function PMA_getHtmlForGlobalOrDbSpecificPrivs($db, $table, $row)
|
1161
|
-
{
|
1162
|
-
$privTable_names = array(0 => __('Data'),
|
1163
|
-
1 => __('Structure'),
|
1164
|
-
2 => __('Administration')
|
1165
|
-
);
|
1166
|
-
$privTable = array();
|
1167
|
-
// d a t a
|
1168
|
-
$privTable[0] = PMA_getDataPrivilegeTable($db);
|
1169
|
-
|
1170
|
-
// s t r u c t u r e
|
1171
|
-
$privTable[1] = PMA_getStructurePrivilegeTable($table, $row);
|
1172
|
-
|
1173
|
-
// a d m i n i s t r a t i o n
|
1174
|
-
$privTable[2] = PMA_getAdministrationPrivilegeTable($db);
|
1175
|
-
|
1176
|
-
$html_output = '<input type="hidden" name="grant_count" value="'
|
1177
|
-
. (count($privTable[0])
|
1178
|
-
+ count($privTable[1])
|
1179
|
-
+ count($privTable[2])
|
1180
|
-
- (isset($row['Grant_priv']) ? 1 : 0)
|
1181
|
-
)
|
1182
|
-
. '" />';
|
1183
|
-
if ($db == '*') {
|
1184
|
-
$legend = __('Global privileges');
|
1185
|
-
$menu_label = __('Global');
|
1186
|
-
} else if ($table == '*') {
|
1187
|
-
$legend = __('Database-specific privileges');
|
1188
|
-
$menu_label = __('Database');
|
1189
|
-
} else {
|
1190
|
-
$legend = __('Table-specific privileges');
|
1191
|
-
$menu_label = __('Table');
|
1192
|
-
}
|
1193
|
-
$html_output .= '<fieldset id="fieldset_user_global_rights">'
|
1194
|
-
. '<legend data-submenu-label="' . $menu_label . '">' . $legend
|
1195
|
-
. '<input type="checkbox" id="addUsersForm_checkall" '
|
1196
|
-
. 'class="checkall_box" title="' . __('Check All') . '" /> '
|
1197
|
-
. '<label for="addUsersForm_checkall">' . __('Check All') . '</label> '
|
1198
|
-
. '</legend>'
|
1199
|
-
. '<p><small><i>'
|
1200
|
-
. __('Note: MySQL privilege names are expressed in English.')
|
1201
|
-
. '</i></small></p>';
|
1202
|
-
|
1203
|
-
// Output the Global privilege tables with checkboxes
|
1204
|
-
$html_output .= PMA_getHtmlForGlobalPrivTableWithCheckboxes(
|
1205
|
-
$privTable, $privTable_names, $row
|
1206
|
-
);
|
1207
|
-
|
1208
|
-
// The "Resource limits" box is not displayed for db-specific privs
|
1209
|
-
if ($db == '*') {
|
1210
|
-
$html_output .= PMA_getHtmlForResourceLimits($row);
|
1211
|
-
$html_output .= PMA_getHtmlForRequires($row);
|
1212
|
-
}
|
1213
|
-
// for Safari 2.0.2
|
1214
|
-
$html_output .= '<div class="clearfloat"></div>';
|
1215
|
-
|
1216
|
-
return $html_output;
|
1217
|
-
}
|
1218
|
-
|
1219
|
-
/**
|
1220
|
-
* Get data privilege table as an array
|
1221
|
-
*
|
1222
|
-
* @param string $db the database
|
1223
|
-
*
|
1224
|
-
* @return string data privilege table
|
1225
|
-
*/
|
1226
|
-
function PMA_getDataPrivilegeTable($db)
|
1227
|
-
{
|
1228
|
-
$data_privTable = array(
|
1229
|
-
array('Select', 'SELECT', __('Allows reading data.')),
|
1230
|
-
array('Insert', 'INSERT', __('Allows inserting and replacing data.')),
|
1231
|
-
array('Update', 'UPDATE', __('Allows changing data.')),
|
1232
|
-
array('Delete', 'DELETE', __('Allows deleting data.'))
|
1233
|
-
);
|
1234
|
-
if ($db == '*') {
|
1235
|
-
$data_privTable[]
|
1236
|
-
= array('File',
|
1237
|
-
'FILE',
|
1238
|
-
__('Allows importing data from and exporting data into files.')
|
1239
|
-
);
|
1240
|
-
}
|
1241
|
-
return $data_privTable;
|
1242
|
-
}
|
1243
|
-
|
1244
|
-
/**
|
1245
|
-
* Get structure privilege table as an array
|
1246
|
-
*
|
1247
|
-
* @param string $table the table
|
1248
|
-
* @param array $row first row from result or boolean false
|
1249
|
-
*
|
1250
|
-
* @return string structure privilege table
|
1251
|
-
*/
|
1252
|
-
function PMA_getStructurePrivilegeTable($table, $row)
|
1253
|
-
{
|
1254
|
-
$structure_privTable = array(
|
1255
|
-
array('Create',
|
1256
|
-
'CREATE',
|
1257
|
-
($table == '*'
|
1258
|
-
? __('Allows creating new databases and tables.')
|
1259
|
-
: __('Allows creating new tables.')
|
1260
|
-
)
|
1261
|
-
),
|
1262
|
-
array('Alter',
|
1263
|
-
'ALTER',
|
1264
|
-
__('Allows altering the structure of existing tables.')
|
1265
|
-
),
|
1266
|
-
array('Index', 'INDEX', __('Allows creating and dropping indexes.')),
|
1267
|
-
array('Drop',
|
1268
|
-
'DROP',
|
1269
|
-
($table == '*'
|
1270
|
-
? __('Allows dropping databases and tables.')
|
1271
|
-
: __('Allows dropping tables.')
|
1272
|
-
)
|
1273
|
-
),
|
1274
|
-
array('Create_tmp_table',
|
1275
|
-
'CREATE TEMPORARY TABLES',
|
1276
|
-
__('Allows creating temporary tables.')
|
1277
|
-
),
|
1278
|
-
array('Show_view',
|
1279
|
-
'SHOW VIEW',
|
1280
|
-
__('Allows performing SHOW CREATE VIEW queries.')
|
1281
|
-
),
|
1282
|
-
array('Create_routine',
|
1283
|
-
'CREATE ROUTINE',
|
1284
|
-
__('Allows creating stored routines.')
|
1285
|
-
),
|
1286
|
-
array('Alter_routine',
|
1287
|
-
'ALTER ROUTINE',
|
1288
|
-
__('Allows altering and dropping stored routines.')
|
1289
|
-
),
|
1290
|
-
array('Execute', 'EXECUTE', __('Allows executing stored routines.')),
|
1291
|
-
);
|
1292
|
-
// this one is for a db-specific priv: Create_view_priv
|
1293
|
-
if (isset($row['Create_view_priv'])) {
|
1294
|
-
$structure_privTable[] = array('Create_view',
|
1295
|
-
'CREATE VIEW',
|
1296
|
-
__('Allows creating new views.')
|
1297
|
-
);
|
1298
|
-
}
|
1299
|
-
// this one is for a table-specific priv: Create View_priv
|
1300
|
-
if (isset($row['Create View_priv'])) {
|
1301
|
-
$structure_privTable[] = array('Create View',
|
1302
|
-
'CREATE VIEW',
|
1303
|
-
__('Allows creating new views.')
|
1304
|
-
);
|
1305
|
-
}
|
1306
|
-
if (isset($row['Event_priv'])) {
|
1307
|
-
// MySQL 5.1.6
|
1308
|
-
$structure_privTable[] = array('Event',
|
1309
|
-
'EVENT',
|
1310
|
-
__('Allows to set up events for the event scheduler.')
|
1311
|
-
);
|
1312
|
-
$structure_privTable[] = array('Trigger',
|
1313
|
-
'TRIGGER',
|
1314
|
-
__('Allows creating and dropping triggers.')
|
1315
|
-
);
|
1316
|
-
}
|
1317
|
-
return $structure_privTable;
|
1318
|
-
}
|
1319
|
-
|
1320
|
-
/**
|
1321
|
-
* Get administration privilege table as an array
|
1322
|
-
*
|
1323
|
-
* @param string $db the table
|
1324
|
-
*
|
1325
|
-
* @return string administration privilege table
|
1326
|
-
*/
|
1327
|
-
function PMA_getAdministrationPrivilegeTable($db)
|
1328
|
-
{
|
1329
|
-
$adminPrivTable = array(
|
1330
|
-
array('Grant',
|
1331
|
-
'GRANT',
|
1332
|
-
__(
|
1333
|
-
'Allows adding users and privileges '
|
1334
|
-
. 'without reloading the privilege tables.'
|
1335
|
-
)
|
1336
|
-
),
|
1337
|
-
);
|
1338
|
-
if ($db == '*') {
|
1339
|
-
$adminPrivTable[] = array('Super',
|
1340
|
-
'SUPER',
|
1341
|
-
__(
|
1342
|
-
'Allows connecting, even if maximum number '
|
1343
|
-
. 'of connections is reached; required for '
|
1344
|
-
. 'most administrative operations like '
|
1345
|
-
. 'setting global variables or killing threads of other users.'
|
1346
|
-
)
|
1347
|
-
);
|
1348
|
-
$adminPrivTable[] = array('Process',
|
1349
|
-
'PROCESS',
|
1350
|
-
__('Allows viewing processes of all users.')
|
1351
|
-
);
|
1352
|
-
$adminPrivTable[] = array('Reload',
|
1353
|
-
'RELOAD',
|
1354
|
-
__('Allows reloading server settings and flushing the server\'s caches.')
|
1355
|
-
);
|
1356
|
-
$adminPrivTable[] = array('Shutdown',
|
1357
|
-
'SHUTDOWN',
|
1358
|
-
__('Allows shutting down the server.')
|
1359
|
-
);
|
1360
|
-
$adminPrivTable[] = array('Show_db',
|
1361
|
-
'SHOW DATABASES',
|
1362
|
-
__('Gives access to the complete list of databases.')
|
1363
|
-
);
|
1364
|
-
}
|
1365
|
-
$adminPrivTable[] = array('Lock_tables',
|
1366
|
-
'LOCK TABLES',
|
1367
|
-
__('Allows locking tables for the current thread.')
|
1368
|
-
);
|
1369
|
-
$adminPrivTable[] = array('References',
|
1370
|
-
'REFERENCES',
|
1371
|
-
__('Has no effect in this MySQL version.')
|
1372
|
-
);
|
1373
|
-
if ($db == '*') {
|
1374
|
-
$adminPrivTable[] = array('Repl_client',
|
1375
|
-
'REPLICATION CLIENT',
|
1376
|
-
__('Allows the user to ask where the slaves / masters are.')
|
1377
|
-
);
|
1378
|
-
$adminPrivTable[] = array('Repl_slave',
|
1379
|
-
'REPLICATION SLAVE',
|
1380
|
-
__('Needed for the replication slaves.')
|
1381
|
-
);
|
1382
|
-
$adminPrivTable[] = array('Create_user',
|
1383
|
-
'CREATE USER',
|
1384
|
-
__('Allows creating, dropping and renaming user accounts.')
|
1385
|
-
);
|
1386
|
-
}
|
1387
|
-
return $adminPrivTable;
|
1388
|
-
}
|
1389
|
-
|
1390
|
-
/**
|
1391
|
-
* Get HTML snippet for global privileges table with check boxes
|
1392
|
-
*
|
1393
|
-
* @param array $privTable privileges table array
|
1394
|
-
* @param array $privTable_names names of the privilege tables
|
1395
|
-
* (Data, Structure, Administration)
|
1396
|
-
* @param array $row first row from result or boolean false
|
1397
|
-
*
|
1398
|
-
* @return string $html_output
|
1399
|
-
*/
|
1400
|
-
function PMA_getHtmlForGlobalPrivTableWithCheckboxes(
|
1401
|
-
$privTable, $privTable_names, $row
|
1402
|
-
) {
|
1403
|
-
$html_output = '';
|
1404
|
-
foreach ($privTable as $i => $table) {
|
1405
|
-
$html_output .= '<fieldset>' . "\n"
|
1406
|
-
. '<legend>' . $privTable_names[$i] . '</legend>' . "\n";
|
1407
|
-
foreach ($table as $priv) {
|
1408
|
-
$html_output .= '<div class="item">' . "\n"
|
1409
|
-
. '<input type="checkbox" class="checkall"'
|
1410
|
-
. ' name="' . $priv[0] . '_priv" '
|
1411
|
-
. 'id="checkbox_' . $priv[0] . '_priv"'
|
1412
|
-
. ' value="Y" title="' . $priv[2] . '"'
|
1413
|
-
. ((isset($row[$priv[0] . '_priv'])
|
1414
|
-
&& $row[$priv[0] . '_priv'] == 'Y')
|
1415
|
-
? ' checked="checked"'
|
1416
|
-
: ''
|
1417
|
-
)
|
1418
|
-
. '/>' . "\n"
|
1419
|
-
. '<label for="checkbox_' . $priv[0] . '_priv">'
|
1420
|
-
. '<code>'
|
1421
|
-
. PMA_formatPrivilege($priv, true)
|
1422
|
-
. '</code></label>' . "\n"
|
1423
|
-
. '</div>' . "\n";
|
1424
|
-
}
|
1425
|
-
$html_output .= '</fieldset>' . "\n";
|
1426
|
-
}
|
1427
|
-
return $html_output;
|
1428
|
-
}
|
1429
|
-
|
1430
|
-
/**
|
1431
|
-
* Displays the fields used by the "new user" form as well as the
|
1432
|
-
* "change login information / copy user" form.
|
1433
|
-
*
|
1434
|
-
* @param string $mode are we creating a new user or are we just
|
1435
|
-
* changing one? (allowed values: 'new', 'change')
|
1436
|
-
*
|
1437
|
-
* @global array $cfg the phpMyAdmin configuration
|
1438
|
-
* @global resource $user_link the database connection
|
1439
|
-
*
|
1440
|
-
* @return string $html_output a HTML snippet
|
1441
|
-
*/
|
1442
|
-
function PMA_getHtmlForLoginInformationFields($mode = 'new')
|
1443
|
-
{
|
1444
|
-
list($username_length, $hostname_length) = PMA_getUsernameAndHostnameLength();
|
1445
|
-
|
1446
|
-
if (isset($GLOBALS['username'])
|
1447
|
-
&& /*overload*/mb_strlen($GLOBALS['username']) === 0
|
1448
|
-
) {
|
1449
|
-
$GLOBALS['pred_username'] = 'any';
|
1450
|
-
}
|
1451
|
-
$html_output = '<fieldset id="fieldset_add_user_login">' . "\n"
|
1452
|
-
. '<legend>' . __('Login Information') . '</legend>' . "\n"
|
1453
|
-
. '<div class="item">' . "\n"
|
1454
|
-
. '<label for="select_pred_username">' . "\n"
|
1455
|
-
. ' ' . __('User name:') . "\n"
|
1456
|
-
. '</label>' . "\n"
|
1457
|
-
. '<span class="options">' . "\n";
|
1458
|
-
|
1459
|
-
$html_output .= '<select name="pred_username" id="select_pred_username" '
|
1460
|
-
. 'title="' . __('User name') . '"' . "\n";
|
1461
|
-
|
1462
|
-
$html_output .= ' onchange="'
|
1463
|
-
. 'if (this.value == \'any\') {'
|
1464
|
-
. ' username.value = \'\'; '
|
1465
|
-
. ' user_exists_warning.style.display = \'none\'; '
|
1466
|
-
. ' username.required = false; '
|
1467
|
-
. '} else if (this.value == \'userdefined\') {'
|
1468
|
-
. ' username.focus(); username.select(); '
|
1469
|
-
. ' username.required = true; '
|
1470
|
-
. '}">' . "\n";
|
1471
|
-
|
1472
|
-
$html_output .= '<option value="any"'
|
1473
|
-
. ((isset($GLOBALS['pred_username']) && $GLOBALS['pred_username'] == 'any')
|
1474
|
-
? ' selected="selected"'
|
1475
|
-
: '') . '>'
|
1476
|
-
. __('Any user')
|
1477
|
-
. '</option>' . "\n";
|
1478
|
-
|
1479
|
-
$html_output .= '<option value="userdefined"'
|
1480
|
-
. ((! isset($GLOBALS['pred_username'])
|
1481
|
-
|| $GLOBALS['pred_username'] == 'userdefined'
|
1482
|
-
)
|
1483
|
-
? ' selected="selected"'
|
1484
|
-
: '') . '>'
|
1485
|
-
. __('Use text field')
|
1486
|
-
. ':</option>' . "\n";
|
1487
|
-
|
1488
|
-
$html_output .= '</select>' . "\n"
|
1489
|
-
. '</span>' . "\n";
|
1490
|
-
|
1491
|
-
$html_output .= '<input type="text" name="username" class="autofocus"'
|
1492
|
-
. ' maxlength="' . $username_length . '" title="' . __('User name') . '"'
|
1493
|
-
. (empty($GLOBALS['username'])
|
1494
|
-
? ''
|
1495
|
-
: ' value="' . htmlspecialchars(
|
1496
|
-
isset($GLOBALS['new_username'])
|
1497
|
-
? $GLOBALS['new_username']
|
1498
|
-
: $GLOBALS['username']
|
1499
|
-
) . '"'
|
1500
|
-
)
|
1501
|
-
. ' onchange="pred_username.value = \'userdefined\'; this.required = true;" '
|
1502
|
-
. ((! isset($GLOBALS['pred_username'])
|
1503
|
-
|| $GLOBALS['pred_username'] == 'userdefined'
|
1504
|
-
)
|
1505
|
-
? 'required="required"'
|
1506
|
-
: '') . ' />' . "\n";
|
1507
|
-
|
1508
|
-
$html_output .= '<div id="user_exists_warning"'
|
1509
|
-
. ' name="user_exists_warning" style="display:none;">'
|
1510
|
-
. PMA_Message::notice(
|
1511
|
-
__(
|
1512
|
-
'An account already exists with the same username '
|
1513
|
-
. 'but possibly a different hostname.'
|
1514
|
-
)
|
1515
|
-
)->getDisplay()
|
1516
|
-
. '</div>';
|
1517
|
-
$html_output .= '</div>';
|
1518
|
-
|
1519
|
-
$html_output .= '<div class="item">' . "\n"
|
1520
|
-
. '<label for="select_pred_hostname">' . "\n"
|
1521
|
-
. ' ' . __('Host:') . "\n"
|
1522
|
-
. '</label>' . "\n";
|
1523
|
-
|
1524
|
-
$html_output .= '<span class="options">' . "\n"
|
1525
|
-
. ' <select name="pred_hostname" id="select_pred_hostname" '
|
1526
|
-
. 'title="' . __('Host') . '"' . "\n";
|
1527
|
-
$_current_user = $GLOBALS['dbi']->fetchValue('SELECT USER();');
|
1528
|
-
if (! empty($_current_user)) {
|
1529
|
-
$thishost = str_replace(
|
1530
|
-
"'",
|
1531
|
-
'',
|
1532
|
-
/*overload*/mb_substr(
|
1533
|
-
$_current_user,
|
1534
|
-
(/*overload*/mb_strrpos($_current_user, '@') + 1)
|
1535
|
-
)
|
1536
|
-
);
|
1537
|
-
if ($thishost == 'localhost' || $thishost == '127.0.0.1') {
|
1538
|
-
unset($thishost);
|
1539
|
-
}
|
1540
|
-
}
|
1541
|
-
$html_output .= ' onchange="'
|
1542
|
-
. 'if (this.value == \'any\') { '
|
1543
|
-
. ' hostname.value = \'%\'; '
|
1544
|
-
. '} else if (this.value == \'localhost\') { '
|
1545
|
-
. ' hostname.value = \'localhost\'; '
|
1546
|
-
. '} '
|
1547
|
-
. (empty($thishost)
|
1548
|
-
? ''
|
1549
|
-
: 'else if (this.value == \'thishost\') { '
|
1550
|
-
. ' hostname.value = \'' . addslashes(htmlspecialchars($thishost))
|
1551
|
-
. '\'; '
|
1552
|
-
. '} '
|
1553
|
-
)
|
1554
|
-
. 'else if (this.value == \'hosttable\') { '
|
1555
|
-
. ' hostname.value = \'\'; '
|
1556
|
-
. ' hostname.required = false; '
|
1557
|
-
. '} else if (this.value == \'userdefined\') {'
|
1558
|
-
. ' hostname.focus(); hostname.select(); '
|
1559
|
-
. ' hostname.required = true; '
|
1560
|
-
. '}">' . "\n";
|
1561
|
-
unset($_current_user);
|
1562
|
-
|
1563
|
-
// when we start editing a user, $GLOBALS['pred_hostname'] is not defined
|
1564
|
-
if (! isset($GLOBALS['pred_hostname']) && isset($GLOBALS['hostname'])) {
|
1565
|
-
switch (/*overload*/mb_strtolower($GLOBALS['hostname'])) {
|
1566
|
-
case 'localhost':
|
1567
|
-
case '127.0.0.1':
|
1568
|
-
$GLOBALS['pred_hostname'] = 'localhost';
|
1569
|
-
break;
|
1570
|
-
case '%':
|
1571
|
-
$GLOBALS['pred_hostname'] = 'any';
|
1572
|
-
break;
|
1573
|
-
default:
|
1574
|
-
$GLOBALS['pred_hostname'] = 'userdefined';
|
1575
|
-
break;
|
1576
|
-
}
|
1577
|
-
}
|
1578
|
-
$html_output .= '<option value="any"'
|
1579
|
-
. ((isset($GLOBALS['pred_hostname'])
|
1580
|
-
&& $GLOBALS['pred_hostname'] == 'any'
|
1581
|
-
)
|
1582
|
-
? ' selected="selected"'
|
1583
|
-
: '') . '>'
|
1584
|
-
. __('Any host')
|
1585
|
-
. '</option>' . "\n"
|
1586
|
-
. '<option value="localhost"'
|
1587
|
-
. ((isset($GLOBALS['pred_hostname'])
|
1588
|
-
&& $GLOBALS['pred_hostname'] == 'localhost'
|
1589
|
-
)
|
1590
|
-
? ' selected="selected"'
|
1591
|
-
: '') . '>'
|
1592
|
-
. __('Local')
|
1593
|
-
. '</option>' . "\n";
|
1594
|
-
if (! empty($thishost)) {
|
1595
|
-
$html_output .= '<option value="thishost"'
|
1596
|
-
. ((isset($GLOBALS['pred_hostname'])
|
1597
|
-
&& $GLOBALS['pred_hostname'] == 'thishost'
|
1598
|
-
)
|
1599
|
-
? ' selected="selected"'
|
1600
|
-
: '') . '>'
|
1601
|
-
. __('This Host')
|
1602
|
-
. '</option>' . "\n";
|
1603
|
-
}
|
1604
|
-
unset($thishost);
|
1605
|
-
$html_output .= '<option value="hosttable"'
|
1606
|
-
. ((isset($GLOBALS['pred_hostname'])
|
1607
|
-
&& $GLOBALS['pred_hostname'] == 'hosttable'
|
1608
|
-
)
|
1609
|
-
? ' selected="selected"'
|
1610
|
-
: '') . '>'
|
1611
|
-
. __('Use Host Table')
|
1612
|
-
. '</option>' . "\n";
|
1613
|
-
|
1614
|
-
$html_output .= '<option value="userdefined"'
|
1615
|
-
. ((isset($GLOBALS['pred_hostname'])
|
1616
|
-
&& $GLOBALS['pred_hostname'] == 'userdefined'
|
1617
|
-
)
|
1618
|
-
? ' selected="selected"'
|
1619
|
-
: '') . '>'
|
1620
|
-
. __('Use text field:') . '</option>' . "\n"
|
1621
|
-
. '</select>' . "\n"
|
1622
|
-
. '</span>' . "\n";
|
1623
|
-
|
1624
|
-
$html_output .= '<input type="text" name="hostname" maxlength="'
|
1625
|
-
. $hostname_length . '" value="'
|
1626
|
-
// use default value of '%' to match with the default 'Any host'
|
1627
|
-
. htmlspecialchars(isset($GLOBALS['hostname']) ? $GLOBALS['hostname'] : '%')
|
1628
|
-
. '" title="' . __('Host')
|
1629
|
-
. '" onchange="pred_hostname.value = \'userdefined\'; this.required = true;" '
|
1630
|
-
. ((isset($GLOBALS['pred_hostname'])
|
1631
|
-
&& $GLOBALS['pred_hostname'] == 'userdefined'
|
1632
|
-
)
|
1633
|
-
? 'required="required"'
|
1634
|
-
: '')
|
1635
|
-
. ' />' . "\n"
|
1636
|
-
. PMA_Util::showHint(
|
1637
|
-
__(
|
1638
|
-
'When Host table is used, this field is ignored '
|
1639
|
-
. 'and values stored in Host table are used instead.'
|
1640
|
-
)
|
1641
|
-
)
|
1642
|
-
. '</div>' . "\n";
|
1643
|
-
|
1644
|
-
$html_output .= '<div class="item">' . "\n"
|
1645
|
-
. '<label for="select_pred_password">' . "\n"
|
1646
|
-
. ' ' . __('Password:') . "\n"
|
1647
|
-
. '</label>' . "\n"
|
1648
|
-
. '<span class="options">' . "\n"
|
1649
|
-
. '<select name="pred_password" id="select_pred_password" title="'
|
1650
|
-
. __('Password') . '"' . "\n";
|
1651
|
-
|
1652
|
-
$html_output .= ' onchange="'
|
1653
|
-
. 'if (this.value == \'none\') { '
|
1654
|
-
. ' pma_pw.value = \'\'; pma_pw2.value = \'\'; '
|
1655
|
-
. ' pma_pw.required = false; pma_pw2.required = false; '
|
1656
|
-
. '} else if (this.value == \'userdefined\') { '
|
1657
|
-
. ' pma_pw.focus(); pma_pw.select(); '
|
1658
|
-
. ' pma_pw.required = true; pma_pw2.required = true; '
|
1659
|
-
. '} else { '
|
1660
|
-
. ' pma_pw.required = false; pma_pw2.required = false; '
|
1661
|
-
. '}">' . "\n"
|
1662
|
-
. ($mode == 'change' ? '<option value="keep" selected="selected">'
|
1663
|
-
. __('Do not change the password')
|
1664
|
-
. '</option>' . "\n" : '')
|
1665
|
-
. '<option value="none"';
|
1666
|
-
|
1667
|
-
if (isset($GLOBALS['username']) && $mode != 'change') {
|
1668
|
-
$html_output .= ' selected="selected"';
|
1669
|
-
}
|
1670
|
-
$html_output .= '>' . __('No Password') . '</option>' . "\n"
|
1671
|
-
. '<option value="userdefined"'
|
1672
|
-
. (isset($GLOBALS['username']) ? '' : ' selected="selected"') . '>'
|
1673
|
-
. __('Use text field')
|
1674
|
-
. ':</option>' . "\n"
|
1675
|
-
. '</select>' . "\n"
|
1676
|
-
. '</span>' . "\n"
|
1677
|
-
. '<input type="password" id="text_pma_pw" name="pma_pw" '
|
1678
|
-
. 'title="' . __('Password') . '" '
|
1679
|
-
. 'onchange="pred_password.value = \'userdefined\'; this.required = true; pma_pw2.required = true;" '
|
1680
|
-
. (isset($GLOBALS['username']) ? '' : 'required="required"')
|
1681
|
-
. '/>' . "\n"
|
1682
|
-
. '</div>' . "\n";
|
1683
|
-
|
1684
|
-
$html_output .= '<div class="item" '
|
1685
|
-
. 'id="div_element_before_generate_password">' . "\n"
|
1686
|
-
. '<label for="text_pma_pw2">' . "\n"
|
1687
|
-
. ' ' . __('Re-type:') . "\n"
|
1688
|
-
. '</label>' . "\n"
|
1689
|
-
. '<span class="options"> </span>' . "\n"
|
1690
|
-
. '<input type="password" name="pma_pw2" id="text_pma_pw2" '
|
1691
|
-
. 'title="' . __('Re-type') . '" '
|
1692
|
-
. 'onchange="pred_password.value = \'userdefined\'; this.required = true; pma_pw.required = true;" '
|
1693
|
-
. (isset($GLOBALS['username']) ? '' : 'required="required"')
|
1694
|
-
. '/>' . "\n"
|
1695
|
-
. '</div>' . "\n"
|
1696
|
-
// Generate password added here via jQuery
|
1697
|
-
. '</fieldset>' . "\n";
|
1698
|
-
|
1699
|
-
return $html_output;
|
1700
|
-
} // end of the 'PMA_displayUserAndHostFields()' function
|
1701
|
-
|
1702
|
-
/**
|
1703
|
-
* Get username and hostname length
|
1704
|
-
*
|
1705
|
-
* @return array username length and hostname length
|
1706
|
-
*/
|
1707
|
-
function PMA_getUsernameAndHostnameLength()
|
1708
|
-
{
|
1709
|
-
/* Fallback values */
|
1710
|
-
$username_length = 16;
|
1711
|
-
$hostname_length = 41;
|
1712
|
-
|
1713
|
-
/* Try to get real lengths from the database */
|
1714
|
-
$fields_info = $GLOBALS['dbi']->fetchResult(
|
1715
|
-
'SELECT COLUMN_NAME, CHARACTER_MAXIMUM_LENGTH '
|
1716
|
-
. 'FROM information_schema.columns '
|
1717
|
-
. "WHERE table_schema = 'mysql' AND table_name = 'user' "
|
1718
|
-
. "AND COLUMN_NAME IN ('User', 'Host')"
|
1719
|
-
);
|
1720
|
-
foreach ($fields_info as $val) {
|
1721
|
-
if ($val['COLUMN_NAME'] == 'User') {
|
1722
|
-
$username_length = $val['CHARACTER_MAXIMUM_LENGTH'];
|
1723
|
-
} elseif ($val['COLUMN_NAME'] == 'Host') {
|
1724
|
-
$hostname_length = $val['CHARACTER_MAXIMUM_LENGTH'];
|
1725
|
-
}
|
1726
|
-
}
|
1727
|
-
return array($username_length, $hostname_length);
|
1728
|
-
}
|
1729
|
-
|
1730
|
-
/**
|
1731
|
-
* Returns all the grants for a certain user on a certain host
|
1732
|
-
* Used in the export privileges for all users section
|
1733
|
-
*
|
1734
|
-
* @param string $user User name
|
1735
|
-
* @param string $host Host name
|
1736
|
-
*
|
1737
|
-
* @return string containing all the grants text
|
1738
|
-
*/
|
1739
|
-
function PMA_getGrants($user, $host)
|
1740
|
-
{
|
1741
|
-
$grants = $GLOBALS['dbi']->fetchResult(
|
1742
|
-
"SHOW GRANTS FOR '"
|
1743
|
-
. PMA_Util::sqlAddSlashes($user) . "'@'"
|
1744
|
-
. PMA_Util::sqlAddSlashes($host) . "'"
|
1745
|
-
);
|
1746
|
-
$response = '';
|
1747
|
-
foreach ($grants as $one_grant) {
|
1748
|
-
$response .= $one_grant . ";\n\n";
|
1749
|
-
}
|
1750
|
-
return $response;
|
1751
|
-
} // end of the 'PMA_getGrants()' function
|
1752
|
-
|
1753
|
-
/**
|
1754
|
-
* Update password and get message for password updating
|
1755
|
-
*
|
1756
|
-
* @param string $err_url error url
|
1757
|
-
* @param string $username username
|
1758
|
-
* @param string $hostname hostname
|
1759
|
-
*
|
1760
|
-
* @return string $message success or error message after updating password
|
1761
|
-
*/
|
1762
|
-
function PMA_updatePassword($err_url, $username, $hostname)
|
1763
|
-
{
|
1764
|
-
// similar logic in user_password.php
|
1765
|
-
$message = '';
|
1766
|
-
|
1767
|
-
if (empty($_REQUEST['nopass'])
|
1768
|
-
&& isset($_POST['pma_pw'])
|
1769
|
-
&& isset($_POST['pma_pw2'])
|
1770
|
-
) {
|
1771
|
-
if ($_POST['pma_pw'] != $_POST['pma_pw2']) {
|
1772
|
-
$message = PMA_Message::error(__('The passwords aren\'t the same!'));
|
1773
|
-
} elseif (empty($_POST['pma_pw']) || empty($_POST['pma_pw2'])) {
|
1774
|
-
$message = PMA_Message::error(__('The password is empty!'));
|
1775
|
-
}
|
1776
|
-
}
|
1777
|
-
|
1778
|
-
// here $nopass could be == 1
|
1779
|
-
if (empty($message)) {
|
1780
|
-
if (PMA_Util::getServerType() == 'MySQL'
|
1781
|
-
&& PMA_MYSQL_INT_VERSION >= 50706
|
1782
|
-
) {
|
1783
|
-
$query_prefix = "ALTER USER '"
|
1784
|
-
. PMA_Util::sqlAddSlashes($username)
|
1785
|
-
. "'@'" . PMA_Util::sqlAddSlashes($hostname) . "'"
|
1786
|
-
. " IDENTIFIED BY '";
|
1787
|
-
|
1788
|
-
// in $sql_query which will be displayed, hide the password
|
1789
|
-
$sql_query = $query_prefix . "*'";
|
1790
|
-
|
1791
|
-
$local_query = $query_prefix
|
1792
|
-
. PMA_Util::sqlAddSlashes($_POST['pma_pw']) . "'";
|
1793
|
-
} else {
|
1794
|
-
$hashing_function
|
1795
|
-
= (! empty($_REQUEST['pw_hash']) && $_REQUEST['pw_hash'] == 'old'
|
1796
|
-
? 'OLD_'
|
1797
|
-
: ''
|
1798
|
-
)
|
1799
|
-
. 'PASSWORD';
|
1800
|
-
|
1801
|
-
$sql_query = 'SET PASSWORD FOR \''
|
1802
|
-
. PMA_Util::sqlAddSlashes($username)
|
1803
|
-
. '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\' = '
|
1804
|
-
. (($_POST['pma_pw'] == '')
|
1805
|
-
? '\'\''
|
1806
|
-
: $hashing_function . '(\''
|
1807
|
-
. preg_replace('@.@s', '*', $_POST['pma_pw']) . '\')');
|
1808
|
-
|
1809
|
-
$local_query = 'SET PASSWORD FOR \''
|
1810
|
-
. PMA_Util::sqlAddSlashes($username)
|
1811
|
-
. '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\' = '
|
1812
|
-
. (($_POST['pma_pw'] == '') ? '\'\'' : $hashing_function
|
1813
|
-
. '(\'' . PMA_Util::sqlAddSlashes($_POST['pma_pw']) . '\')');
|
1814
|
-
}
|
1815
|
-
|
1816
|
-
$GLOBALS['dbi']->tryQuery($local_query)
|
1817
|
-
or PMA_Util::mysqlDie(
|
1818
|
-
$GLOBALS['dbi']->getError(), $sql_query, false, $err_url
|
1819
|
-
);
|
1820
|
-
$message = PMA_Message::success(
|
1821
|
-
__('The password for %s was changed successfully.')
|
1822
|
-
);
|
1823
|
-
$message->addParam(
|
1824
|
-
'\'' . htmlspecialchars($username)
|
1825
|
-
. '\'@\'' . htmlspecialchars($hostname) . '\''
|
1826
|
-
);
|
1827
|
-
}
|
1828
|
-
return $message;
|
1829
|
-
}
|
1830
|
-
|
1831
|
-
/**
|
1832
|
-
* Revokes privileges and get message and SQL query for privileges revokes
|
1833
|
-
*
|
1834
|
-
* @param string $dbname database name
|
1835
|
-
* @param string $tablename table name
|
1836
|
-
* @param string $username username
|
1837
|
-
* @param string $hostname host name
|
1838
|
-
*
|
1839
|
-
* @return array ($message, $sql_query)
|
1840
|
-
*/
|
1841
|
-
function PMA_getMessageAndSqlQueryForPrivilegesRevoke($dbname,
|
1842
|
-
$tablename, $username, $hostname
|
1843
|
-
) {
|
1844
|
-
$db_and_table = PMA_wildcardEscapeForGrant($dbname, $tablename);
|
1845
|
-
|
1846
|
-
$sql_query0 = 'REVOKE ALL PRIVILEGES ON ' . $db_and_table
|
1847
|
-
. ' FROM \''
|
1848
|
-
. PMA_Util::sqlAddSlashes($username) . '\'@\''
|
1849
|
-
. PMA_Util::sqlAddSlashes($hostname) . '\';';
|
1850
|
-
|
1851
|
-
$sql_query1 = 'REVOKE GRANT OPTION ON ' . $db_and_table
|
1852
|
-
. ' FROM \'' . PMA_Util::sqlAddSlashes($username) . '\'@\''
|
1853
|
-
. PMA_Util::sqlAddSlashes($hostname) . '\';';
|
1854
|
-
|
1855
|
-
$GLOBALS['dbi']->query($sql_query0);
|
1856
|
-
if (! $GLOBALS['dbi']->tryQuery($sql_query1)) {
|
1857
|
-
// this one may fail, too...
|
1858
|
-
$sql_query1 = '';
|
1859
|
-
}
|
1860
|
-
$sql_query = $sql_query0 . ' ' . $sql_query1;
|
1861
|
-
$message = PMA_Message::success(
|
1862
|
-
__('You have revoked the privileges for %s.')
|
1863
|
-
);
|
1864
|
-
$message->addParam(
|
1865
|
-
'\'' . htmlspecialchars($username)
|
1866
|
-
. '\'@\'' . htmlspecialchars($hostname) . '\''
|
1867
|
-
);
|
1868
|
-
|
1869
|
-
return array($message, $sql_query);
|
1870
|
-
}
|
1871
|
-
|
1872
|
-
/**
|
1873
|
-
* Get REQUIRE cluase
|
1874
|
-
*
|
1875
|
-
* @return stirng REQUIRE clause
|
1876
|
-
*/
|
1877
|
-
function PMA_getRequireClause()
|
1878
|
-
{
|
1879
|
-
$require_clause = "";
|
1880
|
-
if (isset($_POST['SSL_priv']) && $_POST['SSL_priv'] == 'Y') {
|
1881
|
-
if (isset($_POST['ssl_type']) && $_POST['ssl_type'] == 'specified') {
|
1882
|
-
$require = array();
|
1883
|
-
if (! empty($_POST['ssl_cipher'])) {
|
1884
|
-
$require[] = "CIPHER '"
|
1885
|
-
. PMA_Util::sqlAddSlashes($_POST['ssl_cipher']) . "'";
|
1886
|
-
}
|
1887
|
-
if (! empty($_POST['x509_issuer'])) {
|
1888
|
-
$require[] = "ISSUER '"
|
1889
|
-
. PMA_Util::sqlAddSlashes($_POST['x509_issuer']) . "'";
|
1890
|
-
}
|
1891
|
-
if (! empty($_POST['x509_subject'])) {
|
1892
|
-
$require[] = "SUBJECT '"
|
1893
|
-
. PMA_Util::sqlAddSlashes($_POST['x509_subject']) . "'";
|
1894
|
-
}
|
1895
|
-
if (count($require)) {
|
1896
|
-
$require_clause = " REQUIRE " . implode(" AND ", $require);
|
1897
|
-
} else {
|
1898
|
-
$require_clause = " REQUIRE NONE";
|
1899
|
-
}
|
1900
|
-
} elseif (isset($_POST['ssl_type']) && $_POST['ssl_type'] == 'X509') {
|
1901
|
-
$require_clause = " REQUIRE X509";
|
1902
|
-
} elseif (isset($_POST['ssl_type']) && $_POST['ssl_type'] == 'ANY') {
|
1903
|
-
$require_clause = " REQUIRE SSL";
|
1904
|
-
}
|
1905
|
-
} else {
|
1906
|
-
$require_clause = " REQUIRE NONE";
|
1907
|
-
}
|
1908
|
-
|
1909
|
-
return $require_clause;
|
1910
|
-
}
|
1911
|
-
|
1912
|
-
/**
|
1913
|
-
* Get a WITH clause for 'update privileges' and 'add user'
|
1914
|
-
*
|
1915
|
-
* @return string $sql_query
|
1916
|
-
*/
|
1917
|
-
function PMA_getWithClauseForAddUserAndUpdatePrivs()
|
1918
|
-
{
|
1919
|
-
$sql_query = '';
|
1920
|
-
if (isset($_POST['Grant_priv']) && $_POST['Grant_priv'] == 'Y') {
|
1921
|
-
$sql_query .= ' GRANT OPTION';
|
1922
|
-
}
|
1923
|
-
if (isset($_POST['max_questions'])) {
|
1924
|
-
$max_questions = max(0, (int)$_POST['max_questions']);
|
1925
|
-
$sql_query .= ' MAX_QUERIES_PER_HOUR ' . $max_questions;
|
1926
|
-
}
|
1927
|
-
if (isset($_POST['max_connections'])) {
|
1928
|
-
$max_connections = max(0, (int)$_POST['max_connections']);
|
1929
|
-
$sql_query .= ' MAX_CONNECTIONS_PER_HOUR ' . $max_connections;
|
1930
|
-
}
|
1931
|
-
if (isset($_POST['max_updates'])) {
|
1932
|
-
$max_updates = max(0, (int)$_POST['max_updates']);
|
1933
|
-
$sql_query .= ' MAX_UPDATES_PER_HOUR ' . $max_updates;
|
1934
|
-
}
|
1935
|
-
if (isset($_POST['max_user_connections'])) {
|
1936
|
-
$max_user_connections = max(0, (int)$_POST['max_user_connections']);
|
1937
|
-
$sql_query .= ' MAX_USER_CONNECTIONS ' . $max_user_connections;
|
1938
|
-
}
|
1939
|
-
return ((!empty($sql_query)) ? ' WITH' . $sql_query : '');
|
1940
|
-
}
|
1941
|
-
|
1942
|
-
/**
|
1943
|
-
* Get HTML for addUsersForm, This function call if isset($_REQUEST['adduser'])
|
1944
|
-
*
|
1945
|
-
* @param string $dbname database name
|
1946
|
-
*
|
1947
|
-
* @return string HTML for addUserForm
|
1948
|
-
*/
|
1949
|
-
function PMA_getHtmlForAddUser($dbname)
|
1950
|
-
{
|
1951
|
-
$html_output = '<h2>' . "\n"
|
1952
|
-
. PMA_Util::getIcon('b_usradd.png') . __('Add user') . "\n"
|
1953
|
-
. '</h2>' . "\n"
|
1954
|
-
. '<form name="usersForm" id="addUsersForm"'
|
1955
|
-
. ' onsubmit="return checkAddUser(this);"'
|
1956
|
-
. ' action="server_privileges.php" method="post" autocomplete="off" >' . "\n"
|
1957
|
-
. PMA_URL_getHiddenInputs('', '')
|
1958
|
-
. PMA_getHtmlForLoginInformationFields('new');
|
1959
|
-
|
1960
|
-
$html_output .= '<fieldset id="fieldset_add_user_database">' . "\n"
|
1961
|
-
. '<legend>' . __('Database for user') . '</legend>' . "\n";
|
1962
|
-
|
1963
|
-
$html_output .= PMA_Util::getCheckbox(
|
1964
|
-
'createdb-1',
|
1965
|
-
__('Create database with same name and grant all privileges.'),
|
1966
|
-
false, false, 'createdb-1'
|
1967
|
-
);
|
1968
|
-
$html_output .= '<br />' . "\n";
|
1969
|
-
$html_output .= PMA_Util::getCheckbox(
|
1970
|
-
'createdb-2',
|
1971
|
-
__('Grant all privileges on wildcard name (username\\_%).'),
|
1972
|
-
false, false, 'createdb-2'
|
1973
|
-
);
|
1974
|
-
$html_output .= '<br />' . "\n";
|
1975
|
-
|
1976
|
-
if (! empty($dbname) ) {
|
1977
|
-
$html_output .= PMA_Util::getCheckbox(
|
1978
|
-
'createdb-3',
|
1979
|
-
sprintf(
|
1980
|
-
__('Grant all privileges on database "%s".'),
|
1981
|
-
htmlspecialchars($dbname)
|
1982
|
-
),
|
1983
|
-
true,
|
1984
|
-
false,
|
1985
|
-
'createdb-3'
|
1986
|
-
);
|
1987
|
-
$html_output .= '<input type="hidden" name="dbname" value="'
|
1988
|
-
. htmlspecialchars($dbname) . '" />' . "\n";
|
1989
|
-
$html_output .= '<br />' . "\n";
|
1990
|
-
}
|
1991
|
-
|
1992
|
-
$html_output .= '</fieldset>' . "\n";
|
1993
|
-
if ($GLOBALS['is_grantuser']) {
|
1994
|
-
$html_output .= PMA_getHtmlToDisplayPrivilegesTable('*', '*', false);
|
1995
|
-
}
|
1996
|
-
$html_output .= '<fieldset id="fieldset_add_user_footer" class="tblFooters">'
|
1997
|
-
. "\n"
|
1998
|
-
. '<input type="hidden" name="adduser_submit" value="1" />' . "\n"
|
1999
|
-
. '<input type="submit" id="adduser_submit" value="' . __('Go') . '" />'
|
2000
|
-
. "\n"
|
2001
|
-
. '</fieldset>' . "\n"
|
2002
|
-
. '</form>' . "\n";
|
2003
|
-
|
2004
|
-
return $html_output;
|
2005
|
-
}
|
2006
|
-
|
2007
|
-
/**
|
2008
|
-
* Get the list of privileges and list of compared privileges as strings
|
2009
|
-
* and return a array that contains both strings
|
2010
|
-
*
|
2011
|
-
* @return array $list_of_privileges, $list_of_compared_privileges
|
2012
|
-
*/
|
2013
|
-
function PMA_getListOfPrivilegesAndComparedPrivileges()
|
2014
|
-
{
|
2015
|
-
$list_of_privileges
|
2016
|
-
= '`User`, '
|
2017
|
-
. '`Host`, '
|
2018
|
-
. '`Select_priv`, '
|
2019
|
-
. '`Insert_priv`, '
|
2020
|
-
. '`Update_priv`, '
|
2021
|
-
. '`Delete_priv`, '
|
2022
|
-
. '`Create_priv`, '
|
2023
|
-
. '`Drop_priv`, '
|
2024
|
-
. '`Grant_priv`, '
|
2025
|
-
. '`Index_priv`, '
|
2026
|
-
. '`Alter_priv`, '
|
2027
|
-
. '`References_priv`, '
|
2028
|
-
. '`Create_tmp_table_priv`, '
|
2029
|
-
. '`Lock_tables_priv`, '
|
2030
|
-
. '`Create_view_priv`, '
|
2031
|
-
. '`Show_view_priv`, '
|
2032
|
-
. '`Create_routine_priv`, '
|
2033
|
-
. '`Alter_routine_priv`, '
|
2034
|
-
. '`Execute_priv`';
|
2035
|
-
|
2036
|
-
$listOfComparedPrivs
|
2037
|
-
= '`Select_priv` = \'N\''
|
2038
|
-
. ' AND `Insert_priv` = \'N\''
|
2039
|
-
. ' AND `Update_priv` = \'N\''
|
2040
|
-
. ' AND `Delete_priv` = \'N\''
|
2041
|
-
. ' AND `Create_priv` = \'N\''
|
2042
|
-
. ' AND `Drop_priv` = \'N\''
|
2043
|
-
. ' AND `Grant_priv` = \'N\''
|
2044
|
-
. ' AND `References_priv` = \'N\''
|
2045
|
-
. ' AND `Create_tmp_table_priv` = \'N\''
|
2046
|
-
. ' AND `Lock_tables_priv` = \'N\''
|
2047
|
-
. ' AND `Create_view_priv` = \'N\''
|
2048
|
-
. ' AND `Show_view_priv` = \'N\''
|
2049
|
-
. ' AND `Create_routine_priv` = \'N\''
|
2050
|
-
. ' AND `Alter_routine_priv` = \'N\''
|
2051
|
-
. ' AND `Execute_priv` = \'N\'';
|
2052
|
-
|
2053
|
-
$list_of_privileges .=
|
2054
|
-
', `Event_priv`, '
|
2055
|
-
. '`Trigger_priv`';
|
2056
|
-
$listOfComparedPrivs .=
|
2057
|
-
' AND `Event_priv` = \'N\''
|
2058
|
-
. ' AND `Trigger_priv` = \'N\'';
|
2059
|
-
return array($list_of_privileges, $listOfComparedPrivs);
|
2060
|
-
}
|
2061
|
-
|
2062
|
-
/**
|
2063
|
-
* Get the HTML for user form and check the privileges for a particular database.
|
2064
|
-
*
|
2065
|
-
* @param string $db database name
|
2066
|
-
*
|
2067
|
-
* @return string $html_output
|
2068
|
-
*/
|
2069
|
-
function PMA_getHtmlForSpecificDbPrivileges($db)
|
2070
|
-
{
|
2071
|
-
$html_output = '';
|
2072
|
-
if ($GLOBALS['is_superuser']) {
|
2073
|
-
// check the privileges for a particular database.
|
2074
|
-
$html_output = '<form id="usersForm" action="server_privileges.php">';
|
2075
|
-
$html_output .= PMA_URL_getHiddenInputs($db);
|
2076
|
-
$html_output .= '<fieldset>';
|
2077
|
-
$html_output .= '<legend>' . "\n"
|
2078
|
-
. PMA_Util::getIcon('b_usrcheck.png')
|
2079
|
-
. ' '
|
2080
|
-
. sprintf(
|
2081
|
-
__('Users having access to "%s"'),
|
2082
|
-
'<a href="' . $GLOBALS['cfg']['DefaultTabDatabase']
|
2083
|
-
. PMA_URL_getCommon(array('db' => $db)) . '">'
|
2084
|
-
. htmlspecialchars($db)
|
2085
|
-
. '</a>'
|
2086
|
-
)
|
2087
|
-
. "\n"
|
2088
|
-
. '</legend>' . "\n";
|
2089
|
-
|
2090
|
-
$html_output .= '<table id="dbspecificuserrights" class="data">';
|
2091
|
-
$html_output .= PMA_getHtmlForPrivsTableHead();
|
2092
|
-
$privMap = PMA_getPrivMap($db);
|
2093
|
-
$html_output .= PMA_getHtmlTableBodyForSpecificDbOrTablePrivs($privMap, $db);
|
2094
|
-
$html_output .= '</table>';
|
2095
|
-
|
2096
|
-
$html_output .= '<div style="float:left;">';
|
2097
|
-
$html_output .= PMA_Util::getWithSelected(
|
2098
|
-
$GLOBALS['pmaThemeImage'], $GLOBALS['text_dir'], "usersForm"
|
2099
|
-
);
|
2100
|
-
$html_output .= PMA_Util::getButtonOrImage(
|
2101
|
-
'submit_mult', 'mult_submit', 'submit_mult_export',
|
2102
|
-
__('Export'), 'b_tblexport.png', 'export'
|
2103
|
-
);
|
2104
|
-
|
2105
|
-
$html_output .= '</fieldset>';
|
2106
|
-
$html_output .= '</form>';
|
2107
|
-
} else {
|
2108
|
-
$html_output .= PMA_getHtmlForViewUsersError();
|
2109
|
-
}
|
2110
|
-
|
2111
|
-
if ($GLOBALS['is_ajax_request'] == true
|
2112
|
-
&& empty($_REQUEST['ajax_page_request'])
|
2113
|
-
) {
|
2114
|
-
$message = PMA_Message::success(__('User has been added.'));
|
2115
|
-
$response = PMA_Response::getInstance();
|
2116
|
-
$response->addJSON('message', $message);
|
2117
|
-
$response->addJSON('user_form', $html_output);
|
2118
|
-
exit;
|
2119
|
-
} else {
|
2120
|
-
// Offer to create a new user for the current database
|
2121
|
-
$html_output .= PMA_getAddUserHtmlFieldset($db);
|
2122
|
-
}
|
2123
|
-
return $html_output;
|
2124
|
-
}
|
2125
|
-
|
2126
|
-
/**
|
2127
|
-
* Get the HTML for user form and check the privileges for a particular table.
|
2128
|
-
*
|
2129
|
-
* @param string $db database name
|
2130
|
-
* @param string $table table name
|
2131
|
-
*
|
2132
|
-
* @return string $html_output
|
2133
|
-
*/
|
2134
|
-
function PMA_getHtmlForSpecificTablePrivileges($db, $table)
|
2135
|
-
{
|
2136
|
-
$html_output = '';
|
2137
|
-
if ($GLOBALS['is_superuser']) {
|
2138
|
-
// check the privileges for a particular table.
|
2139
|
-
$html_output = '<form id="usersForm" action="server_privileges.php">';
|
2140
|
-
$html_output .= PMA_URL_getHiddenInputs($db, $table);
|
2141
|
-
$html_output .= '<fieldset>';
|
2142
|
-
$html_output .= '<legend>'
|
2143
|
-
. PMA_Util::getIcon('b_usrcheck.png')
|
2144
|
-
. sprintf(
|
2145
|
-
__('Users having access to "%s"'),
|
2146
|
-
'<a href="' . $GLOBALS['cfg']['DefaultTabTable']
|
2147
|
-
. PMA_URL_getCommon(
|
2148
|
-
array(
|
2149
|
-
'db' => $db,
|
2150
|
-
'table' => $table,
|
2151
|
-
)
|
2152
|
-
) . '">'
|
2153
|
-
. htmlspecialchars($db) . '.' . htmlspecialchars($table)
|
2154
|
-
. '</a>'
|
2155
|
-
)
|
2156
|
-
. '</legend>';
|
2157
|
-
|
2158
|
-
$html_output .= '<table id="tablespecificuserrights" class="data">';
|
2159
|
-
$html_output .= PMA_getHtmlForPrivsTableHead();
|
2160
|
-
$privMap = PMA_getPrivMap($db);
|
2161
|
-
$sql_query = "SELECT `User`, `Host`, `Db`,"
|
2162
|
-
. " 't' AS `Type`, `Table_name`, `Table_priv`"
|
2163
|
-
. " FROM `mysql`.`tables_priv`"
|
2164
|
-
. " WHERE '" . PMA_Util::sqlAddSlashes($db) . "' LIKE `Db`"
|
2165
|
-
. " AND '" . PMA_Util::sqlAddSlashes($table) . "' LIKE `Table_name`"
|
2166
|
-
. " AND NOT (`Table_priv` = '' AND Column_priv = '')"
|
2167
|
-
. " ORDER BY `User` ASC, `Host` ASC, `Db` ASC, `Table_priv` ASC;";
|
2168
|
-
$res = $GLOBALS['dbi']->query($sql_query);
|
2169
|
-
PMA_mergePrivMapFromResult($privMap, $res);
|
2170
|
-
$html_output .= PMA_getHtmlTableBodyForSpecificDbOrTablePrivs($privMap, $db);
|
2171
|
-
$html_output .= '</table>';
|
2172
|
-
|
2173
|
-
$html_output .= '<div style="float:left;">';
|
2174
|
-
$html_output .= PMA_Util::getWithSelected(
|
2175
|
-
$GLOBALS['pmaThemeImage'], $GLOBALS['text_dir'], "usersForm"
|
2176
|
-
);
|
2177
|
-
$html_output .= PMA_Util::getButtonOrImage(
|
2178
|
-
'submit_mult', 'mult_submit', 'submit_mult_export',
|
2179
|
-
__('Export'), 'b_tblexport.png', 'export'
|
2180
|
-
);
|
2181
|
-
|
2182
|
-
$html_output .= '</fieldset>';
|
2183
|
-
$html_output .= '</form>';
|
2184
|
-
} else {
|
2185
|
-
$html_output .= PMA_getHtmlForViewUsersError();
|
2186
|
-
}
|
2187
|
-
// Offer to create a new user for the current database
|
2188
|
-
$html_output .= PMA_getAddUserHtmlFieldset($db, $table);
|
2189
|
-
return $html_output;
|
2190
|
-
}
|
2191
|
-
|
2192
|
-
/**
|
2193
|
-
* gets privilege map
|
2194
|
-
*
|
2195
|
-
* @param string $db the database
|
2196
|
-
*
|
2197
|
-
* @return array $privMap the privilege map
|
2198
|
-
*/
|
2199
|
-
function PMA_getPrivMap($db)
|
2200
|
-
{
|
2201
|
-
list($listOfPrivs, $listOfComparedPrivs)
|
2202
|
-
= PMA_getListOfPrivilegesAndComparedPrivileges();
|
2203
|
-
$sql_query
|
2204
|
-
= "("
|
2205
|
-
. " SELECT " . $listOfPrivs . ", '*' AS `Db`, 'g' AS `Type`"
|
2206
|
-
. " FROM `mysql`.`user`"
|
2207
|
-
. " WHERE NOT (" . $listOfComparedPrivs . ")"
|
2208
|
-
. ")"
|
2209
|
-
. " UNION "
|
2210
|
-
. "("
|
2211
|
-
. " SELECT " . $listOfPrivs . ", `Db`, 'd' AS `Type`"
|
2212
|
-
. " FROM `mysql`.`db`"
|
2213
|
-
. " WHERE '" . PMA_Util::sqlAddSlashes($db) . "' LIKE `Db`"
|
2214
|
-
. " AND NOT (" . $listOfComparedPrivs . ")"
|
2215
|
-
. ")"
|
2216
|
-
. " ORDER BY `User` ASC, `Host` ASC, `Db` ASC;";
|
2217
|
-
$res = $GLOBALS['dbi']->query($sql_query);
|
2218
|
-
$privMap = array();
|
2219
|
-
PMA_mergePrivMapFromResult($privMap, $res);
|
2220
|
-
return $privMap;
|
2221
|
-
}
|
2222
|
-
|
2223
|
-
/**
|
2224
|
-
* merge privilege map and rows from resultset
|
2225
|
-
*
|
2226
|
-
* @param array &$privMap the privilege map reference
|
2227
|
-
* @param object $result the resultset of query
|
2228
|
-
*
|
2229
|
-
* @return void
|
2230
|
-
*/
|
2231
|
-
function PMA_mergePrivMapFromResult(&$privMap, $result)
|
2232
|
-
{
|
2233
|
-
while ($row = $GLOBALS['dbi']->fetchAssoc($result)) {
|
2234
|
-
$user = $row['User'];
|
2235
|
-
$host = $row['Host'];
|
2236
|
-
if (! isset($privMap[$user])) {
|
2237
|
-
$privMap[$user] = array();
|
2238
|
-
}
|
2239
|
-
if (! isset($privMap[$user][$host])) {
|
2240
|
-
$privMap[$user][$host] = array();
|
2241
|
-
}
|
2242
|
-
$privMap[$user][$host][] = $row;
|
2243
|
-
}
|
2244
|
-
}
|
2245
|
-
|
2246
|
-
/**
|
2247
|
-
* Get HTML snippet for privileges table head
|
2248
|
-
*
|
2249
|
-
* @return string $html_output
|
2250
|
-
*/
|
2251
|
-
function PMA_getHtmlForPrivsTableHead()
|
2252
|
-
{
|
2253
|
-
return '<thead>'
|
2254
|
-
. '<tr>'
|
2255
|
-
. '<th></th>'
|
2256
|
-
. '<th>' . __('User') . '</th>'
|
2257
|
-
. '<th>' . __('Host') . '</th>'
|
2258
|
-
. '<th>' . __('Type') . '</th>'
|
2259
|
-
. '<th>' . __('Privileges') . '</th>'
|
2260
|
-
. '<th>' . __('Grant') . '</th>'
|
2261
|
-
. '<th>' . __('Action') . '</th>'
|
2262
|
-
. '</tr>'
|
2263
|
-
. '</thead>';
|
2264
|
-
}
|
2265
|
-
|
2266
|
-
/**
|
2267
|
-
* Get HTML error for View Users form
|
2268
|
-
* For non superusers such as grant/create users
|
2269
|
-
*
|
2270
|
-
* @return string $html_output
|
2271
|
-
*/
|
2272
|
-
function PMA_getHtmlForViewUsersError()
|
2273
|
-
{
|
2274
|
-
return PMA_Message::error(
|
2275
|
-
__('Not enough privilege to view users.')
|
2276
|
-
)->getDisplay();
|
2277
|
-
}
|
2278
|
-
|
2279
|
-
/**
|
2280
|
-
* Get HTML snippet for table body of specific database or table privileges
|
2281
|
-
*
|
2282
|
-
* @param array $privMap privilege map
|
2283
|
-
* @param string $db database
|
2284
|
-
*
|
2285
|
-
* @return string $html_output
|
2286
|
-
*/
|
2287
|
-
function PMA_getHtmlTableBodyForSpecificDbOrTablePrivs($privMap, $db)
|
2288
|
-
{
|
2289
|
-
$html_output = '<tbody>';
|
2290
|
-
$index_checkbox = 0;
|
2291
|
-
$odd_row = true;
|
2292
|
-
if (empty($privMap)) {
|
2293
|
-
$html_output .= '<tr class="odd">'
|
2294
|
-
. '<td colspan="6">'
|
2295
|
-
. __('No user found.')
|
2296
|
-
. '</td>'
|
2297
|
-
. '</tr>'
|
2298
|
-
. '</tbody>';
|
2299
|
-
return $html_output;
|
2300
|
-
}
|
2301
|
-
|
2302
|
-
foreach ($privMap as $current_user => $val) {
|
2303
|
-
foreach ($val as $current_host => $current_privileges) {
|
2304
|
-
$nbPrivileges = count($current_privileges);
|
2305
|
-
$html_output .= '<tr class="noclick '
|
2306
|
-
. ($odd_row ? 'odd' : 'even') . '">';
|
2307
|
-
|
2308
|
-
$value = htmlspecialchars($current_user . '&#27;' . $current_host);
|
2309
|
-
$html_output .= '<td';
|
2310
|
-
if ($nbPrivileges > 1) {
|
2311
|
-
$html_output .= ' rowspan="' . $nbPrivileges . '"';
|
2312
|
-
}
|
2313
|
-
$html_output .= '>';
|
2314
|
-
$html_output .= '<input type="checkbox" class="checkall" name="selected_usr[]" '
|
2315
|
-
. 'id="checkbox_sel_users_' . ($index_checkbox++) . '" '
|
2316
|
-
. 'value="' . $value . '" /></td>' . "\n";
|
2317
|
-
|
2318
|
-
// user
|
2319
|
-
$html_output .= '<td';
|
2320
|
-
if ($nbPrivileges > 1) {
|
2321
|
-
$html_output .= ' rowspan="' . $nbPrivileges . '"';
|
2322
|
-
}
|
2323
|
-
$html_output .= '>';
|
2324
|
-
if (empty($current_user)) {
|
2325
|
-
$html_output .= '<span style="color: #FF0000">'
|
2326
|
-
. __('Any') . '</span>';
|
2327
|
-
} else {
|
2328
|
-
$html_output .= htmlspecialchars($current_user);
|
2329
|
-
}
|
2330
|
-
$html_output .= '</td>';
|
2331
|
-
|
2332
|
-
// host
|
2333
|
-
$html_output .= '<td';
|
2334
|
-
if ($nbPrivileges > 1) {
|
2335
|
-
$html_output .= ' rowspan="' . $nbPrivileges . '"';
|
2336
|
-
}
|
2337
|
-
$html_output .= '>';
|
2338
|
-
$html_output .= htmlspecialchars($current_host);
|
2339
|
-
$html_output .= '</td>';
|
2340
|
-
|
2341
|
-
$html_output .= PMA_getHtmlListOfPrivs(
|
2342
|
-
$db, $current_privileges, $current_user,
|
2343
|
-
$current_host, $odd_row
|
2344
|
-
);
|
2345
|
-
|
2346
|
-
$odd_row = ! $odd_row;
|
2347
|
-
}
|
2348
|
-
}
|
2349
|
-
$html_output .= '</tbody>';
|
2350
|
-
|
2351
|
-
return $html_output;
|
2352
|
-
}
|
2353
|
-
|
2354
|
-
/**
|
2355
|
-
* Get HTML to display privileges
|
2356
|
-
*
|
2357
|
-
* @param string $db Database name
|
2358
|
-
* @param array $current_privileges List of privileges
|
2359
|
-
* @param string $current_user Current user
|
2360
|
-
* @param string $current_host Current host
|
2361
|
-
* @param boolean $odd_row Current row is odd
|
2362
|
-
*
|
2363
|
-
* @return string HTML to display privileges
|
2364
|
-
*/
|
2365
|
-
function PMA_getHtmlListOfPrivs(
|
2366
|
-
$db, $current_privileges, $current_user,
|
2367
|
-
$current_host, $odd_row
|
2368
|
-
) {
|
2369
|
-
$nbPrivileges = count($current_privileges);
|
2370
|
-
$html_output = null;
|
2371
|
-
for ($i = 0; $i < $nbPrivileges; $i++) {
|
2372
|
-
$current = $current_privileges[$i];
|
2373
|
-
|
2374
|
-
// type
|
2375
|
-
$html_output .= '<td>';
|
2376
|
-
if ($current['Type'] == 'g') {
|
2377
|
-
$html_output .= __('global');
|
2378
|
-
} elseif ($current['Type'] == 'd') {
|
2379
|
-
if ($current['Db'] == PMA_Util::escapeMysqlWildcards($db)) {
|
2380
|
-
$html_output .= __('database-specific');
|
2381
|
-
} else {
|
2382
|
-
$html_output .= __('wildcard') . ': '
|
2383
|
-
. '<code>'
|
2384
|
-
. htmlspecialchars($current['Db'])
|
2385
|
-
. '</code>';
|
2386
|
-
}
|
2387
|
-
} elseif ($current['Type'] == 't') {
|
2388
|
-
$html_output .= __('table-specific');
|
2389
|
-
}
|
2390
|
-
$html_output .= '</td>';
|
2391
|
-
|
2392
|
-
// privileges
|
2393
|
-
$html_output .= '<td>';
|
2394
|
-
if (isset($current['Table_name'])) {
|
2395
|
-
$privList = explode(',', $current['Table_priv']);
|
2396
|
-
$privs = array();
|
2397
|
-
$grantsArr = PMA_getTableGrantsArray();
|
2398
|
-
foreach ($grantsArr as $grant) {
|
2399
|
-
$privs[$grant[0]] = 'N';
|
2400
|
-
foreach ($privList as $priv) {
|
2401
|
-
if ($grant[0] == $priv) {
|
2402
|
-
$privs[$grant[0]] = 'Y';
|
2403
|
-
}
|
2404
|
-
}
|
2405
|
-
}
|
2406
|
-
$html_output .= '<code>'
|
2407
|
-
. join(
|
2408
|
-
',',
|
2409
|
-
PMA_extractPrivInfo($privs, true, true)
|
2410
|
-
)
|
2411
|
-
. '</code>';
|
2412
|
-
} else {
|
2413
|
-
$html_output .= '<code>'
|
2414
|
-
. join(
|
2415
|
-
',',
|
2416
|
-
PMA_extractPrivInfo($current, true, false)
|
2417
|
-
)
|
2418
|
-
. '</code>';
|
2419
|
-
}
|
2420
|
-
$html_output .= '</td>';
|
2421
|
-
|
2422
|
-
// grant
|
2423
|
-
$html_output .= '<td>';
|
2424
|
-
$containsGrant = false;
|
2425
|
-
if (isset($current['Table_name'])) {
|
2426
|
-
$privList = explode(',', $current['Table_priv']);
|
2427
|
-
foreach ($privList as $priv) {
|
2428
|
-
if ($priv == 'Grant') {
|
2429
|
-
$containsGrant = true;
|
2430
|
-
}
|
2431
|
-
}
|
2432
|
-
} else {
|
2433
|
-
$containsGrant = $current['Grant_priv'] == 'Y';
|
2434
|
-
}
|
2435
|
-
$html_output .= ($containsGrant ? __('Yes') : __('No'));
|
2436
|
-
$html_output .= '</td>';
|
2437
|
-
|
2438
|
-
// action
|
2439
|
-
$html_output .= '<td>';
|
2440
|
-
if ($GLOBALS['is_grantuser']) {
|
2441
|
-
$specific_db = (isset($current['Db']) && $current['Db'] != '*')
|
2442
|
-
? $current['Db'] : '';
|
2443
|
-
$specific_table = (isset($current['Table_name'])
|
2444
|
-
&& $current['Table_name'] != '*')
|
2445
|
-
? $current['Table_name'] : '';
|
2446
|
-
$html_output .= PMA_getUserLink(
|
2447
|
-
'edit',
|
2448
|
-
$current_user,
|
2449
|
-
$current_host,
|
2450
|
-
$specific_db,
|
2451
|
-
$specific_table
|
2452
|
-
);
|
2453
|
-
}
|
2454
|
-
$html_output .= '</td>';
|
2455
|
-
|
2456
|
-
$html_output .= '</tr>';
|
2457
|
-
if (($i + 1) < $nbPrivileges) {
|
2458
|
-
$html_output .= '<tr class="noclick '
|
2459
|
-
. ($odd_row ? 'odd' : 'even') . '">';
|
2460
|
-
}
|
2461
|
-
}
|
2462
|
-
return $html_output;
|
2463
|
-
}
|
2464
|
-
|
2465
|
-
/**
|
2466
|
-
* Returns edit, revoke or export link for a user.
|
2467
|
-
*
|
2468
|
-
* @param string $linktype The link type (edit | revoke | export)
|
2469
|
-
* @param string $username User name
|
2470
|
-
* @param string $hostname Host name
|
2471
|
-
* @param string $dbname Database name
|
2472
|
-
* @param string $tablename Table name
|
2473
|
-
* @param string $initial Initial value
|
2474
|
-
*
|
2475
|
-
* @return string HTML code with link
|
2476
|
-
*/
|
2477
|
-
function PMA_getUserLink(
|
2478
|
-
$linktype, $username, $hostname, $dbname = '', $tablename = '', $initial = ''
|
2479
|
-
) {
|
2480
|
-
$html = '<a';
|
2481
|
-
switch($linktype) {
|
2482
|
-
case 'edit':
|
2483
|
-
$html .= ' class="edit_user_anchor"';
|
2484
|
-
break;
|
2485
|
-
case 'export':
|
2486
|
-
$html .= ' class="export_user_anchor ajax"';
|
2487
|
-
break;
|
2488
|
-
}
|
2489
|
-
$params = array(
|
2490
|
-
'username' => $username,
|
2491
|
-
'hostname' => $hostname
|
2492
|
-
);
|
2493
|
-
switch($linktype) {
|
2494
|
-
case 'edit':
|
2495
|
-
$params['dbname'] = $dbname;
|
2496
|
-
$params['tablename'] = $tablename;
|
2497
|
-
break;
|
2498
|
-
case 'revoke':
|
2499
|
-
$params['dbname'] = $dbname;
|
2500
|
-
$params['tablename'] = $tablename;
|
2501
|
-
$params['revokeall'] = 1;
|
2502
|
-
break;
|
2503
|
-
case 'export':
|
2504
|
-
$params['initial'] = $initial;
|
2505
|
-
$params['export'] = 1;
|
2506
|
-
break;
|
2507
|
-
}
|
2508
|
-
|
2509
|
-
$html .= ' href="server_privileges.php'
|
2510
|
-
. PMA_URL_getCommon($params)
|
2511
|
-
. '">';
|
2512
|
-
|
2513
|
-
switch($linktype) {
|
2514
|
-
case 'edit':
|
2515
|
-
$html .= PMA_Util::getIcon('b_usredit.png', __('Edit Privileges'));
|
2516
|
-
break;
|
2517
|
-
case 'revoke':
|
2518
|
-
$html .= PMA_Util::getIcon('b_usrdrop.png', __('Revoke'));
|
2519
|
-
break;
|
2520
|
-
case 'export':
|
2521
|
-
$html .= PMA_Util::getIcon('b_tblexport.png', __('Export'));
|
2522
|
-
break;
|
2523
|
-
}
|
2524
|
-
$html .= '</a>';
|
2525
|
-
|
2526
|
-
return $html;
|
2527
|
-
}
|
2528
|
-
|
2529
|
-
/**
|
2530
|
-
* Returns user group edit link
|
2531
|
-
*
|
2532
|
-
* @param string $username User name
|
2533
|
-
*
|
2534
|
-
* @return HTML code with link
|
2535
|
-
*/
|
2536
|
-
function PMA_getUserGroupEditLink($username)
|
2537
|
-
{
|
2538
|
-
return '<a class="edit_user_group_anchor ajax"'
|
2539
|
-
. ' href="server_privileges.php'
|
2540
|
-
. PMA_URL_getCommon(array('username' => $username))
|
2541
|
-
. '">'
|
2542
|
-
. PMA_Util::getIcon('b_usrlist.png', __('Edit user group'))
|
2543
|
-
. '</a>';
|
2544
|
-
}
|
2545
|
-
|
2546
|
-
/**
|
2547
|
-
* Returns number of defined user groups
|
2548
|
-
*
|
2549
|
-
* @return integer $user_group_count
|
2550
|
-
*/
|
2551
|
-
function PMA_getUserGroupCount()
|
2552
|
-
{
|
2553
|
-
$cfgRelation = PMA_getRelationsParam();
|
2554
|
-
$user_group_table = PMA_Util::backquote($cfgRelation['db'])
|
2555
|
-
. '.' . PMA_Util::backquote($cfgRelation['usergroups']);
|
2556
|
-
$sql_query = 'SELECT COUNT(*) FROM ' . $user_group_table;
|
2557
|
-
$user_group_count = $GLOBALS['dbi']->fetchValue(
|
2558
|
-
$sql_query, 0, 0, $GLOBALS['controllink']
|
2559
|
-
);
|
2560
|
-
|
2561
|
-
return $user_group_count;
|
2562
|
-
}
|
2563
|
-
|
2564
|
-
/**
|
2565
|
-
* This function return the extra data array for the ajax behavior
|
2566
|
-
*
|
2567
|
-
* @param string $password password
|
2568
|
-
* @param string $sql_query sql query
|
2569
|
-
* @param string $hostname hostname
|
2570
|
-
* @param string $username username
|
2571
|
-
*
|
2572
|
-
* @return array $extra_data
|
2573
|
-
*/
|
2574
|
-
function PMA_getExtraDataForAjaxBehavior(
|
2575
|
-
$password, $sql_query, $hostname, $username
|
2576
|
-
) {
|
2577
|
-
if (isset($GLOBALS['dbname'])) {
|
2578
|
-
//if (preg_match('/\\\\(?:_|%)/i', $dbname)) {
|
2579
|
-
if (preg_match('/(?<!\\\\)(?:_|%)/i', $GLOBALS['dbname'])) {
|
2580
|
-
$dbname_is_wildcard = true;
|
2581
|
-
} else {
|
2582
|
-
$dbname_is_wildcard = false;
|
2583
|
-
}
|
2584
|
-
}
|
2585
|
-
|
2586
|
-
$user_group_count = 0;
|
2587
|
-
if ($GLOBALS['cfgRelation']['menuswork']) {
|
2588
|
-
$user_group_count = PMA_getUserGroupCount();
|
2589
|
-
}
|
2590
|
-
|
2591
|
-
$extra_data = array();
|
2592
|
-
if (/*overload*/mb_strlen($sql_query)) {
|
2593
|
-
$extra_data['sql_query'] = PMA_Util::getMessage(null, $sql_query);
|
2594
|
-
}
|
2595
|
-
|
2596
|
-
if (isset($_REQUEST['change_copy'])) {
|
2597
|
-
/**
|
2598
|
-
* generate html on the fly for the new user that was just created.
|
2599
|
-
*/
|
2600
|
-
$new_user_string = '<tr>' . "\n"
|
2601
|
-
. '<td> <input type="checkbox" name="selected_usr[]" '
|
2602
|
-
. 'id="checkbox_sel_users_"'
|
2603
|
-
. 'value="'
|
2604
|
-
. htmlspecialchars($username)
|
2605
|
-
. '&#27;' . htmlspecialchars($hostname) . '" />'
|
2606
|
-
. '</td>' . "\n"
|
2607
|
-
. '<td><label for="checkbox_sel_users_">'
|
2608
|
-
. (empty($_REQUEST['username'])
|
2609
|
-
? '<span style="color: #FF0000">' . __('Any') . '</span>'
|
2610
|
-
: htmlspecialchars($username) ) . '</label></td>' . "\n"
|
2611
|
-
. '<td>' . htmlspecialchars($hostname) . '</td>' . "\n";
|
2612
|
-
|
2613
|
-
$new_user_string .= '<td>';
|
2614
|
-
|
2615
|
-
if (! empty($password) || isset($_POST['pma_pw'])) {
|
2616
|
-
$new_user_string .= __('Yes');
|
2617
|
-
} else {
|
2618
|
-
$new_user_string .= '<span style="color: #FF0000">'
|
2619
|
-
. __('No')
|
2620
|
-
. '</span>';
|
2621
|
-
};
|
2622
|
-
|
2623
|
-
$new_user_string .= '</td>' . "\n";
|
2624
|
-
$new_user_string .= '<td>'
|
2625
|
-
. '<code>' . join(', ', PMA_extractPrivInfo(null, true)) . '</code>'
|
2626
|
-
. '</td>'; //Fill in privileges here
|
2627
|
-
|
2628
|
-
// if $cfg['Servers'][$i]['users'] and $cfg['Servers'][$i]['usergroups'] are
|
2629
|
-
// enabled
|
2630
|
-
$cfgRelation = PMA_getRelationsParam();
|
2631
|
-
if (isset($cfgRelation['users']) && isset($cfgRelation['usergroups'])) {
|
2632
|
-
$new_user_string .= '<td class="usrGroup"></td>';
|
2633
|
-
}
|
2634
|
-
|
2635
|
-
$new_user_string .= '<td>';
|
2636
|
-
if ((isset($_POST['Grant_priv']) && $_POST['Grant_priv'] == 'Y')) {
|
2637
|
-
$new_user_string .= __('Yes');
|
2638
|
-
} else {
|
2639
|
-
$new_user_string .= __('No');
|
2640
|
-
}
|
2641
|
-
$new_user_string .='</td>';
|
2642
|
-
|
2643
|
-
if ($GLOBALS['is_grantuser']) {
|
2644
|
-
$new_user_string .= '<td>'
|
2645
|
-
. PMA_getUserLink('edit', $username, $hostname)
|
2646
|
-
. '</td>' . "\n";
|
2647
|
-
}
|
2648
|
-
|
2649
|
-
if (isset($cfgRelation['menuswork']) && $user_group_count > 0) {
|
2650
|
-
$new_user_string .= '<td>'
|
2651
|
-
. PMA_getUserGroupEditLink($username)
|
2652
|
-
. '</td>' . "\n";
|
2653
|
-
}
|
2654
|
-
|
2655
|
-
$new_user_string .= '<td>'
|
2656
|
-
. PMA_getUserLink(
|
2657
|
-
'export',
|
2658
|
-
$username,
|
2659
|
-
$hostname,
|
2660
|
-
'',
|
2661
|
-
'',
|
2662
|
-
isset($_GET['initial']) ? $_GET['initial'] : ''
|
2663
|
-
)
|
2664
|
-
. '</td>' . "\n";
|
2665
|
-
|
2666
|
-
$new_user_string .= '</tr>';
|
2667
|
-
|
2668
|
-
$extra_data['new_user_string'] = $new_user_string;
|
2669
|
-
|
2670
|
-
/**
|
2671
|
-
* Generate the string for this alphabet's initial, to update the user
|
2672
|
-
* pagination
|
2673
|
-
*/
|
2674
|
-
$new_user_initial = /*overload*/mb_strtoupper(
|
2675
|
-
/*overload*/mb_substr($username, 0, 1)
|
2676
|
-
);
|
2677
|
-
$newUserInitialString = '<a href="server_privileges.php'
|
2678
|
-
. PMA_URL_getCommon(array('initial' => $new_user_initial)) . '">'
|
2679
|
-
. $new_user_initial . '</a>';
|
2680
|
-
$extra_data['new_user_initial'] = $new_user_initial;
|
2681
|
-
$extra_data['new_user_initial_string'] = $newUserInitialString;
|
2682
|
-
}
|
2683
|
-
|
2684
|
-
if (isset($_POST['update_privs'])) {
|
2685
|
-
$extra_data['db_specific_privs'] = false;
|
2686
|
-
$extra_data['db_wildcard_privs'] = false;
|
2687
|
-
if (isset($dbname_is_wildcard)) {
|
2688
|
-
$extra_data['db_specific_privs'] = ! $dbname_is_wildcard;
|
2689
|
-
$extra_data['db_wildcard_privs'] = $dbname_is_wildcard;
|
2690
|
-
}
|
2691
|
-
$new_privileges = join(', ', PMA_extractPrivInfo(null, true));
|
2692
|
-
|
2693
|
-
$extra_data['new_privileges'] = $new_privileges;
|
2694
|
-
}
|
2695
|
-
|
2696
|
-
if (isset($_REQUEST['validate_username'])) {
|
2697
|
-
$sql_query = "SELECT * FROM `mysql`.`user` WHERE `User` = '"
|
2698
|
-
. $_REQUEST['username'] . "';";
|
2699
|
-
$res = $GLOBALS['dbi']->query($sql_query);
|
2700
|
-
$row = $GLOBALS['dbi']->fetchRow($res);
|
2701
|
-
if (empty($row)) {
|
2702
|
-
$extra_data['user_exists'] = false;
|
2703
|
-
} else {
|
2704
|
-
$extra_data['user_exists'] = true;
|
2705
|
-
}
|
2706
|
-
}
|
2707
|
-
|
2708
|
-
return $extra_data;
|
2709
|
-
}
|
2710
|
-
|
2711
|
-
/**
|
2712
|
-
* Get the HTML snippet for change user login information
|
2713
|
-
*
|
2714
|
-
* @param string $username username
|
2715
|
-
* @param string $hostname host name
|
2716
|
-
*
|
2717
|
-
* @return string HTML snippet
|
2718
|
-
*/
|
2719
|
-
function PMA_getChangeLoginInformationHtmlForm($username, $hostname)
|
2720
|
-
{
|
2721
|
-
$choices = array(
|
2722
|
-
'4' => __('… keep the old one.'),
|
2723
|
-
'1' => __('… delete the old one from the user tables.'),
|
2724
|
-
'2' => __(
|
2725
|
-
'… revoke all active privileges from '
|
2726
|
-
. 'the old one and delete it afterwards.'
|
2727
|
-
),
|
2728
|
-
'3' => __(
|
2729
|
-
'… delete the old one from the user tables '
|
2730
|
-
. 'and reload the privileges afterwards.'
|
2731
|
-
)
|
2732
|
-
);
|
2733
|
-
|
2734
|
-
$html_output = '<form action="server_privileges.php" '
|
2735
|
-
. 'onsubmit="return checkAddUser(this);" '
|
2736
|
-
. 'method="post" class="copyUserForm submenu-item">' . "\n"
|
2737
|
-
. PMA_URL_getHiddenInputs('', '')
|
2738
|
-
. '<input type="hidden" name="old_username" '
|
2739
|
-
. 'value="' . htmlspecialchars($username) . '" />' . "\n"
|
2740
|
-
. '<input type="hidden" name="old_hostname" '
|
2741
|
-
. 'value="' . htmlspecialchars($hostname) . '" />' . "\n"
|
2742
|
-
. '<fieldset id="fieldset_change_copy_user">' . "\n"
|
2743
|
-
. '<legend data-submenu-label="' . __('Login Information') . '">' . "\n"
|
2744
|
-
. __('Change Login Information / Copy User')
|
2745
|
-
. '</legend>' . "\n"
|
2746
|
-
. PMA_getHtmlForLoginInformationFields('change');
|
2747
|
-
|
2748
|
-
$html_output .= '<fieldset id="fieldset_mode">' . "\n"
|
2749
|
-
. ' <legend>'
|
2750
|
-
. __('Create a new user with the same privileges and …')
|
2751
|
-
. '</legend>' . "\n";
|
2752
|
-
$html_output .= PMA_Util::getRadioFields(
|
2753
|
-
'mode', $choices, '4', true
|
2754
|
-
);
|
2755
|
-
$html_output .= '</fieldset>' . "\n"
|
2756
|
-
. '</fieldset>' . "\n";
|
2757
|
-
|
2758
|
-
$html_output .= '<fieldset id="fieldset_change_copy_user_footer" '
|
2759
|
-
. 'class="tblFooters">' . "\n"
|
2760
|
-
. '<input type="hidden" name="change_copy" value="1" />' . "\n"
|
2761
|
-
. '<input type="submit" value="' . __('Go') . '" />' . "\n"
|
2762
|
-
. '</fieldset>' . "\n"
|
2763
|
-
. '</form>' . "\n";
|
2764
|
-
|
2765
|
-
return $html_output;
|
2766
|
-
}
|
2767
|
-
|
2768
|
-
/**
|
2769
|
-
* Provide a line with links to the relevant database and table
|
2770
|
-
*
|
2771
|
-
* @param string $url_dbname url database name that urlencode() string
|
2772
|
-
* @param string $dbname database name
|
2773
|
-
* @param string $tablename table name
|
2774
|
-
*
|
2775
|
-
* @return string HTML snippet
|
2776
|
-
*/
|
2777
|
-
function PMA_getLinkToDbAndTable($url_dbname, $dbname, $tablename)
|
2778
|
-
{
|
2779
|
-
$html_output = '[ ' . __('Database')
|
2780
|
-
. ' <a href="' . $GLOBALS['cfg']['DefaultTabDatabase']
|
2781
|
-
. PMA_URL_getCommon(
|
2782
|
-
array(
|
2783
|
-
'db' => $url_dbname,
|
2784
|
-
'reload' => 1
|
2785
|
-
)
|
2786
|
-
)
|
2787
|
-
. '">'
|
2788
|
-
. htmlspecialchars($dbname) . ': '
|
2789
|
-
. PMA_Util::getTitleForTarget(
|
2790
|
-
$GLOBALS['cfg']['DefaultTabDatabase']
|
2791
|
-
)
|
2792
|
-
. "</a> ]\n";
|
2793
|
-
|
2794
|
-
if (/*overload*/mb_strlen($tablename)) {
|
2795
|
-
$html_output .= ' [ ' . __('Table') . ' <a href="'
|
2796
|
-
. $GLOBALS['cfg']['DefaultTabTable']
|
2797
|
-
. PMA_URL_getCommon(
|
2798
|
-
array(
|
2799
|
-
'db' => $url_dbname,
|
2800
|
-
'table' => $tablename,
|
2801
|
-
'reload' => 1,
|
2802
|
-
)
|
2803
|
-
)
|
2804
|
-
. '">' . htmlspecialchars($tablename) . ': '
|
2805
|
-
. PMA_Util::getTitleForTarget(
|
2806
|
-
$GLOBALS['cfg']['DefaultTabTable']
|
2807
|
-
)
|
2808
|
-
. "</a> ]\n";
|
2809
|
-
}
|
2810
|
-
return $html_output;
|
2811
|
-
}
|
2812
|
-
|
2813
|
-
/**
|
2814
|
-
* no db name given, so we want all privs for the given user
|
2815
|
-
* db name was given, so we want all user specific rights for this db
|
2816
|
-
* So this function returns user rights as an array
|
2817
|
-
*
|
2818
|
-
* @param array $tables tables
|
2819
|
-
* @param string $user_host_condition a where clause that contained user's host
|
2820
|
-
* condition
|
2821
|
-
* @param string $dbname database name
|
2822
|
-
*
|
2823
|
-
* @return array $db_rights database rights
|
2824
|
-
*/
|
2825
|
-
function PMA_getUserSpecificRights($tables, $user_host_condition, $dbname)
|
2826
|
-
{
|
2827
|
-
if (!/*overload*/mb_strlen($dbname)) {
|
2828
|
-
$tables_to_search_for_users = array(
|
2829
|
-
'tables_priv', 'columns_priv',
|
2830
|
-
);
|
2831
|
-
$dbOrTableName = 'Db';
|
2832
|
-
} else {
|
2833
|
-
$user_host_condition .=
|
2834
|
-
' AND `Db`'
|
2835
|
-
. ' LIKE \''
|
2836
|
-
. PMA_Util::sqlAddSlashes($dbname, true) . "'";
|
2837
|
-
$tables_to_search_for_users = array('columns_priv',);
|
2838
|
-
$dbOrTableName = 'Table_name';
|
2839
|
-
}
|
2840
|
-
|
2841
|
-
$db_rights_sqls = array();
|
2842
|
-
foreach ($tables_to_search_for_users as $table_search_in) {
|
2843
|
-
if (in_array($table_search_in, $tables)) {
|
2844
|
-
$db_rights_sqls[] = '
|
2845
|
-
SELECT DISTINCT `' . $dbOrTableName . '`
|
2846
|
-
FROM `mysql`.' . PMA_Util::backquote($table_search_in)
|
2847
|
-
. $user_host_condition;
|
2848
|
-
}
|
2849
|
-
}
|
2850
|
-
|
2851
|
-
$user_defaults = array(
|
2852
|
-
$dbOrTableName => '',
|
2853
|
-
'Grant_priv' => 'N',
|
2854
|
-
'privs' => array('USAGE'),
|
2855
|
-
'Column_priv' => true,
|
2856
|
-
);
|
2857
|
-
|
2858
|
-
// for the rights
|
2859
|
-
$db_rights = array();
|
2860
|
-
|
2861
|
-
$db_rights_sql = '(' . implode(') UNION (', $db_rights_sqls) . ')'
|
2862
|
-
. ' ORDER BY `' . $dbOrTableName . '` ASC';
|
2863
|
-
|
2864
|
-
$db_rights_result = $GLOBALS['dbi']->query($db_rights_sql);
|
2865
|
-
|
2866
|
-
while ($db_rights_row = $GLOBALS['dbi']->fetchAssoc($db_rights_result)) {
|
2867
|
-
$db_rights_row = array_merge($user_defaults, $db_rights_row);
|
2868
|
-
if (!/*overload*/mb_strlen($dbname)) {
|
2869
|
-
// only Db names in the table `mysql`.`db` uses wildcards
|
2870
|
-
// as we are in the db specific rights display we want
|
2871
|
-
// all db names escaped, also from other sources
|
2872
|
-
$db_rights_row['Db'] = PMA_Util::escapeMysqlWildcards(
|
2873
|
-
$db_rights_row['Db']
|
2874
|
-
);
|
2875
|
-
}
|
2876
|
-
$db_rights[$db_rights_row[$dbOrTableName]] = $db_rights_row;
|
2877
|
-
}
|
2878
|
-
|
2879
|
-
$GLOBALS['dbi']->freeResult($db_rights_result);
|
2880
|
-
|
2881
|
-
if (!/*overload*/mb_strlen($dbname)) {
|
2882
|
-
$sql_query = 'SELECT * FROM `mysql`.`db`'
|
2883
|
-
. $user_host_condition . ' ORDER BY `Db` ASC';
|
2884
|
-
} else {
|
2885
|
-
$sql_query = 'SELECT `Table_name`,'
|
2886
|
-
. ' `Table_priv`,'
|
2887
|
-
. ' IF(`Column_priv` = _latin1 \'\', 0, 1)'
|
2888
|
-
. ' AS \'Column_priv\''
|
2889
|
-
. ' FROM `mysql`.`tables_priv`'
|
2890
|
-
. $user_host_condition
|
2891
|
-
. ' ORDER BY `Table_name` ASC;';
|
2892
|
-
}
|
2893
|
-
|
2894
|
-
$result = $GLOBALS['dbi']->query($sql_query);
|
2895
|
-
|
2896
|
-
while ($row = $GLOBALS['dbi']->fetchAssoc($result)) {
|
2897
|
-
if (isset($db_rights[$row[$dbOrTableName]])) {
|
2898
|
-
$db_rights[$row[$dbOrTableName]]
|
2899
|
-
= array_merge($db_rights[$row[$dbOrTableName]], $row);
|
2900
|
-
} else {
|
2901
|
-
$db_rights[$row[$dbOrTableName]] = $row;
|
2902
|
-
}
|
2903
|
-
if (!/*overload*/mb_strlen($dbname)) {
|
2904
|
-
// there are db specific rights for this user
|
2905
|
-
// so we can drop this db rights
|
2906
|
-
$db_rights[$row['Db']]['can_delete'] = true;
|
2907
|
-
}
|
2908
|
-
}
|
2909
|
-
$GLOBALS['dbi']->freeResult($result);
|
2910
|
-
return $db_rights;
|
2911
|
-
}
|
2912
|
-
|
2913
|
-
/**
|
2914
|
-
* Display user rights in table rows(Table specific or database specific privs)
|
2915
|
-
*
|
2916
|
-
* @param array $db_rights user's database rights array
|
2917
|
-
* @param string $dbname database name
|
2918
|
-
* @param string $hostname host name
|
2919
|
-
* @param string $username username
|
2920
|
-
*
|
2921
|
-
* @return array $found_rows, $html_output
|
2922
|
-
*/
|
2923
|
-
function PMA_getHtmlForUserRights($db_rights, $dbname,
|
2924
|
-
$hostname, $username
|
2925
|
-
) {
|
2926
|
-
$html_output = '';
|
2927
|
-
$found_rows = array();
|
2928
|
-
|
2929
|
-
// display rows
|
2930
|
-
if (count($db_rights) < 1) {
|
2931
|
-
$html_output .= '<tr class="odd">' . "\n"
|
2932
|
-
. '<td colspan="6"><center><i>' . __('None') . '</i></center></td>' . "\n"
|
2933
|
-
. '</tr>' . "\n";
|
2934
|
-
return array($found_rows, $html_output);
|
2935
|
-
}
|
2936
|
-
|
2937
|
-
$odd_row = true;
|
2938
|
-
//while ($row = $GLOBALS['dbi']->fetchAssoc($res)) {
|
2939
|
-
foreach ($db_rights as $row) {
|
2940
|
-
$dbNameLength = /*overload*/mb_strlen($dbname);
|
2941
|
-
$found_rows[] = (!$dbNameLength)
|
2942
|
-
? $row['Db']
|
2943
|
-
: $row['Table_name'];
|
2944
|
-
|
2945
|
-
$html_output .= '<tr class="' . ($odd_row ? 'odd' : 'even') . '">' . "\n"
|
2946
|
-
. '<td>'
|
2947
|
-
. htmlspecialchars(
|
2948
|
-
(!$dbNameLength)
|
2949
|
-
? $row['Db']
|
2950
|
-
: $row['Table_name']
|
2951
|
-
)
|
2952
|
-
. '</td>' . "\n"
|
2953
|
-
. '<td><code>' . "\n"
|
2954
|
-
. ' '
|
2955
|
-
. join(
|
2956
|
-
',' . "\n" . ' ',
|
2957
|
-
PMA_extractPrivInfo($row, true)
|
2958
|
-
) . "\n"
|
2959
|
-
. '</code></td>' . "\n"
|
2960
|
-
. '<td>'
|
2961
|
-
. ((((!$dbNameLength) && $row['Grant_priv'] == 'Y')
|
2962
|
-
|| ($dbNameLength
|
2963
|
-
&& in_array('Grant', explode(',', $row['Table_priv']))))
|
2964
|
-
? __('Yes')
|
2965
|
-
: __('No'))
|
2966
|
-
. '</td>' . "\n"
|
2967
|
-
. '<td>';
|
2968
|
-
if (! empty($row['Table_privs']) || ! empty ($row['Column_priv'])) {
|
2969
|
-
$html_output .= __('Yes');
|
2970
|
-
} else {
|
2971
|
-
$html_output .= __('No');
|
2972
|
-
}
|
2973
|
-
$html_output .= '</td>';
|
2974
|
-
|
2975
|
-
$html_output .= '<td>';
|
2976
|
-
if ($GLOBALS['is_grantuser']) {
|
2977
|
-
$html_output .= PMA_getUserLink(
|
2978
|
-
'edit',
|
2979
|
-
$username,
|
2980
|
-
$hostname,
|
2981
|
-
(!$dbNameLength) ? $row['Db'] : $dbname,
|
2982
|
-
(!$dbNameLength) ? '' : $row['Table_name']
|
2983
|
-
);
|
2984
|
-
}
|
2985
|
-
$html_output .= '</td>';
|
2986
|
-
|
2987
|
-
$html_output .= '<td>';
|
2988
|
-
if (! empty($row['can_delete'])
|
2989
|
-
|| isset($row['Table_name'])
|
2990
|
-
&& /*overload*/mb_strlen($row['Table_name'])
|
2991
|
-
) {
|
2992
|
-
$html_output .= PMA_getUserLink(
|
2993
|
-
'revoke',
|
2994
|
-
$username,
|
2995
|
-
$hostname,
|
2996
|
-
(!$dbNameLength) ? $row['Db'] : $dbname,
|
2997
|
-
(!$dbNameLength) ? '' : $row['Table_name']
|
2998
|
-
);
|
2999
|
-
}
|
3000
|
-
$html_output .= '</td>' . "\n"
|
3001
|
-
. '</tr>' . "\n";
|
3002
|
-
$odd_row = ! $odd_row;
|
3003
|
-
} // end while
|
3004
|
-
|
3005
|
-
return array($found_rows, $html_output);
|
3006
|
-
}
|
3007
|
-
|
3008
|
-
/**
|
3009
|
-
* Get a HTML table for display user's tabel specific or database specific rights
|
3010
|
-
*
|
3011
|
-
* @param string $username username
|
3012
|
-
* @param string $hostname host name
|
3013
|
-
* @param string $dbname database name
|
3014
|
-
*
|
3015
|
-
* @return array $html_output, $found_rows
|
3016
|
-
*/
|
3017
|
-
function PMA_getHtmlForAllTableSpecificRights(
|
3018
|
-
$username, $hostname, $dbname
|
3019
|
-
) {
|
3020
|
-
// table header
|
3021
|
-
$html_output = PMA_URL_getHiddenInputs('', '')
|
3022
|
-
. '<input type="hidden" name="username" '
|
3023
|
-
. 'value="' . htmlspecialchars($username) . '" />' . "\n"
|
3024
|
-
. '<input type="hidden" name="hostname" '
|
3025
|
-
. 'value="' . htmlspecialchars($hostname) . '" />' . "\n"
|
3026
|
-
. '<fieldset>' . "\n"
|
3027
|
-
. '<legend data-submenu-label="'
|
3028
|
-
. (!/*overload*/mb_strlen($dbname)
|
3029
|
-
? __('Database')
|
3030
|
-
: __('Table')
|
3031
|
-
)
|
3032
|
-
. '">'
|
3033
|
-
. (!/*overload*/mb_strlen($dbname)
|
3034
|
-
? __('Database-specific privileges')
|
3035
|
-
: __('Table-specific privileges')
|
3036
|
-
)
|
3037
|
-
. '</legend>' . "\n"
|
3038
|
-
. '<table class="data">' . "\n"
|
3039
|
-
. '<thead>' . "\n"
|
3040
|
-
. '<tr><th>'
|
3041
|
-
. (!/*overload*/mb_strlen($dbname) ? __('Database') : __('Table'))
|
3042
|
-
. '</th>' . "\n"
|
3043
|
-
. '<th>' . __('Privileges') . '</th>' . "\n"
|
3044
|
-
. '<th>' . __('Grant') . '</th>' . "\n"
|
3045
|
-
. '<th>'
|
3046
|
-
. (!/*overload*/mb_strlen($dbname)
|
3047
|
-
? __('Table-specific privileges')
|
3048
|
-
: __('Column-specific privileges')
|
3049
|
-
)
|
3050
|
-
. '</th>' . "\n"
|
3051
|
-
. '<th colspan="2">' . __('Action') . '</th>' . "\n"
|
3052
|
-
. '</tr>' . "\n"
|
3053
|
-
. '</thead>' . "\n";
|
3054
|
-
|
3055
|
-
$user_host_condition = ' WHERE `User`'
|
3056
|
-
. ' = \'' . PMA_Util::sqlAddSlashes($username) . "'"
|
3057
|
-
. ' AND `Host`'
|
3058
|
-
. ' = \'' . PMA_Util::sqlAddSlashes($hostname) . "'";
|
3059
|
-
|
3060
|
-
// table body
|
3061
|
-
// get data
|
3062
|
-
|
3063
|
-
// we also want privileges for this user not in table `db` but in other table
|
3064
|
-
$tables = $GLOBALS['dbi']->fetchResult('SHOW TABLES FROM `mysql`;');
|
3065
|
-
|
3066
|
-
/**
|
3067
|
-
* no db name given, so we want all privs for the given user
|
3068
|
-
* db name was given, so we want all user specific rights for this db
|
3069
|
-
*/
|
3070
|
-
$db_rights = PMA_getUserSpecificRights($tables, $user_host_condition, $dbname);
|
3071
|
-
|
3072
|
-
ksort($db_rights);
|
3073
|
-
|
3074
|
-
$html_output .= '<tbody>' . "\n";
|
3075
|
-
// display rows
|
3076
|
-
list ($found_rows, $html_out) = PMA_getHtmlForUserRights(
|
3077
|
-
$db_rights, $dbname, $hostname, $username
|
3078
|
-
);
|
3079
|
-
|
3080
|
-
$html_output .= $html_out;
|
3081
|
-
$html_output .= '</tbody>' . "\n";
|
3082
|
-
$html_output .='</table>' . "\n";
|
3083
|
-
|
3084
|
-
return array($html_output, $found_rows);
|
3085
|
-
}
|
3086
|
-
|
3087
|
-
/**
|
3088
|
-
* Get HTML for display select db
|
3089
|
-
*
|
3090
|
-
* @param array $found_rows isset($dbname)) ? $row['Db'] : $row['Table_name']
|
3091
|
-
*
|
3092
|
-
* @return string HTML snippet
|
3093
|
-
*/
|
3094
|
-
function PMA_getHtmlForSelectDbInEditPrivs($found_rows)
|
3095
|
-
{
|
3096
|
-
// we already have the list of databases from libraries/common.inc.php
|
3097
|
-
// via $pma = new PMA;
|
3098
|
-
$pred_db_array = $GLOBALS['pma']->databases;
|
3099
|
-
|
3100
|
-
$databases_to_skip = array('information_schema', 'performance_schema');
|
3101
|
-
|
3102
|
-
$html_output = '<label for="text_dbname">'
|
3103
|
-
. __('Add privileges on the following database(s):') . '</label>' . "\n";
|
3104
|
-
if (! empty($pred_db_array)) {
|
3105
|
-
$html_output .= '<select name="pred_dbname[]" multiple="multiple">' . "\n";
|
3106
|
-
foreach ($pred_db_array as $current_db) {
|
3107
|
-
if (in_array($current_db, $databases_to_skip)) {
|
3108
|
-
continue;
|
3109
|
-
}
|
3110
|
-
$current_db_show = $current_db;
|
3111
|
-
$current_db = PMA_Util::escapeMysqlWildcards($current_db);
|
3112
|
-
// cannot use array_diff() once, outside of the loop,
|
3113
|
-
// because the list of databases has special characters
|
3114
|
-
// already escaped in $found_rows,
|
3115
|
-
// contrary to the output of SHOW DATABASES
|
3116
|
-
if (empty($found_rows) || ! in_array($current_db, $found_rows)) {
|
3117
|
-
$html_output .= '<option value="'
|
3118
|
-
. htmlspecialchars($current_db) . '">'
|
3119
|
-
. htmlspecialchars($current_db_show) . '</option>' . "\n";
|
3120
|
-
}
|
3121
|
-
}
|
3122
|
-
$html_output .= '</select>' . "\n";
|
3123
|
-
}
|
3124
|
-
$html_output .= '<input type="text" id="text_dbname" name="dbname" />'
|
3125
|
-
. "\n"
|
3126
|
-
. PMA_Util::showHint(
|
3127
|
-
__('Wildcards % and _ should be escaped with a \ to use them literally.')
|
3128
|
-
);
|
3129
|
-
return $html_output;
|
3130
|
-
}
|
3131
|
-
|
3132
|
-
/**
|
3133
|
-
* Get HTML for display table in edit privilege
|
3134
|
-
*
|
3135
|
-
* @param string $dbname database naame
|
3136
|
-
* @param array $found_rows isset($dbname)) ? $row['Db'] : $row['Table_name']
|
3137
|
-
*
|
3138
|
-
* @return string HTML snippet
|
3139
|
-
*/
|
3140
|
-
function PMA_displayTablesInEditPrivs($dbname, $found_rows)
|
3141
|
-
{
|
3142
|
-
$html_output = '<input type="hidden" name="dbname"
|
3143
|
-
' . 'value="' . htmlspecialchars($dbname) . '"/>' . "\n";
|
3144
|
-
$html_output .= '<label for="text_tablename">'
|
3145
|
-
. __('Add privileges on the following table:') . '</label>' . "\n";
|
3146
|
-
|
3147
|
-
$result = @$GLOBALS['dbi']->tryQuery(
|
3148
|
-
'SHOW TABLES FROM ' . PMA_Util::backquote(
|
3149
|
-
PMA_Util::unescapeMysqlWildcards($dbname)
|
3150
|
-
) . ';',
|
3151
|
-
null,
|
3152
|
-
PMA_DatabaseInterface::QUERY_STORE
|
3153
|
-
);
|
3154
|
-
|
3155
|
-
if ($result) {
|
3156
|
-
$pred_tbl_array = array();
|
3157
|
-
while ($row = $GLOBALS['dbi']->fetchRow($result)) {
|
3158
|
-
if (! isset($found_rows) || ! in_array($row[0], $found_rows)) {
|
3159
|
-
$pred_tbl_array[] = $row[0];
|
3160
|
-
}
|
3161
|
-
}
|
3162
|
-
$GLOBALS['dbi']->freeResult($result);
|
3163
|
-
|
3164
|
-
if (! empty($pred_tbl_array)) {
|
3165
|
-
$html_output .= '<select name="pred_tablename" '
|
3166
|
-
. 'class="autosubmit">' . "\n"
|
3167
|
-
. '<option value="" selected="selected">' . __('Use text field')
|
3168
|
-
. ':</option>' . "\n";
|
3169
|
-
foreach ($pred_tbl_array as $current_table) {
|
3170
|
-
$html_output .= '<option '
|
3171
|
-
. 'value="' . htmlspecialchars($current_table) . '">'
|
3172
|
-
. htmlspecialchars($current_table)
|
3173
|
-
. '</option>' . "\n";
|
3174
|
-
}
|
3175
|
-
$html_output .= '</select>' . "\n";
|
3176
|
-
}
|
3177
|
-
}
|
3178
|
-
$html_output .= '<input type="text" id="text_tablename" name="tablename" />'
|
3179
|
-
. "\n";
|
3180
|
-
|
3181
|
-
return $html_output;
|
3182
|
-
}
|
3183
|
-
|
3184
|
-
/**
|
3185
|
-
* Get HTML for display the users overview
|
3186
|
-
* (if less than 50 users, display them immediately)
|
3187
|
-
*
|
3188
|
-
* @param array $result ran sql query
|
3189
|
-
* @param array $db_rights user's database rights array
|
3190
|
-
* @param string $pmaThemeImage a image source link
|
3191
|
-
* @param string $text_dir text directory
|
3192
|
-
*
|
3193
|
-
* @return string HTML snippet
|
3194
|
-
*/
|
3195
|
-
function PMA_getUsersOverview($result, $db_rights, $pmaThemeImage, $text_dir)
|
3196
|
-
{
|
3197
|
-
while ($row = $GLOBALS['dbi']->fetchAssoc($result)) {
|
3198
|
-
$row['privs'] = PMA_extractPrivInfo($row, true);
|
3199
|
-
$db_rights[$row['User']][$row['Host']] = $row;
|
3200
|
-
}
|
3201
|
-
@$GLOBALS['dbi']->freeResult($result);
|
3202
|
-
$user_group_count = 0;
|
3203
|
-
if ($GLOBALS['cfgRelation']['menuswork']) {
|
3204
|
-
$user_group_count = PMA_getUserGroupCount();
|
3205
|
-
}
|
3206
|
-
|
3207
|
-
$html_output
|
3208
|
-
= '<form name="usersForm" id="usersForm" action="server_privileges.php" '
|
3209
|
-
. 'method="post">' . "\n"
|
3210
|
-
. PMA_URL_getHiddenInputs('', '')
|
3211
|
-
. '<table id="tableuserrights" class="data">' . "\n"
|
3212
|
-
. '<thead>' . "\n"
|
3213
|
-
. '<tr><th></th>' . "\n"
|
3214
|
-
. '<th>' . __('User') . '</th>' . "\n"
|
3215
|
-
. '<th>' . __('Host') . '</th>' . "\n"
|
3216
|
-
. '<th>' . __('Password') . '</th>' . "\n"
|
3217
|
-
. '<th>' . __('Global privileges') . ' '
|
3218
|
-
. PMA_Util::showHint(
|
3219
|
-
__('Note: MySQL privilege names are expressed in English.')
|
3220
|
-
)
|
3221
|
-
. '</th>' . "\n";
|
3222
|
-
if ($GLOBALS['cfgRelation']['menuswork']) {
|
3223
|
-
$html_output .= '<th>' . __('User group') . '</th>' . "\n";
|
3224
|
-
}
|
3225
|
-
$html_output .= '<th>' . __('Grant') . '</th>' . "\n"
|
3226
|
-
. '<th colspan="' . ($user_group_count > 0 ? '3' : '2') . '">'
|
3227
|
-
. __('Action') . '</th>' . "\n"
|
3228
|
-
. '</tr>' . "\n"
|
3229
|
-
. '</thead>' . "\n";
|
3230
|
-
|
3231
|
-
$html_output .= '<tbody>' . "\n";
|
3232
|
-
$html_output .= PMA_getHtmlTableBodyForUserRights($db_rights);
|
3233
|
-
$html_output .= '</tbody>'
|
3234
|
-
. '</table>' . "\n";
|
3235
|
-
|
3236
|
-
$html_output .= '<div style="float:left;">'
|
3237
|
-
. PMA_Util::getWithSelected($pmaThemeImage, $text_dir, "usersForm") . "\n";
|
3238
|
-
|
3239
|
-
$html_output .= PMA_Util::getButtonOrImage(
|
3240
|
-
'submit_mult', 'mult_submit', 'submit_mult_export',
|
3241
|
-
__('Export'), 'b_tblexport.png', 'export'
|
3242
|
-
);
|
3243
|
-
$html_output .= '<input type="hidden" name="initial" '
|
3244
|
-
. 'value="' . (isset($_GET['initial']) ? $_GET['initial'] : '') . '" />';
|
3245
|
-
$html_output .= '</div>'
|
3246
|
-
. '<div class="clear_both" style="clear:both"></div>';
|
3247
|
-
|
3248
|
-
// add/delete user fieldset
|
3249
|
-
$html_output .= PMA_getFieldsetForAddDeleteUser();
|
3250
|
-
$html_output .= '</form>' . "\n";
|
3251
|
-
|
3252
|
-
return $html_output;
|
3253
|
-
}
|
3254
|
-
|
3255
|
-
/**
|
3256
|
-
* Get table body for 'tableuserrights' table in userform
|
3257
|
-
*
|
3258
|
-
* @param array $db_rights user's database rights array
|
3259
|
-
*
|
3260
|
-
* @return string HTML snippet
|
3261
|
-
*/
|
3262
|
-
function PMA_getHtmlTableBodyForUserRights($db_rights)
|
3263
|
-
{
|
3264
|
-
$cfgRelation = PMA_getRelationsParam();
|
3265
|
-
if ($cfgRelation['menuswork']) {
|
3266
|
-
$users_table = PMA_Util::backquote($cfgRelation['db'])
|
3267
|
-
. "." . PMA_Util::backquote($cfgRelation['users']);
|
3268
|
-
$sql_query = 'SELECT * FROM ' . $users_table;
|
3269
|
-
$result = PMA_queryAsControlUser($sql_query, false);
|
3270
|
-
$group_assignment = array();
|
3271
|
-
if ($result) {
|
3272
|
-
while ($row = $GLOBALS['dbi']->fetchAssoc($result)) {
|
3273
|
-
$group_assignment[$row['username']] = $row['usergroup'];
|
3274
|
-
}
|
3275
|
-
}
|
3276
|
-
$GLOBALS['dbi']->freeResult($result);
|
3277
|
-
|
3278
|
-
$user_group_count = PMA_getUserGroupCount();
|
3279
|
-
}
|
3280
|
-
|
3281
|
-
$odd_row = true;
|
3282
|
-
$index_checkbox = 0;
|
3283
|
-
$html_output = '';
|
3284
|
-
foreach ($db_rights as $user) {
|
3285
|
-
ksort($user);
|
3286
|
-
foreach ($user as $host) {
|
3287
|
-
$index_checkbox++;
|
3288
|
-
$html_output .= '<tr class="' . ($odd_row ? 'odd' : 'even') . '">'
|
3289
|
-
. "\n";
|
3290
|
-
$html_output .= '<td>'
|
3291
|
-
. '<input type="checkbox" class="checkall" name="selected_usr[]" '
|
3292
|
-
. 'id="checkbox_sel_users_'
|
3293
|
-
. $index_checkbox . '" value="'
|
3294
|
-
. htmlspecialchars($host['User'] . '&#27;' . $host['Host'])
|
3295
|
-
. '"'
|
3296
|
-
. ' /></td>' . "\n";
|
3297
|
-
|
3298
|
-
$html_output .= '<td><label '
|
3299
|
-
. 'for="checkbox_sel_users_' . $index_checkbox . '">'
|
3300
|
-
. (empty($host['User'])
|
3301
|
-
? '<span style="color: #FF0000">' . __('Any') . '</span>'
|
3302
|
-
: htmlspecialchars($host['User'])) . '</label></td>' . "\n"
|
3303
|
-
. '<td>' . htmlspecialchars($host['Host']) . '</td>' . "\n";
|
3304
|
-
|
3305
|
-
$html_output .= '<td>';
|
3306
|
-
switch ($host['Password']) {
|
3307
|
-
case 'Y':
|
3308
|
-
$html_output .= __('Yes');
|
3309
|
-
break;
|
3310
|
-
case 'N':
|
3311
|
-
$html_output .= '<span style="color: #FF0000">' . __('No')
|
3312
|
-
. '</span>';
|
3313
|
-
break;
|
3314
|
-
// this happens if this is a definition not coming from mysql.user
|
3315
|
-
default:
|
3316
|
-
$html_output .= '--'; // in future version, replace by "not present"
|
3317
|
-
break;
|
3318
|
-
} // end switch
|
3319
|
-
$html_output .= '</td>' . "\n";
|
3320
|
-
|
3321
|
-
$html_output .= '<td><code>' . "\n"
|
3322
|
-
. '' . implode(',' . "\n" . ' ', $host['privs']) . "\n"
|
3323
|
-
. '</code></td>' . "\n";
|
3324
|
-
if ($cfgRelation['menuswork']) {
|
3325
|
-
$html_output .= '<td class="usrGroup">' . "\n"
|
3326
|
-
. (isset($group_assignment[$host['User']])
|
3327
|
-
? $group_assignment[$host['User']]
|
3328
|
-
: ''
|
3329
|
-
)
|
3330
|
-
. '</td>' . "\n";
|
3331
|
-
}
|
3332
|
-
$html_output .= '<td>'
|
3333
|
-
. ($host['Grant_priv'] == 'Y' ? __('Yes') : __('No'))
|
3334
|
-
. '</td>' . "\n";
|
3335
|
-
|
3336
|
-
if ($GLOBALS['is_grantuser']) {
|
3337
|
-
$html_output .= '<td class="center">'
|
3338
|
-
. PMA_getUserLink(
|
3339
|
-
'edit',
|
3340
|
-
$host['User'],
|
3341
|
-
$host['Host']
|
3342
|
-
)
|
3343
|
-
. '</td>';
|
3344
|
-
}
|
3345
|
-
if ($cfgRelation['menuswork'] && $user_group_count > 0) {
|
3346
|
-
if (empty($host['User'])) {
|
3347
|
-
$html_output .= '<td class="center"></td>';
|
3348
|
-
} else {
|
3349
|
-
$html_output .= '<td class="center">'
|
3350
|
-
. PMA_getUserGroupEditLink($host['User'])
|
3351
|
-
. '</td>';
|
3352
|
-
}
|
3353
|
-
}
|
3354
|
-
$html_output .= '<td class="center">'
|
3355
|
-
. PMA_getUserLink(
|
3356
|
-
'export',
|
3357
|
-
$host['User'],
|
3358
|
-
$host['Host'],
|
3359
|
-
'',
|
3360
|
-
'',
|
3361
|
-
isset($_GET['initial']) ? $_GET['initial'] : ''
|
3362
|
-
)
|
3363
|
-
. '</td>';
|
3364
|
-
$html_output .= '</tr>';
|
3365
|
-
$odd_row = ! $odd_row;
|
3366
|
-
}
|
3367
|
-
}
|
3368
|
-
return $html_output;
|
3369
|
-
}
|
3370
|
-
|
3371
|
-
/**
|
3372
|
-
* Get HTML fieldset for Add/Delete user
|
3373
|
-
*
|
3374
|
-
* @return string HTML snippet
|
3375
|
-
*/
|
3376
|
-
function PMA_getFieldsetForAddDeleteUser()
|
3377
|
-
{
|
3378
|
-
$html_output = PMA_getAddUserHtmlFieldset();
|
3379
|
-
$html_output .= '<fieldset id="fieldset_delete_user">'
|
3380
|
-
. '<legend>' . "\n"
|
3381
|
-
. PMA_Util::getIcon('b_usrdrop.png')
|
3382
|
-
. ' ' . __('Remove selected users') . '' . "\n"
|
3383
|
-
. '</legend>' . "\n";
|
3384
|
-
|
3385
|
-
$html_output .= '<input type="hidden" name="mode" value="2" />' . "\n"
|
3386
|
-
. '('
|
3387
|
-
. __(
|
3388
|
-
'Revoke all active privileges from the users '
|
3389
|
-
. 'and delete them afterwards.'
|
3390
|
-
)
|
3391
|
-
. ')'
|
3392
|
-
. '<br />' . "\n";
|
3393
|
-
|
3394
|
-
$html_output .= '<input type="checkbox" '
|
3395
|
-
. 'title="'
|
3396
|
-
. __('Drop the databases that have the same names as the users.')
|
3397
|
-
. '" '
|
3398
|
-
. 'name="drop_users_db" id="checkbox_drop_users_db" />' . "\n";
|
3399
|
-
|
3400
|
-
$html_output .= '<label for="checkbox_drop_users_db" '
|
3401
|
-
. 'title="'
|
3402
|
-
. __('Drop the databases that have the same names as the users.')
|
3403
|
-
. '">' . "\n"
|
3404
|
-
. ' '
|
3405
|
-
. __('Drop the databases that have the same names as the users.')
|
3406
|
-
. "\n"
|
3407
|
-
. '</label>' . "\n"
|
3408
|
-
. '</fieldset>' . "\n";
|
3409
|
-
|
3410
|
-
$html_output .= '<fieldset id="fieldset_delete_user_footer" class="tblFooters">'
|
3411
|
-
. "\n";
|
3412
|
-
$html_output .= '<input type="submit" name="delete" '
|
3413
|
-
. 'value="' . __('Go') . '" id="buttonGo" '
|
3414
|
-
. 'class="ajax"/>' . "\n";
|
3415
|
-
|
3416
|
-
$html_output .= '</fieldset>' . "\n";
|
3417
|
-
|
3418
|
-
return $html_output;
|
3419
|
-
}
|
3420
|
-
|
3421
|
-
/**
|
3422
|
-
* Get HTML for Displays the initials
|
3423
|
-
*
|
3424
|
-
* @param array $array_initials array for all initials, even non A-Z
|
3425
|
-
*
|
3426
|
-
* @return string HTML snippet
|
3427
|
-
*/
|
3428
|
-
function PMA_getHtmlForInitials($array_initials)
|
3429
|
-
{
|
3430
|
-
// initialize to false the letters A-Z
|
3431
|
-
for ($letter_counter = 1; $letter_counter < 27; $letter_counter++) {
|
3432
|
-
if (! isset($array_initials[/*overload*/mb_chr($letter_counter + 64)])) {
|
3433
|
-
$array_initials[/*overload*/mb_chr($letter_counter + 64)] = false;
|
3434
|
-
}
|
3435
|
-
}
|
3436
|
-
|
3437
|
-
$initials = $GLOBALS['dbi']->tryQuery(
|
3438
|
-
'SELECT DISTINCT UPPER(LEFT(`User`,1)) FROM `user` ORDER BY `User` ASC',
|
3439
|
-
null,
|
3440
|
-
PMA_DatabaseInterface::QUERY_STORE
|
3441
|
-
);
|
3442
|
-
while (list($tmp_initial) = $GLOBALS['dbi']->fetchRow($initials)) {
|
3443
|
-
$array_initials[$tmp_initial] = true;
|
3444
|
-
}
|
3445
|
-
|
3446
|
-
// Display the initials, which can be any characters, not
|
3447
|
-
// just letters. For letters A-Z, we add the non-used letters
|
3448
|
-
// as greyed out.
|
3449
|
-
|
3450
|
-
uksort($array_initials, "strnatcasecmp");
|
3451
|
-
|
3452
|
-
$html_output = '<table id="initials_table" cellspacing="5">'
|
3453
|
-
. '<tr>';
|
3454
|
-
foreach ($array_initials as $tmp_initial => $initial_was_found) {
|
3455
|
-
if ($tmp_initial === null) {
|
3456
|
-
continue;
|
3457
|
-
}
|
3458
|
-
|
3459
|
-
if (!$initial_was_found) {
|
3460
|
-
$html_output .= '<td>' . $tmp_initial . '</td>';
|
3461
|
-
continue;
|
3462
|
-
}
|
3463
|
-
|
3464
|
-
$html_output .= '<td>'
|
3465
|
-
. '<a class="ajax'
|
3466
|
-
. ((isset($_REQUEST['initial'])
|
3467
|
-
&& $_REQUEST['initial'] === $tmp_initial
|
3468
|
-
) ? ' active' : '')
|
3469
|
-
. '" href="server_privileges.php'
|
3470
|
-
. PMA_URL_getCommon(array('initial' => $tmp_initial))
|
3471
|
-
. '">' . $tmp_initial
|
3472
|
-
. '</a>'
|
3473
|
-
. '</td>' . "\n";
|
3474
|
-
}
|
3475
|
-
$html_output .= '<td>'
|
3476
|
-
. '<a href="server_privileges.php'
|
3477
|
-
. PMA_URL_getCommon(array('showall' => 1))
|
3478
|
-
. '" class="nowrap">' . __('Show all') . '</a></td>' . "\n";
|
3479
|
-
$html_output .= '</tr></table>';
|
3480
|
-
|
3481
|
-
return $html_output;
|
3482
|
-
}
|
3483
|
-
|
3484
|
-
/**
|
3485
|
-
* Get the database rights array for Display user overview
|
3486
|
-
*
|
3487
|
-
* @return array $db_rights database rights array
|
3488
|
-
*/
|
3489
|
-
function PMA_getDbRightsForUserOverview()
|
3490
|
-
{
|
3491
|
-
// we also want users not in table `user` but in other table
|
3492
|
-
$tables = $GLOBALS['dbi']->fetchResult('SHOW TABLES FROM `mysql`;');
|
3493
|
-
|
3494
|
-
$tablesSearchForUsers = array(
|
3495
|
-
'user', 'db', 'tables_priv', 'columns_priv', 'procs_priv',
|
3496
|
-
);
|
3497
|
-
|
3498
|
-
$db_rights_sqls = array();
|
3499
|
-
foreach ($tablesSearchForUsers as $table_search_in) {
|
3500
|
-
if (in_array($table_search_in, $tables)) {
|
3501
|
-
$db_rights_sqls[] = 'SELECT DISTINCT `User`, `Host` FROM `mysql`.`'
|
3502
|
-
. $table_search_in . '` '
|
3503
|
-
. (isset($_GET['initial'])
|
3504
|
-
? PMA_rangeOfUsers($_GET['initial'])
|
3505
|
-
: '');
|
3506
|
-
}
|
3507
|
-
}
|
3508
|
-
$user_defaults = array(
|
3509
|
-
'User' => '',
|
3510
|
-
'Host' => '%',
|
3511
|
-
'Password' => '?',
|
3512
|
-
'Grant_priv' => 'N',
|
3513
|
-
'privs' => array('USAGE'),
|
3514
|
-
);
|
3515
|
-
|
3516
|
-
// for the rights
|
3517
|
-
$db_rights = array();
|
3518
|
-
|
3519
|
-
$db_rights_sql = '(' . implode(') UNION (', $db_rights_sqls) . ')'
|
3520
|
-
. ' ORDER BY `User` ASC, `Host` ASC';
|
3521
|
-
|
3522
|
-
$db_rights_result = $GLOBALS['dbi']->query($db_rights_sql);
|
3523
|
-
|
3524
|
-
while ($db_rights_row = $GLOBALS['dbi']->fetchAssoc($db_rights_result)) {
|
3525
|
-
$db_rights_row = array_merge($user_defaults, $db_rights_row);
|
3526
|
-
$db_rights[$db_rights_row['User']][$db_rights_row['Host']]
|
3527
|
-
= $db_rights_row;
|
3528
|
-
}
|
3529
|
-
$GLOBALS['dbi']->freeResult($db_rights_result);
|
3530
|
-
ksort($db_rights);
|
3531
|
-
|
3532
|
-
return $db_rights;
|
3533
|
-
}
|
3534
|
-
|
3535
|
-
/**
|
3536
|
-
* Delete user and get message and sql query for delete user in privileges
|
3537
|
-
*
|
3538
|
-
* @param array $queries queries
|
3539
|
-
*
|
3540
|
-
* @return array PMA_message
|
3541
|
-
*/
|
3542
|
-
function PMA_deleteUser($queries)
|
3543
|
-
{
|
3544
|
-
$sql_query = '';
|
3545
|
-
if (empty($queries)) {
|
3546
|
-
$message = PMA_Message::error(__('No users selected for deleting!'));
|
3547
|
-
} else {
|
3548
|
-
if ($_REQUEST['mode'] == 3) {
|
3549
|
-
$queries[] = '# ' . __('Reloading the privileges') . ' …';
|
3550
|
-
$queries[] = 'FLUSH PRIVILEGES;';
|
3551
|
-
}
|
3552
|
-
$drop_user_error = '';
|
3553
|
-
foreach ($queries as $sql_query) {
|
3554
|
-
if ($sql_query{0} != '#') {
|
3555
|
-
if (! $GLOBALS['dbi']->tryQuery($sql_query, $GLOBALS['userlink'])) {
|
3556
|
-
$drop_user_error .= $GLOBALS['dbi']->getError() . "\n";
|
3557
|
-
}
|
3558
|
-
}
|
3559
|
-
}
|
3560
|
-
// tracking sets this, causing the deleted db to be shown in navi
|
3561
|
-
unset($GLOBALS['db']);
|
3562
|
-
|
3563
|
-
$sql_query = join("\n", $queries);
|
3564
|
-
if (! empty($drop_user_error)) {
|
3565
|
-
$message = PMA_Message::rawError($drop_user_error);
|
3566
|
-
} else {
|
3567
|
-
$message = PMA_Message::success(
|
3568
|
-
__('The selected users have been deleted successfully.')
|
3569
|
-
);
|
3570
|
-
}
|
3571
|
-
}
|
3572
|
-
return array($sql_query, $message);
|
3573
|
-
}
|
3574
|
-
|
3575
|
-
/**
|
3576
|
-
* Update the privileges and return the success or error message
|
3577
|
-
*
|
3578
|
-
* @param string $username username
|
3579
|
-
* @param string $hostname host name
|
3580
|
-
* @param string $tablename table name
|
3581
|
-
* @param string $dbname database name
|
3582
|
-
*
|
3583
|
-
* @return PMA_message success message or error message for update
|
3584
|
-
*/
|
3585
|
-
function PMA_updatePrivileges($username, $hostname, $tablename, $dbname)
|
3586
|
-
{
|
3587
|
-
$db_and_table = PMA_wildcardEscapeForGrant($dbname, $tablename);
|
3588
|
-
|
3589
|
-
$sql_query0 = 'REVOKE ALL PRIVILEGES ON ' . $db_and_table
|
3590
|
-
. ' FROM \'' . PMA_Util::sqlAddSlashes($username)
|
3591
|
-
. '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\';';
|
3592
|
-
|
3593
|
-
if (! isset($_POST['Grant_priv']) || $_POST['Grant_priv'] != 'Y') {
|
3594
|
-
$sql_query1 = 'REVOKE GRANT OPTION ON ' . $db_and_table
|
3595
|
-
. ' FROM \'' . PMA_Util::sqlAddSlashes($username) . '\'@\''
|
3596
|
-
. PMA_Util::sqlAddSlashes($hostname) . '\';';
|
3597
|
-
} else {
|
3598
|
-
$sql_query1 = '';
|
3599
|
-
}
|
3600
|
-
|
3601
|
-
// Should not do a GRANT USAGE for a table-specific privilege, it
|
3602
|
-
// causes problems later (cannot revoke it)
|
3603
|
-
if (! (/*overload*/mb_strlen($tablename)
|
3604
|
-
&& 'USAGE' == implode('', PMA_extractPrivInfo()))
|
3605
|
-
) {
|
3606
|
-
$sql_query2 = 'GRANT ' . join(', ', PMA_extractPrivInfo())
|
3607
|
-
. ' ON ' . $db_and_table
|
3608
|
-
. ' TO \'' . PMA_Util::sqlAddSlashes($username) . '\'@\''
|
3609
|
-
. PMA_Util::sqlAddSlashes($hostname) . '\'';
|
3610
|
-
|
3611
|
-
if (! /*overload*/mb_strlen($dbname)) {
|
3612
|
-
// add REQUIRE clause
|
3613
|
-
$sql_query2 .= PMA_getRequireClause();
|
3614
|
-
}
|
3615
|
-
|
3616
|
-
if ((isset($_POST['Grant_priv']) && $_POST['Grant_priv'] == 'Y')
|
3617
|
-
|| (! /*overload*/mb_strlen($dbname)
|
3618
|
-
&& (isset($_POST['max_questions']) || isset($_POST['max_connections'])
|
3619
|
-
|| isset($_POST['max_updates'])
|
3620
|
-
|| isset($_POST['max_user_connections'])))
|
3621
|
-
) {
|
3622
|
-
$sql_query2 .= PMA_getWithClauseForAddUserAndUpdatePrivs();
|
3623
|
-
}
|
3624
|
-
$sql_query2 .= ';';
|
3625
|
-
}
|
3626
|
-
if (! $GLOBALS['dbi']->tryQuery($sql_query0)) {
|
3627
|
-
// This might fail when the executing user does not have
|
3628
|
-
// ALL PRIVILEGES himself.
|
3629
|
-
// See https://sourceforge.net/p/phpmyadmin/bugs/3270/
|
3630
|
-
$sql_query0 = '';
|
3631
|
-
}
|
3632
|
-
if (! empty($sql_query1) && ! $GLOBALS['dbi']->tryQuery($sql_query1)) {
|
3633
|
-
// this one may fail, too...
|
3634
|
-
$sql_query1 = '';
|
3635
|
-
}
|
3636
|
-
if (! empty($sql_query2)) {
|
3637
|
-
$GLOBALS['dbi']->query($sql_query2);
|
3638
|
-
} else {
|
3639
|
-
$sql_query2 = '';
|
3640
|
-
}
|
3641
|
-
$sql_query = $sql_query0 . ' ' . $sql_query1 . ' ' . $sql_query2;
|
3642
|
-
$message = PMA_Message::success(__('You have updated the privileges for %s.'));
|
3643
|
-
$message->addParam(
|
3644
|
-
'\'' . htmlspecialchars($username)
|
3645
|
-
. '\'@\'' . htmlspecialchars($hostname) . '\''
|
3646
|
-
);
|
3647
|
-
|
3648
|
-
return array($sql_query, $message);
|
3649
|
-
}
|
3650
|
-
|
3651
|
-
/**
|
3652
|
-
* Get List of information: Changes / copies a user
|
3653
|
-
*
|
3654
|
-
* @return array
|
3655
|
-
*/
|
3656
|
-
function PMA_getDataForChangeOrCopyUser()
|
3657
|
-
{
|
3658
|
-
$queries = null;
|
3659
|
-
$password = null;
|
3660
|
-
|
3661
|
-
if (isset($_REQUEST['change_copy'])) {
|
3662
|
-
$user_host_condition = ' WHERE `User` = '
|
3663
|
-
. "'" . PMA_Util::sqlAddSlashes($_REQUEST['old_username']) . "'"
|
3664
|
-
. ' AND `Host` = '
|
3665
|
-
. "'" . PMA_Util::sqlAddSlashes($_REQUEST['old_hostname']) . "';";
|
3666
|
-
$row = $GLOBALS['dbi']->fetchSingleRow(
|
3667
|
-
'SELECT * FROM `mysql`.`user` ' . $user_host_condition
|
3668
|
-
);
|
3669
|
-
if (! $row) {
|
3670
|
-
$response = PMA_Response::getInstance();
|
3671
|
-
$response->addHTML(
|
3672
|
-
PMA_Message::notice(__('No user found.'))->getDisplay()
|
3673
|
-
);
|
3674
|
-
unset($_REQUEST['change_copy']);
|
3675
|
-
} else {
|
3676
|
-
extract($row, EXTR_OVERWRITE);
|
3677
|
-
// Recent MySQL versions have the field "Password" in mysql.user,
|
3678
|
-
// so the previous extract creates $Password but this script
|
3679
|
-
// uses $password
|
3680
|
-
if (! isset($password) && isset($Password)) {
|
3681
|
-
$password = $Password;
|
3682
|
-
}
|
3683
|
-
$queries = array();
|
3684
|
-
}
|
3685
|
-
}
|
3686
|
-
|
3687
|
-
return array($queries, $password);
|
3688
|
-
}
|
3689
|
-
|
3690
|
-
/**
|
3691
|
-
* Update Data for information: Deletes users
|
3692
|
-
*
|
3693
|
-
* @param array $queries queries array
|
3694
|
-
*
|
3695
|
-
* @return array
|
3696
|
-
*/
|
3697
|
-
function PMA_getDataForDeleteUsers($queries)
|
3698
|
-
{
|
3699
|
-
if (isset($_REQUEST['change_copy'])) {
|
3700
|
-
$selected_usr = array(
|
3701
|
-
$_REQUEST['old_username'] . '&#27;' . $_REQUEST['old_hostname']
|
3702
|
-
);
|
3703
|
-
} else {
|
3704
|
-
$selected_usr = $_REQUEST['selected_usr'];
|
3705
|
-
$queries = array();
|
3706
|
-
}
|
3707
|
-
foreach ($selected_usr as $each_user) {
|
3708
|
-
list($this_user, $this_host) = explode('&#27;', $each_user);
|
3709
|
-
$queries[] = '# '
|
3710
|
-
. sprintf(
|
3711
|
-
__('Deleting %s'),
|
3712
|
-
'\'' . $this_user . '\'@\'' . $this_host . '\''
|
3713
|
-
)
|
3714
|
-
. ' ...';
|
3715
|
-
$queries[] = 'DROP USER \''
|
3716
|
-
. PMA_Util::sqlAddSlashes($this_user)
|
3717
|
-
. '\'@\'' . PMA_Util::sqlAddSlashes($this_host) . '\';';
|
3718
|
-
|
3719
|
-
if (isset($_REQUEST['drop_users_db'])) {
|
3720
|
-
$queries[] = 'DROP DATABASE IF EXISTS '
|
3721
|
-
. PMA_Util::backquote($this_user) . ';';
|
3722
|
-
$GLOBALS['reload'] = true;
|
3723
|
-
}
|
3724
|
-
}
|
3725
|
-
return $queries;
|
3726
|
-
}
|
3727
|
-
|
3728
|
-
/**
|
3729
|
-
* update Message For Reload
|
3730
|
-
*
|
3731
|
-
* @return array
|
3732
|
-
*/
|
3733
|
-
function PMA_updateMessageForReload()
|
3734
|
-
{
|
3735
|
-
$message = null;
|
3736
|
-
if (isset($_REQUEST['flush_privileges'])) {
|
3737
|
-
$sql_query = 'FLUSH PRIVILEGES;';
|
3738
|
-
$GLOBALS['dbi']->query($sql_query);
|
3739
|
-
$message = PMA_Message::success(
|
3740
|
-
__('The privileges were reloaded successfully.')
|
3741
|
-
);
|
3742
|
-
}
|
3743
|
-
|
3744
|
-
if (isset($_REQUEST['validate_username'])) {
|
3745
|
-
$message = PMA_Message::success();
|
3746
|
-
}
|
3747
|
-
|
3748
|
-
return $message;
|
3749
|
-
}
|
3750
|
-
|
3751
|
-
/**
|
3752
|
-
* update Data For Queries from queries_for_display
|
3753
|
-
*
|
3754
|
-
* @param array $queries queries array
|
3755
|
-
* @param array|null $queries_for_display queries array for display
|
3756
|
-
*
|
3757
|
-
* @return null
|
3758
|
-
*/
|
3759
|
-
function PMA_getDataForQueries($queries, $queries_for_display)
|
3760
|
-
{
|
3761
|
-
$tmp_count = 0;
|
3762
|
-
foreach ($queries as $sql_query) {
|
3763
|
-
if ($sql_query{0} != '#') {
|
3764
|
-
$GLOBALS['dbi']->query($sql_query);
|
3765
|
-
}
|
3766
|
-
// when there is a query containing a hidden password, take it
|
3767
|
-
// instead of the real query sent
|
3768
|
-
if (isset($queries_for_display[$tmp_count])) {
|
3769
|
-
$queries[$tmp_count] = $queries_for_display[$tmp_count];
|
3770
|
-
}
|
3771
|
-
$tmp_count++;
|
3772
|
-
}
|
3773
|
-
|
3774
|
-
return $queries;
|
3775
|
-
}
|
3776
|
-
|
3777
|
-
/**
|
3778
|
-
* update Data for information: Adds a user
|
3779
|
-
*
|
3780
|
-
* @param string $dbname db name
|
3781
|
-
* @param string $username user name
|
3782
|
-
* @param string $hostname host name
|
3783
|
-
* @param string $password password
|
3784
|
-
* @param bool $is_menuwork is_menuwork set?
|
3785
|
-
*
|
3786
|
-
* @return array
|
3787
|
-
*/
|
3788
|
-
function PMA_addUser(
|
3789
|
-
$dbname, $username, $hostname,
|
3790
|
-
$password, $is_menuwork
|
3791
|
-
) {
|
3792
|
-
$_add_user_error = false;
|
3793
|
-
$message = null;
|
3794
|
-
$queries = null;
|
3795
|
-
$queries_for_display = null;
|
3796
|
-
$sql_query = null;
|
3797
|
-
|
3798
|
-
if (isset($_REQUEST['adduser_submit']) || isset($_REQUEST['change_copy'])) {
|
3799
|
-
$sql_query = '';
|
3800
|
-
if ($_POST['pred_username'] == 'any') {
|
3801
|
-
$username = '';
|
3802
|
-
}
|
3803
|
-
switch ($_POST['pred_hostname']) {
|
3804
|
-
case 'any':
|
3805
|
-
$hostname = '%';
|
3806
|
-
break;
|
3807
|
-
case 'localhost':
|
3808
|
-
$hostname = 'localhost';
|
3809
|
-
break;
|
3810
|
-
case 'hosttable':
|
3811
|
-
$hostname = '';
|
3812
|
-
break;
|
3813
|
-
case 'thishost':
|
3814
|
-
$_user_name = $GLOBALS['dbi']->fetchValue('SELECT USER()');
|
3815
|
-
$hostname = /*overload*/mb_substr(
|
3816
|
-
$_user_name,
|
3817
|
-
(/*overload*/mb_strrpos($_user_name, '@') + 1)
|
3818
|
-
);
|
3819
|
-
unset($_user_name);
|
3820
|
-
break;
|
3821
|
-
}
|
3822
|
-
$sql = "SELECT '1' FROM `mysql`.`user`"
|
3823
|
-
. " WHERE `User` = '" . PMA_Util::sqlAddSlashes($username) . "'"
|
3824
|
-
. " AND `Host` = '" . PMA_Util::sqlAddSlashes($hostname) . "';";
|
3825
|
-
if ($GLOBALS['dbi']->fetchValue($sql) == 1) {
|
3826
|
-
$message = PMA_Message::error(__('The user %s already exists!'));
|
3827
|
-
$message->addParam(
|
3828
|
-
'[em]\'' . $username . '\'@\'' . $hostname . '\'[/em]'
|
3829
|
-
);
|
3830
|
-
$_REQUEST['adduser'] = true;
|
3831
|
-
$_add_user_error = true;
|
3832
|
-
} else {
|
3833
|
-
list($create_user_real, $create_user_show, $real_sql_query, $sql_query)
|
3834
|
-
= PMA_getSqlQueriesForDisplayAndAddUser(
|
3835
|
-
$username, $hostname, (isset ($password) ? $password : '')
|
3836
|
-
);
|
3837
|
-
|
3838
|
-
if (empty($_REQUEST['change_copy'])) {
|
3839
|
-
$_error = false;
|
3840
|
-
|
3841
|
-
if (isset($create_user_real)) {
|
3842
|
-
if (! $GLOBALS['dbi']->tryQuery($create_user_real)) {
|
3843
|
-
$_error = true;
|
3844
|
-
}
|
3845
|
-
$sql_query = $create_user_show . $sql_query;
|
3846
|
-
}
|
3847
|
-
list($sql_query, $message) = PMA_addUserAndCreateDatabase(
|
3848
|
-
$_error, $real_sql_query, $sql_query, $username, $hostname,
|
3849
|
-
isset($dbname) ? $dbname : null
|
3850
|
-
);
|
3851
|
-
if (! empty($_REQUEST['userGroup']) && $is_menuwork) {
|
3852
|
-
PMA_setUserGroup($GLOBALS['username'], $_REQUEST['userGroup']);
|
3853
|
-
}
|
3854
|
-
|
3855
|
-
} else {
|
3856
|
-
if (isset($create_user_real)) {
|
3857
|
-
$queries[] = $create_user_real;
|
3858
|
-
}
|
3859
|
-
$queries[] = $real_sql_query;
|
3860
|
-
// we put the query containing the hidden password in
|
3861
|
-
// $queries_for_display, at the same position occupied
|
3862
|
-
// by the real query in $queries
|
3863
|
-
$tmp_count = count($queries);
|
3864
|
-
if (isset($create_user_real)) {
|
3865
|
-
$queries_for_display[$tmp_count - 2] = $create_user_show;
|
3866
|
-
}
|
3867
|
-
$queries_for_display[$tmp_count - 1] = $sql_query;
|
3868
|
-
}
|
3869
|
-
unset($real_sql_query);
|
3870
|
-
}
|
3871
|
-
}
|
3872
|
-
|
3873
|
-
return array(
|
3874
|
-
$message, $queries, $queries_for_display, $sql_query, $_add_user_error
|
3875
|
-
);
|
3876
|
-
}
|
3877
|
-
|
3878
|
-
/**
|
3879
|
-
* Update DB information: DB, Table, isWildcard
|
3880
|
-
*
|
3881
|
-
* @return array
|
3882
|
-
*/
|
3883
|
-
function PMA_getDataForDBInfo()
|
3884
|
-
{
|
3885
|
-
$username = null;
|
3886
|
-
$hostname = null;
|
3887
|
-
$dbname = null;
|
3888
|
-
$tablename = null;
|
3889
|
-
$dbname_is_wildcard = null;
|
3890
|
-
|
3891
|
-
if (isset ($_REQUEST['username'])) {
|
3892
|
-
$username = $_REQUEST['username'];
|
3893
|
-
}
|
3894
|
-
if (isset ($_REQUEST['hostname'])) {
|
3895
|
-
$hostname = $_REQUEST['hostname'];
|
3896
|
-
}
|
3897
|
-
/**
|
3898
|
-
* Checks if a dropdown box has been used for selecting a database / table
|
3899
|
-
*/
|
3900
|
-
if (PMA_isValid($_REQUEST['pred_tablename'])) {
|
3901
|
-
$tablename = $_REQUEST['pred_tablename'];
|
3902
|
-
} elseif (PMA_isValid($_REQUEST['tablename'])) {
|
3903
|
-
$tablename = $_REQUEST['tablename'];
|
3904
|
-
} else {
|
3905
|
-
unset($tablename);
|
3906
|
-
}
|
3907
|
-
|
3908
|
-
if (isset($_REQUEST['pred_dbname'])) {
|
3909
|
-
$is_valid_pred_dbname = true;
|
3910
|
-
foreach ($_REQUEST['pred_dbname'] as $key => $db_name) {
|
3911
|
-
if (! PMA_isValid($db_name)) {
|
3912
|
-
$is_valid_pred_dbname = false;
|
3913
|
-
break;
|
3914
|
-
}
|
3915
|
-
}
|
3916
|
-
}
|
3917
|
-
|
3918
|
-
if (isset($_REQUEST['dbname'])) {
|
3919
|
-
$is_valid_dbname = true;
|
3920
|
-
if (is_array($_REQUEST['dbname'])) {
|
3921
|
-
foreach ($_REQUEST['dbname'] as $key => $db_name) {
|
3922
|
-
if (! PMA_isValid($db_name)) {
|
3923
|
-
$is_valid_dbname = false;
|
3924
|
-
break;
|
3925
|
-
}
|
3926
|
-
}
|
3927
|
-
} else {
|
3928
|
-
if (! PMA_isValid($_REQUEST['dbname'])) {
|
3929
|
-
$is_valid_dbname = false;
|
3930
|
-
}
|
3931
|
-
}
|
3932
|
-
}
|
3933
|
-
|
3934
|
-
if (isset($is_valid_pred_dbname) && $is_valid_pred_dbname) {
|
3935
|
-
$dbname = $_REQUEST['pred_dbname'];
|
3936
|
-
// If dbname contains only one database.
|
3937
|
-
if (count($dbname) == 1) {
|
3938
|
-
$dbname = $dbname[0];
|
3939
|
-
}
|
3940
|
-
} elseif (isset($is_valid_dbname) && $is_valid_dbname) {
|
3941
|
-
$dbname = $_REQUEST['dbname'];
|
3942
|
-
} else {
|
3943
|
-
unset($dbname);
|
3944
|
-
unset($tablename);
|
3945
|
-
}
|
3946
|
-
|
3947
|
-
if (isset($dbname)) {
|
3948
|
-
if (is_array($dbname)) {
|
3949
|
-
$db_and_table = $dbname;
|
3950
|
-
foreach ($db_and_table as $key => $db_name) {
|
3951
|
-
$db_and_table[$key] .= '.';
|
3952
|
-
}
|
3953
|
-
} else {
|
3954
|
-
$unescaped_db = PMA_Util::unescapeMysqlWildcards($dbname);
|
3955
|
-
$db_and_table = PMA_Util::backquote($unescaped_db) . '.';
|
3956
|
-
}
|
3957
|
-
if (isset($tablename)) {
|
3958
|
-
$db_and_table .= PMA_Util::backquote($tablename);
|
3959
|
-
} else {
|
3960
|
-
if (is_array($db_and_table)) {
|
3961
|
-
foreach ($db_and_table as $key => $db_name) {
|
3962
|
-
$db_and_table[$key] .= '*';
|
3963
|
-
}
|
3964
|
-
} else {
|
3965
|
-
$db_and_table .= '*';
|
3966
|
-
}
|
3967
|
-
}
|
3968
|
-
} else {
|
3969
|
-
$db_and_table = '*.*';
|
3970
|
-
}
|
3971
|
-
|
3972
|
-
// check if given $dbname is a wildcard or not
|
3973
|
-
if (isset($dbname)) {
|
3974
|
-
//if (preg_match('/\\\\(?:_|%)/i', $dbname)) {
|
3975
|
-
if (! is_array($dbname) && preg_match('/(?<!\\\\)(?:_|%)/i', $dbname)) {
|
3976
|
-
$dbname_is_wildcard = true;
|
3977
|
-
} else {
|
3978
|
-
$dbname_is_wildcard = false;
|
3979
|
-
}
|
3980
|
-
}
|
3981
|
-
|
3982
|
-
return array(
|
3983
|
-
$username, $hostname,
|
3984
|
-
isset($dbname)? $dbname : null,
|
3985
|
-
isset($tablename)? $tablename : null,
|
3986
|
-
$db_and_table,
|
3987
|
-
$dbname_is_wildcard,
|
3988
|
-
);
|
3989
|
-
}
|
3990
|
-
|
3991
|
-
/**
|
3992
|
-
* Get title and textarea for export user definition in Privileges
|
3993
|
-
*
|
3994
|
-
* @param string $username username
|
3995
|
-
* @param string $hostname host name
|
3996
|
-
*
|
3997
|
-
* @return array ($title, $export)
|
3998
|
-
*/
|
3999
|
-
function PMA_getListForExportUserDefinition($username, $hostname)
|
4000
|
-
{
|
4001
|
-
$export = '<textarea class="export" cols="' . $GLOBALS['cfg']['TextareaCols']
|
4002
|
-
. '" rows="' . $GLOBALS['cfg']['TextareaRows'] . '">';
|
4003
|
-
|
4004
|
-
if (isset($_REQUEST['selected_usr'])) {
|
4005
|
-
// export privileges for selected users
|
4006
|
-
$title = __('Privileges');
|
4007
|
-
|
4008
|
-
foreach ($_REQUEST['selected_usr'] as $export_user) {
|
4009
|
-
$export_username = /*overload*/mb_substr(
|
4010
|
-
$export_user, 0, /*overload*/mb_strpos($export_user, '&')
|
4011
|
-
);
|
4012
|
-
$export_hostname = /*overload*/mb_substr(
|
4013
|
-
$export_user, /*overload*/mb_strrpos($export_user, ';') + 1
|
4014
|
-
);
|
4015
|
-
$export .= '# '
|
4016
|
-
. sprintf(
|
4017
|
-
__('Privileges for %s'),
|
4018
|
-
'`' . htmlspecialchars($export_username)
|
4019
|
-
. '`@`' . htmlspecialchars($export_hostname) . '`'
|
4020
|
-
)
|
4021
|
-
. "\n\n";
|
4022
|
-
$export .= PMA_getGrants($export_username, $export_hostname) . "\n";
|
4023
|
-
}
|
4024
|
-
} else {
|
4025
|
-
// export privileges for a single user
|
4026
|
-
$title = __('User') . ' `' . htmlspecialchars($username)
|
4027
|
-
. '`@`' . htmlspecialchars($hostname) . '`';
|
4028
|
-
$export .= PMA_getGrants($username, $hostname);
|
4029
|
-
}
|
4030
|
-
// remove trailing whitespace
|
4031
|
-
$export = trim($export);
|
4032
|
-
|
4033
|
-
$export .= '</textarea>';
|
4034
|
-
|
4035
|
-
return array($title, $export);
|
4036
|
-
}
|
4037
|
-
|
4038
|
-
/**
|
4039
|
-
* Get HTML for display Add userfieldset
|
4040
|
-
*
|
4041
|
-
* @param string $db the database
|
4042
|
-
* @param string $table the table name
|
4043
|
-
*
|
4044
|
-
* @return string html output
|
4045
|
-
*/
|
4046
|
-
function PMA_getAddUserHtmlFieldset($db = '', $table = '')
|
4047
|
-
{
|
4048
|
-
if (!$GLOBALS['is_createuser']) {
|
4049
|
-
return '';
|
4050
|
-
}
|
4051
|
-
$rel_params = array();
|
4052
|
-
$url_params = array(
|
4053
|
-
'adduser' => 1
|
4054
|
-
);
|
4055
|
-
if (!empty($db)) {
|
4056
|
-
$url_params['dbname']
|
4057
|
-
= $rel_params['checkprivsdb']
|
4058
|
-
= $db;
|
4059
|
-
}
|
4060
|
-
if (!empty($table)) {
|
4061
|
-
$url_params['tablename']
|
4062
|
-
= $rel_params['checkprivstable']
|
4063
|
-
= $table;
|
4064
|
-
}
|
4065
|
-
|
4066
|
-
return '<fieldset id="fieldset_add_user">' . "\n"
|
4067
|
-
. '<legend>' . _pgettext('Create new user', 'New') . '</legend>'
|
4068
|
-
. '<a id="add_user_anchor" href="server_privileges.php'
|
4069
|
-
. PMA_URL_getCommon($url_params) . '" '
|
4070
|
-
. (!empty($rel_params)
|
4071
|
-
? ('rel="' . PMA_URL_getCommon($rel_params) . '" ')
|
4072
|
-
: '')
|
4073
|
-
. '>' . "\n"
|
4074
|
-
. PMA_Util::getIcon('b_usradd.png')
|
4075
|
-
. ' ' . __('Add user') . '</a>' . "\n"
|
4076
|
-
. '</fieldset>' . "\n";
|
4077
|
-
}
|
4078
|
-
|
4079
|
-
/**
|
4080
|
-
* Get HTML header for display User's properties
|
4081
|
-
*
|
4082
|
-
* @param boolean $dbname_is_wildcard whether database name is wildcard or not
|
4083
|
-
* @param string $url_dbname url database name that urlencode() string
|
4084
|
-
* @param string $dbname database name
|
4085
|
-
* @param string $username username
|
4086
|
-
* @param string $hostname host name
|
4087
|
-
* @param string $tablename table name
|
4088
|
-
*
|
4089
|
-
* @return string $html_output
|
4090
|
-
*/
|
4091
|
-
function PMA_getHtmlHeaderForUserProperties(
|
4092
|
-
$dbname_is_wildcard, $url_dbname, $dbname, $username, $hostname, $tablename
|
4093
|
-
) {
|
4094
|
-
$html_output = '<h2>' . "\n"
|
4095
|
-
. PMA_Util::getIcon('b_usredit.png')
|
4096
|
-
. __('Edit Privileges:') . ' '
|
4097
|
-
. __('User');
|
4098
|
-
|
4099
|
-
if (! empty($dbname)) {
|
4100
|
-
$html_output .= ' <i><a class="edit_user_anchor"'
|
4101
|
-
. ' href="server_privileges.php'
|
4102
|
-
. PMA_URL_getCommon(
|
4103
|
-
array(
|
4104
|
-
'username' => $username,
|
4105
|
-
'hostname' => $hostname,
|
4106
|
-
'dbname' => '',
|
4107
|
-
'tablename' => '',
|
4108
|
-
)
|
4109
|
-
)
|
4110
|
-
. '">\'' . htmlspecialchars($username)
|
4111
|
-
. '\'@\'' . htmlspecialchars($hostname)
|
4112
|
-
. '\'</a></i>' . "\n";
|
4113
|
-
|
4114
|
-
$html_output .= ' - ';
|
4115
|
-
$html_output .= ($dbname_is_wildcard
|
4116
|
-
|| is_array($dbname) && count($dbname) > 1)
|
4117
|
-
? __('Databases') : __('Database');
|
4118
|
-
if (! empty($_REQUEST['tablename'])) {
|
4119
|
-
$html_output .= ' <i><a href="server_privileges.php'
|
4120
|
-
. PMA_URL_getCommon(
|
4121
|
-
array(
|
4122
|
-
'username' => $username,
|
4123
|
-
'hostname' => $hostname,
|
4124
|
-
'dbname' => $url_dbname,
|
4125
|
-
'tablename' => '',
|
4126
|
-
)
|
4127
|
-
)
|
4128
|
-
. '">' . htmlspecialchars($dbname)
|
4129
|
-
. '</a></i>';
|
4130
|
-
|
4131
|
-
$html_output .= ' - ' . __('Table')
|
4132
|
-
. ' <i>' . htmlspecialchars($tablename) . '</i>';
|
4133
|
-
} else {
|
4134
|
-
if (! is_array($dbname)) {
|
4135
|
-
$dbname = array($dbname);
|
4136
|
-
}
|
4137
|
-
$html_output .= ' <i>'
|
4138
|
-
. htmlspecialchars(implode(', ', $dbname))
|
4139
|
-
. '</i>';
|
4140
|
-
}
|
4141
|
-
|
4142
|
-
} else {
|
4143
|
-
$html_output .= ' <i>\'' . htmlspecialchars($username)
|
4144
|
-
. '\'@\'' . htmlspecialchars($hostname)
|
4145
|
-
. '\'</i>' . "\n";
|
4146
|
-
|
4147
|
-
}
|
4148
|
-
$html_output .= '</h2>' . "\n";
|
4149
|
-
$cur_user = htmlspecialchars($GLOBALS['dbi']->getCurrentUser());
|
4150
|
-
$user = htmlspecialchars($username . '@' . $hostname);
|
4151
|
-
// Add a short notice for the user
|
4152
|
-
// to remind him that he is editing his own privileges
|
4153
|
-
if ($user === $cur_user) {
|
4154
|
-
$html_output .= PMA_Message::notice(
|
4155
|
-
__(
|
4156
|
-
'Note: You are attempting to edit privileges of the '
|
4157
|
-
. 'user with which you are currently logged in.'
|
4158
|
-
)
|
4159
|
-
)->getDisplay();
|
4160
|
-
}
|
4161
|
-
return $html_output;
|
4162
|
-
}
|
4163
|
-
|
4164
|
-
/**
|
4165
|
-
* Get HTML snippet for display user overview page
|
4166
|
-
*
|
4167
|
-
* @param string $pmaThemeImage a image source link
|
4168
|
-
* @param string $text_dir text directory
|
4169
|
-
*
|
4170
|
-
* @return string $html_output
|
4171
|
-
*/
|
4172
|
-
function PMA_getHtmlForUserOverview($pmaThemeImage, $text_dir)
|
4173
|
-
{
|
4174
|
-
$html_output = '<h2>' . "\n"
|
4175
|
-
. PMA_Util::getIcon('b_usrlist.png')
|
4176
|
-
. __('Users overview') . "\n"
|
4177
|
-
. '</h2>' . "\n";
|
4178
|
-
|
4179
|
-
$password_column = 'Password';
|
4180
|
-
if (PMA_Util::getServerType() == 'MySQL'
|
4181
|
-
&& PMA_MYSQL_INT_VERSION >= 50706
|
4182
|
-
) {
|
4183
|
-
$password_column = 'authentication_string';
|
4184
|
-
}
|
4185
|
-
// $sql_query is for the initial-filtered,
|
4186
|
-
// $sql_query_all is for counting the total no. of users
|
4187
|
-
|
4188
|
-
$sql_query = $sql_query_all = 'SELECT *,' .
|
4189
|
-
" IF(`" . $password_column . "` = _latin1 '', 'N', 'Y') AS 'Password'" .
|
4190
|
-
' FROM `mysql`.`user`';
|
4191
|
-
|
4192
|
-
$sql_query .= (isset($_REQUEST['initial'])
|
4193
|
-
? PMA_rangeOfUsers($_REQUEST['initial'])
|
4194
|
-
: '');
|
4195
|
-
|
4196
|
-
$sql_query .= ' ORDER BY `User` ASC, `Host` ASC;';
|
4197
|
-
$sql_query_all .= ' ;';
|
4198
|
-
|
4199
|
-
$res = $GLOBALS['dbi']->tryQuery(
|
4200
|
-
$sql_query, null, PMA_DatabaseInterface::QUERY_STORE
|
4201
|
-
);
|
4202
|
-
$res_all = $GLOBALS['dbi']->tryQuery(
|
4203
|
-
$sql_query_all, null, PMA_DatabaseInterface::QUERY_STORE
|
4204
|
-
);
|
4205
|
-
|
4206
|
-
if (! $res) {
|
4207
|
-
// the query failed! This may have two reasons:
|
4208
|
-
// - the user does not have enough privileges
|
4209
|
-
// - the privilege tables use a structure of an earlier version.
|
4210
|
-
// so let's try a more simple query
|
4211
|
-
|
4212
|
-
$GLOBALS['dbi']->freeResult($res);
|
4213
|
-
$GLOBALS['dbi']->freeResult($res_all);
|
4214
|
-
$sql_query = 'SELECT * FROM `mysql`.`user`';
|
4215
|
-
$res = $GLOBALS['dbi']->tryQuery(
|
4216
|
-
$sql_query, null, PMA_DatabaseInterface::QUERY_STORE
|
4217
|
-
);
|
4218
|
-
|
4219
|
-
if (! $res) {
|
4220
|
-
$html_output .= PMA_getHtmlForViewUsersError();
|
4221
|
-
$html_output .= PMA_getAddUserHtmlFieldset();
|
4222
|
-
} else {
|
4223
|
-
// This message is hardcoded because I will replace it by
|
4224
|
-
// a automatic repair feature soon.
|
4225
|
-
$raw = 'Your privilege table structure seems to be older than'
|
4226
|
-
. ' this MySQL version!<br />'
|
4227
|
-
. 'Please run the <code>mysql_upgrade</code> command'
|
4228
|
-
. '(<code>mysql_fix_privilege_tables</code> on older systems)'
|
4229
|
-
. ' that should be included in your MySQL server distribution'
|
4230
|
-
. ' to solve this problem!';
|
4231
|
-
$html_output .= PMA_Message::rawError($raw)->getDisplay();
|
4232
|
-
}
|
4233
|
-
$GLOBALS['dbi']->freeResult($res);
|
4234
|
-
} else {
|
4235
|
-
$db_rights = PMA_getDbRightsForUserOverview();
|
4236
|
-
// for all initials, even non A-Z
|
4237
|
-
$array_initials = array();
|
4238
|
-
|
4239
|
-
/**
|
4240
|
-
* Displays the initials
|
4241
|
-
* Also not necessary if there is less than 20 privileges
|
4242
|
-
*/
|
4243
|
-
if ($GLOBALS['dbi']->numRows($res_all) > 20) {
|
4244
|
-
$html_output .= PMA_getHtmlForInitials($array_initials);
|
4245
|
-
}
|
4246
|
-
|
4247
|
-
/**
|
4248
|
-
* Display the user overview
|
4249
|
-
* (if less than 50 users, display them immediately)
|
4250
|
-
*/
|
4251
|
-
if (isset($_REQUEST['initial'])
|
4252
|
-
|| isset($_REQUEST['showall'])
|
4253
|
-
|| $GLOBALS['dbi']->numRows($res) < 50
|
4254
|
-
) {
|
4255
|
-
$html_output .= PMA_getUsersOverview(
|
4256
|
-
$res, $db_rights, $pmaThemeImage, $text_dir
|
4257
|
-
);
|
4258
|
-
} else {
|
4259
|
-
$html_output .= PMA_getAddUserHtmlFieldset();
|
4260
|
-
} // end if (display overview)
|
4261
|
-
|
4262
|
-
if (! $GLOBALS['is_ajax_request']
|
4263
|
-
|| ! empty($_REQUEST['ajax_page_request'])
|
4264
|
-
) {
|
4265
|
-
$flushnote = new PMA_Message(
|
4266
|
-
__(
|
4267
|
-
'Note: phpMyAdmin gets the users\' privileges directly '
|
4268
|
-
. 'from MySQL\'s privilege tables. The content of these tables '
|
4269
|
-
. 'may differ from the privileges the server uses, '
|
4270
|
-
. 'if they have been changed manually. In this case, '
|
4271
|
-
. 'you should %sreload the privileges%s before you continue.'
|
4272
|
-
),
|
4273
|
-
PMA_Message::NOTICE
|
4274
|
-
);
|
4275
|
-
$flushLink = '<a href="server_privileges.php'
|
4276
|
-
. PMA_URL_getCommon(array('flush_privileges' => 1))
|
4277
|
-
. '" id="reload_privileges_anchor">';
|
4278
|
-
$flushnote->addParam(
|
4279
|
-
$flushLink,
|
4280
|
-
false
|
4281
|
-
);
|
4282
|
-
$flushnote->addParam('</a>', false);
|
4283
|
-
$html_output .= $flushnote->getDisplay();
|
4284
|
-
}
|
4285
|
-
}
|
4286
|
-
|
4287
|
-
return $html_output;
|
4288
|
-
}
|
4289
|
-
|
4290
|
-
/**
|
4291
|
-
* Get HTML snippet for display user properties
|
4292
|
-
*
|
4293
|
-
* @param boolean $dbname_is_wildcard whether database name is wildcard or not
|
4294
|
-
* @param string $url_dbname url database name that urlencode() string
|
4295
|
-
* @param string $username username
|
4296
|
-
* @param string $hostname host name
|
4297
|
-
* @param string $dbname database name
|
4298
|
-
* @param string $tablename table name
|
4299
|
-
*
|
4300
|
-
* @return string $html_output
|
4301
|
-
*/
|
4302
|
-
function PMA_getHtmlForUserProperties($dbname_is_wildcard,$url_dbname,
|
4303
|
-
$username, $hostname, $dbname, $tablename
|
4304
|
-
) {
|
4305
|
-
$html_output = '<div id="edit_user_dialog">';
|
4306
|
-
$html_output .= PMA_getHtmlHeaderForUserProperties(
|
4307
|
-
$dbname_is_wildcard, $url_dbname, $dbname, $username, $hostname, $tablename
|
4308
|
-
);
|
4309
|
-
|
4310
|
-
$sql = "SELECT '1' FROM `mysql`.`user`"
|
4311
|
-
. " WHERE `User` = '" . PMA_Util::sqlAddSlashes($username) . "'"
|
4312
|
-
. " AND `Host` = '" . PMA_Util::sqlAddSlashes($hostname) . "';";
|
4313
|
-
|
4314
|
-
$user_does_not_exists = (bool) ! $GLOBALS['dbi']->fetchValue($sql);
|
4315
|
-
|
4316
|
-
if ($user_does_not_exists) {
|
4317
|
-
$html_output .= PMA_Message::error(
|
4318
|
-
__('The selected user was not found in the privilege table.')
|
4319
|
-
)->getDisplay();
|
4320
|
-
$html_output .= PMA_getHtmlForLoginInformationFields();
|
4321
|
-
//exit;
|
4322
|
-
}
|
4323
|
-
|
4324
|
-
$_params = array(
|
4325
|
-
'username' => $username,
|
4326
|
-
'hostname' => $hostname,
|
4327
|
-
);
|
4328
|
-
if (! is_array($dbname) && /*overload*/mb_strlen($dbname)) {
|
4329
|
-
$_params['dbname'] = $dbname;
|
4330
|
-
if (/*overload*/mb_strlen($tablename)) {
|
4331
|
-
$_params['tablename'] = $tablename;
|
4332
|
-
}
|
4333
|
-
} else {
|
4334
|
-
$_params['dbname'] = $dbname;
|
4335
|
-
}
|
4336
|
-
|
4337
|
-
$html_output .= '<form class="submenu-item" name="usersForm" '
|
4338
|
-
. 'id="addUsersForm" action="server_privileges.php" method="post">' . "\n";
|
4339
|
-
$html_output .= PMA_URL_getHiddenInputs($_params);
|
4340
|
-
$html_output .= PMA_getHtmlToDisplayPrivilegesTable(
|
4341
|
-
// If $dbname is an array, pass any one db as all have same privs.
|
4342
|
-
PMA_ifSetOr($dbname, (is_array($dbname)) ? $dbname[0] : '*', 'length'),
|
4343
|
-
PMA_ifSetOr($tablename, '*', 'length')
|
4344
|
-
);
|
4345
|
-
|
4346
|
-
$html_output .= '</form>' . "\n";
|
4347
|
-
|
4348
|
-
if (! is_array($dbname) && ! /*overload*/mb_strlen($tablename)
|
4349
|
-
&& empty($dbname_is_wildcard)
|
4350
|
-
) {
|
4351
|
-
|
4352
|
-
// no table name was given, display all table specific rights
|
4353
|
-
// but only if $dbname contains no wildcards
|
4354
|
-
|
4355
|
-
$html_output .= '<form class="submenu-item" action="server_privileges.php" '
|
4356
|
-
. 'id="db_or_table_specific_priv" method="post">' . "\n";
|
4357
|
-
|
4358
|
-
// unescape wildcards in dbname at table level
|
4359
|
-
$unescaped_db = PMA_Util::unescapeMysqlWildcards($dbname);
|
4360
|
-
list($html_rightsTable, $found_rows)
|
4361
|
-
= PMA_getHtmlForAllTableSpecificRights(
|
4362
|
-
$username, $hostname, $unescaped_db
|
4363
|
-
);
|
4364
|
-
$html_output .= $html_rightsTable;
|
4365
|
-
|
4366
|
-
if (! /*overload*/mb_strlen($dbname)) {
|
4367
|
-
// no database name was given, display select db
|
4368
|
-
$html_output .= PMA_getHtmlForSelectDbInEditPrivs($found_rows);
|
4369
|
-
|
4370
|
-
} else {
|
4371
|
-
$html_output .= PMA_displayTablesInEditPrivs($dbname, $found_rows);
|
4372
|
-
}
|
4373
|
-
$html_output .= '</fieldset>' . "\n";
|
4374
|
-
|
4375
|
-
$html_output .= '<fieldset class="tblFooters">' . "\n"
|
4376
|
-
. ' <input type="submit" value="' . __('Go') . '" />'
|
4377
|
-
. '</fieldset>' . "\n"
|
4378
|
-
. '</form>' . "\n";
|
4379
|
-
}
|
4380
|
-
|
4381
|
-
// Provide a line with links to the relevant database and table
|
4382
|
-
if (! is_array($dbname) && /*overload*/mb_strlen($dbname)
|
4383
|
-
&& empty($dbname_is_wildcard)
|
4384
|
-
) {
|
4385
|
-
$html_output .= PMA_getLinkToDbAndTable($url_dbname, $dbname, $tablename);
|
4386
|
-
|
4387
|
-
}
|
4388
|
-
|
4389
|
-
if (! is_array($dbname) && ! /*overload*/mb_strlen($dbname)
|
4390
|
-
&& ! $user_does_not_exists
|
4391
|
-
) {
|
4392
|
-
//change login information
|
4393
|
-
$html_output .= PMA_getHtmlForChangePassword($username, $hostname);
|
4394
|
-
$html_output .= PMA_getChangeLoginInformationHtmlForm($username, $hostname);
|
4395
|
-
}
|
4396
|
-
$html_output .= '</div>';
|
4397
|
-
|
4398
|
-
return $html_output;
|
4399
|
-
}
|
4400
|
-
|
4401
|
-
/**
|
4402
|
-
* Get queries for Table privileges to change or copy user
|
4403
|
-
*
|
4404
|
-
* @param string $user_host_condition user host condition to
|
4405
|
-
* select relevant table privileges
|
4406
|
-
* @param array $queries queries array
|
4407
|
-
* @param string $username username
|
4408
|
-
* @param string $hostname host name
|
4409
|
-
*
|
4410
|
-
* @return array $queries
|
4411
|
-
*/
|
4412
|
-
function PMA_getTablePrivsQueriesForChangeOrCopyUser($user_host_condition,
|
4413
|
-
$queries, $username, $hostname
|
4414
|
-
) {
|
4415
|
-
$res = $GLOBALS['dbi']->query(
|
4416
|
-
'SELECT `Db`, `Table_name`, `Table_priv` FROM `mysql`.`tables_priv`'
|
4417
|
-
. $user_host_condition,
|
4418
|
-
$GLOBALS['userlink'],
|
4419
|
-
PMA_DatabaseInterface::QUERY_STORE
|
4420
|
-
);
|
4421
|
-
while ($row = $GLOBALS['dbi']->fetchAssoc($res)) {
|
4422
|
-
|
4423
|
-
$res2 = $GLOBALS['dbi']->query(
|
4424
|
-
'SELECT `Column_name`, `Column_priv`'
|
4425
|
-
. ' FROM `mysql`.`columns_priv`'
|
4426
|
-
. ' WHERE `User`'
|
4427
|
-
. ' = \'' . PMA_Util::sqlAddSlashes($_REQUEST['old_username']) . "'"
|
4428
|
-
. ' AND `Host`'
|
4429
|
-
. ' = \'' . PMA_Util::sqlAddSlashes($_REQUEST['old_username']) . '\''
|
4430
|
-
. ' AND `Db`'
|
4431
|
-
. ' = \'' . PMA_Util::sqlAddSlashes($row['Db']) . "'"
|
4432
|
-
. ' AND `Table_name`'
|
4433
|
-
. ' = \'' . PMA_Util::sqlAddSlashes($row['Table_name']) . "'"
|
4434
|
-
. ';',
|
4435
|
-
null,
|
4436
|
-
PMA_DatabaseInterface::QUERY_STORE
|
4437
|
-
);
|
4438
|
-
|
4439
|
-
$tmp_privs1 = PMA_extractPrivInfo($row);
|
4440
|
-
$tmp_privs2 = array(
|
4441
|
-
'Select' => array(),
|
4442
|
-
'Insert' => array(),
|
4443
|
-
'Update' => array(),
|
4444
|
-
'References' => array()
|
4445
|
-
);
|
4446
|
-
|
4447
|
-
while ($row2 = $GLOBALS['dbi']->fetchAssoc($res2)) {
|
4448
|
-
$tmp_array = explode(',', $row2['Column_priv']);
|
4449
|
-
if (in_array('Select', $tmp_array)) {
|
4450
|
-
$tmp_privs2['Select'][] = $row2['Column_name'];
|
4451
|
-
}
|
4452
|
-
if (in_array('Insert', $tmp_array)) {
|
4453
|
-
$tmp_privs2['Insert'][] = $row2['Column_name'];
|
4454
|
-
}
|
4455
|
-
if (in_array('Update', $tmp_array)) {
|
4456
|
-
$tmp_privs2['Update'][] = $row2['Column_name'];
|
4457
|
-
}
|
4458
|
-
if (in_array('References', $tmp_array)) {
|
4459
|
-
$tmp_privs2['References'][] = $row2['Column_name'];
|
4460
|
-
}
|
4461
|
-
}
|
4462
|
-
if (count($tmp_privs2['Select']) > 0 && ! in_array('SELECT', $tmp_privs1)) {
|
4463
|
-
$tmp_privs1[] = 'SELECT (`' . join('`, `', $tmp_privs2['Select']) . '`)';
|
4464
|
-
}
|
4465
|
-
if (count($tmp_privs2['Insert']) > 0 && ! in_array('INSERT', $tmp_privs1)) {
|
4466
|
-
$tmp_privs1[] = 'INSERT (`' . join('`, `', $tmp_privs2['Insert']) . '`)';
|
4467
|
-
}
|
4468
|
-
if (count($tmp_privs2['Update']) > 0 && ! in_array('UPDATE', $tmp_privs1)) {
|
4469
|
-
$tmp_privs1[] = 'UPDATE (`' . join('`, `', $tmp_privs2['Update']) . '`)';
|
4470
|
-
}
|
4471
|
-
if (count($tmp_privs2['References']) > 0
|
4472
|
-
&& ! in_array('REFERENCES', $tmp_privs1)
|
4473
|
-
) {
|
4474
|
-
$tmp_privs1[]
|
4475
|
-
= 'REFERENCES (`' . join('`, `', $tmp_privs2['References']) . '`)';
|
4476
|
-
}
|
4477
|
-
|
4478
|
-
$queries[] = 'GRANT ' . join(', ', $tmp_privs1)
|
4479
|
-
. ' ON ' . PMA_Util::backquote($row['Db']) . '.'
|
4480
|
-
. PMA_Util::backquote($row['Table_name'])
|
4481
|
-
. ' TO \'' . PMA_Util::sqlAddSlashes($username)
|
4482
|
-
. '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\''
|
4483
|
-
. (in_array('Grant', explode(',', $row['Table_priv']))
|
4484
|
-
? ' WITH GRANT OPTION;'
|
4485
|
-
: ';');
|
4486
|
-
}
|
4487
|
-
return $queries;
|
4488
|
-
}
|
4489
|
-
|
4490
|
-
/**
|
4491
|
-
* Get queries for database specific privileges for change or copy user
|
4492
|
-
*
|
4493
|
-
* @param array $queries queries array with string
|
4494
|
-
* @param string $username username
|
4495
|
-
* @param string $hostname host name
|
4496
|
-
*
|
4497
|
-
* @return array $queries
|
4498
|
-
*/
|
4499
|
-
function PMA_getDbSpecificPrivsQueriesForChangeOrCopyUser(
|
4500
|
-
$queries, $username, $hostname
|
4501
|
-
) {
|
4502
|
-
$user_host_condition = ' WHERE `User`'
|
4503
|
-
. ' = \'' . PMA_Util::sqlAddSlashes($_REQUEST['old_username']) . "'"
|
4504
|
-
. ' AND `Host`'
|
4505
|
-
. ' = \'' . PMA_Util::sqlAddSlashes($_REQUEST['old_hostname']) . '\';';
|
4506
|
-
|
4507
|
-
$res = $GLOBALS['dbi']->query(
|
4508
|
-
'SELECT * FROM `mysql`.`db`' . $user_host_condition
|
4509
|
-
);
|
4510
|
-
|
4511
|
-
while ($row = $GLOBALS['dbi']->fetchAssoc($res)) {
|
4512
|
-
$queries[] = 'GRANT ' . join(', ', PMA_extractPrivInfo($row))
|
4513
|
-
. ' ON ' . PMA_Util::backquote($row['Db']) . '.*'
|
4514
|
-
. ' TO \'' . PMA_Util::sqlAddSlashes($username)
|
4515
|
-
. '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\''
|
4516
|
-
. ($row['Grant_priv'] == 'Y' ? ' WITH GRANT OPTION;' : ';');
|
4517
|
-
}
|
4518
|
-
$GLOBALS['dbi']->freeResult($res);
|
4519
|
-
|
4520
|
-
$queries = PMA_getTablePrivsQueriesForChangeOrCopyUser(
|
4521
|
-
$user_host_condition, $queries, $username, $hostname
|
4522
|
-
);
|
4523
|
-
|
4524
|
-
return $queries;
|
4525
|
-
}
|
4526
|
-
|
4527
|
-
/**
|
4528
|
-
* Prepares queries for adding users and
|
4529
|
-
* also create database and return query and message
|
4530
|
-
*
|
4531
|
-
* @param boolean $_error whether user create or not
|
4532
|
-
* @param string $real_sql_query SQL query for add a user
|
4533
|
-
* @param string $sql_query SQL query to be displayed
|
4534
|
-
* @param string $username username
|
4535
|
-
* @param string $hostname host name
|
4536
|
-
* @param string $dbname database name
|
4537
|
-
*
|
4538
|
-
* @return array $sql_query, $message
|
4539
|
-
*/
|
4540
|
-
function PMA_addUserAndCreateDatabase($_error, $real_sql_query, $sql_query,
|
4541
|
-
$username, $hostname, $dbname
|
4542
|
-
) {
|
4543
|
-
if ($_error || (!empty($real_sql_query)
|
4544
|
-
&& !$GLOBALS['dbi']->tryQuery($real_sql_query))
|
4545
|
-
) {
|
4546
|
-
$_REQUEST['createdb-1'] = $_REQUEST['createdb-2']
|
4547
|
-
= $_REQUEST['createdb-3'] = null;
|
4548
|
-
$message = PMA_Message::rawError($GLOBALS['dbi']->getError());
|
4549
|
-
} else {
|
4550
|
-
$message = PMA_Message::success(__('You have added a new user.'));
|
4551
|
-
}
|
4552
|
-
|
4553
|
-
if (isset($_REQUEST['createdb-1'])) {
|
4554
|
-
// Create database with same name and grant all privileges
|
4555
|
-
$q = 'CREATE DATABASE IF NOT EXISTS '
|
4556
|
-
. PMA_Util::backquote(
|
4557
|
-
PMA_Util::sqlAddSlashes($username)
|
4558
|
-
) . ';';
|
4559
|
-
$sql_query .= $q;
|
4560
|
-
if (! $GLOBALS['dbi']->tryQuery($q)) {
|
4561
|
-
$message = PMA_Message::rawError($GLOBALS['dbi']->getError());
|
4562
|
-
}
|
4563
|
-
|
4564
|
-
/**
|
4565
|
-
* Reload the navigation
|
4566
|
-
*/
|
4567
|
-
$GLOBALS['reload'] = true;
|
4568
|
-
$GLOBALS['db'] = $username;
|
4569
|
-
|
4570
|
-
$q = 'GRANT ALL PRIVILEGES ON '
|
4571
|
-
. PMA_Util::backquote(
|
4572
|
-
PMA_Util::escapeMysqlWildcards(
|
4573
|
-
PMA_Util::sqlAddSlashes($username)
|
4574
|
-
)
|
4575
|
-
) . '.* TO \''
|
4576
|
-
. PMA_Util::sqlAddSlashes($username)
|
4577
|
-
. '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\';';
|
4578
|
-
$sql_query .= $q;
|
4579
|
-
if (! $GLOBALS['dbi']->tryQuery($q)) {
|
4580
|
-
$message = PMA_Message::rawError($GLOBALS['dbi']->getError());
|
4581
|
-
}
|
4582
|
-
}
|
4583
|
-
|
4584
|
-
if (isset($_REQUEST['createdb-2'])) {
|
4585
|
-
// Grant all privileges on wildcard name (username\_%)
|
4586
|
-
$q = 'GRANT ALL PRIVILEGES ON '
|
4587
|
-
. PMA_Util::backquote(
|
4588
|
-
PMA_Util::sqlAddSlashes($username) . '\_%'
|
4589
|
-
) . '.* TO \''
|
4590
|
-
. PMA_Util::sqlAddSlashes($username)
|
4591
|
-
. '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\';';
|
4592
|
-
$sql_query .= $q;
|
4593
|
-
if (! $GLOBALS['dbi']->tryQuery($q)) {
|
4594
|
-
$message = PMA_Message::rawError($GLOBALS['dbi']->getError());
|
4595
|
-
}
|
4596
|
-
}
|
4597
|
-
|
4598
|
-
if (isset($_REQUEST['createdb-3'])) {
|
4599
|
-
// Grant all privileges on the specified database to the new user
|
4600
|
-
$q = 'GRANT ALL PRIVILEGES ON '
|
4601
|
-
. PMA_Util::backquote(
|
4602
|
-
PMA_Util::sqlAddSlashes($dbname)
|
4603
|
-
) . '.* TO \''
|
4604
|
-
. PMA_Util::sqlAddSlashes($username)
|
4605
|
-
. '\'@\'' . PMA_Util::sqlAddSlashes($hostname) . '\';';
|
4606
|
-
$sql_query .= $q;
|
4607
|
-
if (! $GLOBALS['dbi']->tryQuery($q)) {
|
4608
|
-
$message = PMA_Message::rawError($GLOBALS['dbi']->getError());
|
4609
|
-
}
|
4610
|
-
}
|
4611
|
-
return array($sql_query, $message);
|
4612
|
-
}
|
4613
|
-
|
4614
|
-
/**
|
4615
|
-
* Get SQL queries for Display and Add user
|
4616
|
-
*
|
4617
|
-
* @param string $username username
|
4618
|
-
* @param string $hostname host name
|
4619
|
-
* @param string $password password
|
4620
|
-
*
|
4621
|
-
* @return array ($create_user_real, $create_user_show,$real_sql_query, $sql_query)
|
4622
|
-
*/
|
4623
|
-
function PMA_getSqlQueriesForDisplayAndAddUser($username, $hostname, $password)
|
4624
|
-
{
|
4625
|
-
$create_user_real = 'CREATE USER \''
|
4626
|
-
. PMA_Util::sqlAddSlashes($username) . '\'@\''
|
4627
|
-
. PMA_Util::sqlAddSlashes($hostname) . '\'';
|
4628
|
-
|
4629
|
-
$real_sql_query = 'GRANT ' . join(', ', PMA_extractPrivInfo()) . ' ON *.* TO \''
|
4630
|
-
. PMA_Util::sqlAddSlashes($username) . '\'@\''
|
4631
|
-
. PMA_Util::sqlAddSlashes($hostname) . '\'';
|
4632
|
-
|
4633
|
-
if ($_POST['pred_password'] != 'none' && $_POST['pred_password'] != 'keep') {
|
4634
|
-
$sql_query = $real_sql_query;
|
4635
|
-
// Requires SELECT privilege on mysql database
|
4636
|
-
// for using this with GRANT queries. It can be skipped.
|
4637
|
-
if ($GLOBALS['is_superuser']) {
|
4638
|
-
$sql_query .= ' IDENTIFIED BY \'***\'';
|
4639
|
-
$real_sql_query .= ' IDENTIFIED BY \''
|
4640
|
-
. PMA_Util::sqlAddSlashes($_POST['pma_pw']) . '\'';
|
4641
|
-
}
|
4642
|
-
if (isset($create_user_real)) {
|
4643
|
-
$create_user_show = $create_user_real . ' IDENTIFIED BY \'***\'';
|
4644
|
-
$create_user_real .= ' IDENTIFIED BY \''
|
4645
|
-
. PMA_Util::sqlAddSlashes($_POST['pma_pw']) . '\'';
|
4646
|
-
}
|
4647
|
-
} else {
|
4648
|
-
if ($_POST['pred_password'] == 'keep' && ! empty($password)) {
|
4649
|
-
$real_sql_query .= ' IDENTIFIED BY PASSWORD \'' . $password . '\'';
|
4650
|
-
if (isset($create_user_real)) {
|
4651
|
-
$create_user_real .= ' IDENTIFIED BY PASSWORD \'' . $password . '\'';
|
4652
|
-
}
|
4653
|
-
}
|
4654
|
-
$sql_query = $real_sql_query;
|
4655
|
-
if (isset($create_user_real)) {
|
4656
|
-
$create_user_show = $create_user_real;
|
4657
|
-
}
|
4658
|
-
}
|
4659
|
-
|
4660
|
-
// add REQUIRE clause
|
4661
|
-
$require_clause = PMA_getRequireClause();
|
4662
|
-
$real_sql_query .= $require_clause;
|
4663
|
-
$sql_query .= $require_clause;
|
4664
|
-
|
4665
|
-
if ((isset($_POST['Grant_priv']) && $_POST['Grant_priv'] == 'Y')
|
4666
|
-
|| (isset($_POST['max_questions']) || isset($_POST['max_connections'])
|
4667
|
-
|| isset($_POST['max_updates']) || isset($_POST['max_user_connections']))
|
4668
|
-
) {
|
4669
|
-
$with_clause = PMA_getWithClauseForAddUserAndUpdatePrivs();
|
4670
|
-
$real_sql_query .= $with_clause;
|
4671
|
-
$sql_query .= $with_clause;
|
4672
|
-
}
|
4673
|
-
|
4674
|
-
if (isset($create_user_real)) {
|
4675
|
-
$create_user_real .= ';';
|
4676
|
-
$create_user_show .= ';';
|
4677
|
-
}
|
4678
|
-
$real_sql_query .= ';';
|
4679
|
-
$sql_query .= ';';
|
4680
|
-
// No Global GRANT_OPTION privilege
|
4681
|
-
if (!$GLOBALS['is_grantuser']) {
|
4682
|
-
$real_sql_query = '';
|
4683
|
-
$sql_query = '';
|
4684
|
-
}
|
4685
|
-
|
4686
|
-
return array($create_user_real,
|
4687
|
-
$create_user_show,
|
4688
|
-
$real_sql_query,
|
4689
|
-
$sql_query
|
4690
|
-
);
|
4691
|
-
}
|
4692
|
-
?>
|